{"_id":"@ariesli/deepseek-vision-mcp","name":"@ariesli/deepseek-vision-mcp","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ariesli/deepseek-vision-mcp","version":"0.1.0","description":"MCP server that calls the Gemini vision model (default gemini-3.5-flash) to analyze images.","type":"module","main":"dist/index.js","bin":{"deepseek-vision-mcp":"dist/index.js"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","start":"node dist/index.js","dev":"tsx src/index.ts","test":"node dist/smoke-test.js"},"engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"^1.30.0","zod":"^4.4.3"},"devDependencies":{"@types/node":"^26.1.2","tsx":"^4.23.9","typescript":"^7.0.2"},"repository":{"type":"git","url":"git+https://github.com/arieslee/deepseek-vision-mcp.git"},"keywords":["mcp","modelcontextprotocol","gemini","vision","image-recognizer"],"license":"MIT","author":{"name":"ariesli"},"_id":"@ariesli/deepseek-vision-mcp@0.1.0","gitHead":"f881ee67f2bc4e3d7087af08630774e1fa970644","bugs":{"url":"https://github.com/arieslee/deepseek-vision-mcp/issues"},"homepage":"https://github.com/arieslee/deepseek-vision-mcp#readme","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-FZIqZ88wmOo9QpyrcEdQnGenCSZt+Xg0eZKDAeb0iMBVop0bAAuj4DeKMtE9Xe+z+SAfNul4nQBjOhLq/ScfYA==","shasum":"4362bb519581858b6039e58321bc0e71f7f490de","tarball":"https://registry.npmjs.org/@ariesli/deepseek-vision-mcp/-/deepseek-vision-mcp-0.1.0.tgz","fileCount":5,"unpackedSize":20772,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBiCUIhjA2xW9VDntcqlLwRyTxqK8yusRVthQWKb+n3dAiAth00B3x8uBxAOyvuGpqqDWQWLz2t/x62fLyN0Cdr0Xg=="}]},"_npmUser":{"name":"ariesli","email":"i@liming.me"},"directories":{},"maintainers":[{"name":"ariesli","email":"i@liming.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepseek-vision-mcp_0.1.0_1786072826451_0.6985595470320387"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-07T03:20:26.325Z","0.1.0":"2026-08-07T03:20:26.601Z","modified":"2026-08-07T03:20:26.785Z"},"maintainers":[{"name":"ariesli","email":"i@liming.me"}],"description":"MCP server that calls the Gemini vision model (default gemini-3.5-flash) to analyze images.","homepage":"https://github.com/arieslee/deepseek-vision-mcp#readme","keywords":["mcp","modelcontextprotocol","gemini","vision","image-recognizer"],"repository":{"type":"git","url":"git+https://github.com/arieslee/deepseek-vision-mcp.git"},"author":{"name":"ariesli"},"bugs":{"url":"https://github.com/arieslee/deepseek-vision-mcp/issues"},"license":"MIT","readme":"# deepseek-vision-mcp\n\n一个基于 TypeScript 的 [MCP](https://modelcontextprotocol.io)（Model Context Protocol）服务器，封装 Gemini 视觉模型，用于图片分析。默认模型 `gemini-3.5-flash`，可通过环境变量覆盖。\n\n## 功能\n\n- 暴露 `analyze_image` 工具，调用 Gemini 视觉模型返回文本结果\n- 图片来源支持三种：\n  - 本地文件路径（如 `C:\\photos\\a.png`、`./a.jpg`）\n  - http(s) 图片 URL（自动下载）\n  - base64 data URI（`data:image/png;base64,xxxx`）\n- 模型名、API Key、端点全部通过环境变量配置，代码中不硬编码任何密钥\n\n## 环境变量（配置你的 API Key）\n\n| 变量 | 必填 | 说明 |\n| --- | --- | --- |\n| `GEMINI_API_KEY` | ✅ 必填 | 你的 Gemini API Key，从 <https://aistudio.google.com/apikey> 获取 |\n| `GEMINI_MODEL` | 可选 | 模型 ID，默认 `gemini-3.5-flash` |\n| `GEMINI_API_BASE` | 可选 | API 端点，默认 `https://generativelanguage.googleapis.com/v1beta` |\n\n## 安装与构建\n\n```bash\nnpm install\nnpm run build   # 产物在 dist/index.js\n```\n\n## 一键脚本安装（Windows，推荐）\n\n仓库根目录自带 `install.ps1`，一条命令完成：克隆/更新代码 → `npm install` → `npm run build` → 生成 `.env` 模板 → 打印 MCP 注册配置与 skill 安装命令。\n\n**一条命令（PowerShell 5.1+，推荐）**：\n\n```powershell\nirm 'https://raw.githubusercontent.com/arieslee/deepseek-vision-mcp/main/install.ps1' | iex\n```\n\n> 注意：这会在**当前目录**下创建 `deepseek-vision-mcp` 文件夹并安装。执行远程脚本前请确认来源可信（内容可在 GitHub 上审阅）。\n\n需要自定义参数（如指定安装目录）时，下载到本地运行：\n\n```powershell\nInvoke-WebRequest -Uri \"https://raw.githubusercontent.com/arieslee/deepseek-vision-mcp/main/install.ps1\" -OutFile install.ps1\n./install.ps1 -InstallDir D:\\tools\\deepseek-vision-mcp\n```\n\n常用参数：\n\n```powershell\n./install.ps1 -InstallDir D:\\tools\\deepseek-vision-mcp   # 指定安装目录\n./install.ps1 -SkipClone                                  # 目录已存在，只重新构建\n```\n\n## npm 安装（npx 即用，最方便）\n\n> **命名说明**：npm 全局名 `deepseek-vision-mcp` 已被他人占用（另一个视觉 MCP server），因此使用**作用域包 `@ariesli/deepseek-vision-mcp`**——名字一致、归本仓库作者所有，`npx` 用法不变。\n\n```bash\n# 全局安装\nnpm install -g @ariesli/deepseek-vision-mcp\n```\n\nMCP 客户端配置（无需 clone，`npx` 直接运行，env 注入 Key；或在你工作目录放一个 `.env` 写入 `GEMINI_API_KEY=你的Key`，server 会自动读取 cwd 下的 `.env`）：\n\n```json\n{\n  \"mcpServers\": {\n    \"deepseek-vision-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ariesli/deepseek-vision-mcp\"],\n      \"env\": { \"GEMINI_API_KEY\": \"你的_API_Key\" }\n    }\n  }\n}\n```\n\n> ✅ **已发布**：`@ariesli/deepseek-vision-mcp@0.1.0` 已在 npm 上架，以上配置可直接使用（`npm view @ariesli/deepseek-vision-mcp` 可查）。\n\n## 从 GitHub 安装（手动方式，分发到其他机器 / 项目）\n\n### 1. 获取代码\n\n```bash\ngit clone https://github.com/arieslee/deepseek-vision-mcp.git\ncd deepseek-vision-mcp\nnpm install\nnpm run build\n```\n\n### 2. 配置 API Key\n\n复制 `.env.example` 为 `.env`，填入你的 Key（`.env` 已被 git 忽略，不会误提交）：\n\n```\nGEMINI_API_KEY=你的_API_Key\n```\n\n### 3. 注册 MCP server 到客户端\n\n参考上文「在 MCP 客户端中配置」，`command: node`，`args: [<克隆路径>\\dist\\index.js]`。\n\n### 4. 安装 vision skill（Reasonix）\n\n仓库内自带 `skills/vision/SKILL.md`，两种安装方式任选：\n\n- 从仓库根安装（自动识别 skill）：\n  ```\n  install_source source=https://github.com/arieslee/deepseek-vision-mcp\n  ```\n- 或直接安装 raw 文件：\n  ```\n  install_source source=https://raw.githubusercontent.com/arieslee/deepseek-vision-mcp/main/skills/vision/SKILL.md\n  ```\n\n装好后即可在 Reasonix 中说「识别这张图片」使用。skill 定位项目目录的顺序：`VISION_MCP_DIR` 环境变量 → 当前目录/父目录含 `scripts/analyze-image.mjs` → skill 自身位置向上推断 → 常见位置查找 → 询问用户。\n\n## 在 MCP 客户端中配置\n\n### Claude Desktop\n\n编辑 `claude_desktop_config.json`（Windows 位于 `%APPDATA%\\Claude\\claude_desktop_config.json`），添加：\n\n```json\n{\n  \"mcpServers\": {\n    \"gemini-vision\": {\n      \"command\": \"node\",\n      \"args\": [\"C:\\\\path\\\\to\\\\deepseek-vision-mcp\\\\dist\\\\index.js\"],\n      \"env\": {\n        \"GEMINI_API_KEY\": \"你的_API_Key\",\n        \"GEMINI_MODEL\": \"gemini-3.5-flash\"\n      }\n    }\n  }\n}\n```\n\n> 路径请换成你实际的 `dist/index.js` 绝对路径；Windows 下反斜杠需写成 `\\\\`。\n\n### Cursor / 其他支持 stdio MCP 的客户端\n\n在客户端的 MCP 配置里注册同样的 server，env 中带上 `GEMINI_API_KEY` 即可。\n\n### 命令行直接运行（调试）\n\nPowerShell：\n\n```powershell\n$env:GEMINI_API_KEY = \"你的_API_Key\"\n$env:GEMINI_MODEL = \"gemini-3.5-flash\"\nnode dist/index.js\n```\n\n## 工具说明\n\n### `analyze_image`\n\n| 参数 | 类型 | 必填 | 说明 |\n| --- | --- | --- | --- |\n| `image` | string | ✅ | 本地文件路径 / http(s) URL / base64 data URI |\n| `prompt` | string | 否 | 分析指令，默认「请详细描述这张图片的内容」 |\n| `maxTokens` | number | 否 | 最大输出 token 数，默认 1024，最大 8192 |\n\n返回值：模型的文本回答；出错时返回 `isError: true` 并附错误信息。\n\n## 作为 vision skill 使用\n\n本项目已封装为 `vision` skill（识别图片统一入口）。在 Reasonix 中直接说「识别这张图片」并给出图片位置即可，agent 会自动调用：\n\n```powershell\n# 等价于手动运行（底层通过 stdio MCP 协议调用上面的 analyze_image 工具）\nnode scripts\\analyze-image.mjs \"<图片路径或URL>\" \"<可选的识别指令>\"\n```\n\n- 图片来源同样支持本地路径 / http(s) URL / base64 data URI\n- 仍需先配置 `GEMINI_API_KEY`（同上文环境变量）\n\n## 开发命令\n\n```bash\nnpm run dev    # tsx 直接运行源码（开发）\nnpm test       # 端到端冒烟测试（不调用真实 API，验证握手 / 工具注册 / 无 Key 错误路径）\n```\n","readmeFilename":"README.md","_rev":"1-555c895e0b6e5c92a16cab7f9df3c8d9"}