{"_id":"@antarose/mcp-vision","_rev":"13-d41ff2cf555c840cd74d46234b1685bf","name":"@antarose/mcp-vision","dist-tags":{"latest":"1.0.15"},"versions":{"1.0.7":{"name":"@antarose/mcp-vision","version":"1.0.7","keywords":["mcp","model-context-protocol","image-analysis","cloudflare","vision","ai","workers-ai","llama","pokemon","anime","machine-learning","computer-vision","npx","cli"],"author":{"name":"Antarose"},"license":"MIT","_id":"@antarose/mcp-vision@1.0.7","maintainers":[{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"}],"bin":{"mcp-vision":"dist/index.js","iflow-mcp-vision":"bin/iflow-mcp-vision.js"},"dist":{"shasum":"c1546230cdef29c9aea8d492d0089f230a473e3e","tarball":"https://registry.npmjs.org/@antarose/mcp-vision/-/mcp-vision-1.0.7.tgz","fileCount":26,"integrity":"sha512-j6+nOQpaumQJQBql/bxoaVtn1wIcfgbgp2eylhAkQ/orP4vSNT1FaBgS0FgRLUntHDP8tPh5vOt4z2YAh24OTA==","signatures":[{"sig":"MEUCIAGqRAdXWRze8quASWIK7O7oG9fqAOePb9iAvPmwbuAtAiEA1rqHkSPTHeJzXAxsYxXh2GL52IYHRa5emmSxlIcuDZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80058},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","typecheck":"tsc --noEmit","postpublish":"echo '🎉 Package published successfully!'","prepublishOnly":"npm run build && npm run typecheck"},"_npmUser":{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"},"_npmVersion":"11.2.0","description":"🔍 MCP server for image analysis using Cloudflare Workers AI (Llama 3.2 Vision) - Analyze images with structured JSON output","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","sharp":"^0.32.6","dotenv":"^16.6.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","jest":"^29.0.0","eslint":"^8.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-vision_1.0.7_1758896136819_0.5772031076471753","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@antarose/mcp-vision","version":"1.0.8","keywords":["mcp","model-context-protocol","image-analysis","cloudflare","vision","ai","workers-ai","llama","pokemon","anime","machine-learning","computer-vision","npx","cli"],"author":{"name":"Antarose"},"license":"MIT","_id":"@antarose/mcp-vision@1.0.8","maintainers":[{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"}],"bin":{"mcp-vision":"dist/index.js","iflow-mcp-vision":"bin/iflow-mcp-vision.js"},"dist":{"shasum":"0fadaa8215389b9467e437e630ec3d42ac7cdeaa","tarball":"https://registry.npmjs.org/@antarose/mcp-vision/-/mcp-vision-1.0.8.tgz","fileCount":26,"integrity":"sha512-hue+znXlkwHfi4ue3o89V6eN7BeYcacWYCQaaRq+1P9sZBZiESsTbsH0dwScYqlDDkMBQW7Pf2JFwXQ0l5MdKA==","signatures":[{"sig":"MEUCIQD6InPIITDQrM9nnIG1xqJSiNdjl7flayzQs6jS2RJlLQIgNrTCEqxuhaTHDj6YnQC5tFB8OqNE1kJOGoPANytFl2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80852},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","typecheck":"tsc --noEmit","postpublish":"echo '🎉 Package published successfully!'","prepublishOnly":"npm run build && npm run typecheck"},"_npmUser":{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"},"_npmVersion":"11.2.0","description":"🔍 MCP server for image analysis using Cloudflare Workers AI (Llama 3.2 Vision) - Analyze images with structured JSON output","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","sharp":"^0.32.6","dotenv":"^16.6.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","jest":"^29.0.0","eslint":"^8.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-vision_1.0.8_1758896253137_0.7409746088164797","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@antarose/mcp-vision","version":"1.0.9","keywords":["mcp","model-context-protocol","image-analysis","cloudflare","vision","ai","workers-ai","llama","pokemon","anime","machine-learning","computer-vision","npx","cli"],"author":{"name":"Antarose"},"license":"MIT","_id":"@antarose/mcp-vision@1.0.9","maintainers":[{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"}],"bin":{"mcp-vision":"dist/index.js","iflow-mcp-vision":"bin/iflow-mcp-vision.js"},"dist":{"shasum":"46be2cfbd390ba0100a3ffbb8986fd86254d60ce","tarball":"https://registry.npmjs.org/@antarose/mcp-vision/-/mcp-vision-1.0.9.tgz","fileCount":26,"integrity":"sha512-M0vhTEj8wa/sF+omOneDqjjmOJq2vFAnxT7Tuqm7UZ4tHyGtSVsV4OdLaXu++orXjNwAySLf5B0OAD0dbke0Nw==","signatures":[{"sig":"MEQCIDN0Sc6KSaEDKvnT7ynsSA/t0Mi3N6QP9q4Ede4+5K2yAiAxk5SN55zHq9H0nbaWp234lSk8IEWceY0R9tH/qmrPqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81268},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","typecheck":"tsc --noEmit","postpublish":"echo '🎉 Package published successfully!'","prepublishOnly":"npm run build && npm run typecheck"},"_npmUser":{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"},"_npmVersion":"11.2.0","description":"🔍 MCP server for image analysis using Cloudflare Workers AI (Llama 3.2 Vision) - Analyze images with structured JSON output","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","sharp":"^0.32.6","dotenv":"^16.6.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","jest":"^29.0.0","eslint":"^8.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-vision_1.0.9_1758896463453_0.6665636691759573","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@antarose/mcp-vision","version":"1.0.10","keywords":["mcp","model-context-protocol","image-analysis","cloudflare","vision","ai","workers-ai","llama","pokemon","anime","machine-learning","computer-vision","npx","cli"],"author":{"name":"Antarose"},"license":"MIT","_id":"@antarose/mcp-vision@1.0.10","maintainers":[{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"}],"bin":{"mcp-vision":"dist/index.js","iflow-mcp-vision":"bin/iflow-mcp-vision.js"},"dist":{"shasum":"80e80f04a0b030f999e8a33a923b1afa52e7bf9b","tarball":"https://registry.npmjs.org/@antarose/mcp-vision/-/mcp-vision-1.0.10.tgz","fileCount":26,"integrity":"sha512-3+4Vok/V7BJxBzdk5ahpNWJeL/wXzrHES2hmySv5DJ4wGdkB7x05+ca9An5c54RuH97rs8QfuqyCtyDyZEnmvw==","signatures":[{"sig":"MEYCIQDj+VICG2I2RcmPlmfKnAOA1Ef9F2E35NoOyMRTTBRghQIhAM0rySZ3HT0skD8nYg9hRoY7Z4YRPiuImAYCqzG4t6nM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81278},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","typecheck":"tsc --noEmit","postpublish":"echo '🎉 Package published successfully!'","prepublishOnly":"npm run build && npm run typecheck"},"_npmUser":{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"},"_npmVersion":"11.2.0","description":"🔍 MCP server for image analysis using Cloudflare Workers AI (Llama 3.2 Vision) - Analyze images with structured JSON output","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","sharp":"^0.32.6","dotenv":"^16.6.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","jest":"^29.0.0","eslint":"^8.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-vision_1.0.10_1758896648009_0.9316756378252238","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@antarose/mcp-vision","version":"1.0.12","keywords":["mcp","model-context-protocol","image-analysis","cloudflare","vision","ai","workers-ai","llama","pokemon","anime","machine-learning","computer-vision","npx","cli"],"author":{"name":"Antarose"},"license":"MIT","_id":"@antarose/mcp-vision@1.0.12","maintainers":[{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"}],"bin":{"mcp-vision":"dist/index.js","iflow-mcp-vision":"bin/iflow-mcp-vision.js"},"dist":{"shasum":"0b329e9acd9b448fbb8da9bbde616ec8e1a9cb9c","tarball":"https://registry.npmjs.org/@antarose/mcp-vision/-/mcp-vision-1.0.12.tgz","fileCount":26,"integrity":"sha512-syuYbsxfwsCRp8DKfqMsUEw2p7xcbgl24M8jqM+6b2+Qh11hpvUNhXfXf4lfwzBi8E8caBkxEL8z/K17DCapNw==","signatures":[{"sig":"MEUCIEGh4TdbjfZO3+yJgA+2Z+2TCfNPwrF6QIk9y9Vu2t/yAiEAyNbh5dbwgXHBIXpahWj7m+XbJQnhSsYKRUr4EUxlQ+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81432},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","typecheck":"tsc --noEmit","postpublish":"echo '🎉 Package published successfully!'","prepublishOnly":"npm run build && npm run typecheck"},"_npmUser":{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"},"_npmVersion":"11.2.0","description":"🔍 MCP server for image analysis using Cloudflare Workers AI (Llama 3.2 Vision) - Analyze images with structured JSON output","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","sharp":"^0.32.6","dotenv":"^16.6.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","jest":"^29.0.0","eslint":"^8.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-vision_1.0.12_1758896947627_0.08894817392837373","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@antarose/mcp-vision","version":"1.0.13","keywords":["mcp","model-context-protocol","image-analysis","cloudflare","vision","ai","workers-ai","llama","pokemon","anime","machine-learning","computer-vision","npx","cli"],"author":{"name":"Antarose"},"license":"MIT","_id":"@antarose/mcp-vision@1.0.13","maintainers":[{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"}],"bin":{"mcp-vision":"dist/index.js","iflow-mcp-vision":"bin/iflow-mcp-vision.js","antarose-mcp-vision":"dist/index.js"},"dist":{"shasum":"cc3696f54bc5742356b90eb393f01d41dd666e3f","tarball":"https://registry.npmjs.org/@antarose/mcp-vision/-/mcp-vision-1.0.13.tgz","fileCount":26,"integrity":"sha512-bJhKg3Qt+KVzKaPfJcNPDc9t9g4/7P1tIOgV/IYW9Fj9TkWB4JvX472KkwIFdf4F+D2So5/V8TSxzwH6VMpN3Q==","signatures":[{"sig":"MEYCIQC60jfjc+7hcslzTsjx+HINgNNwhUp4QeOfzwu0OJUWxAIhALAC3+JEn6tyP7eaYoDLTySymV04NK8jV0ZhBwdGWFLa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81476},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","typecheck":"tsc --noEmit","postpublish":"echo '🎉 Package published successfully!'","prepublishOnly":"npm run build && npm run typecheck"},"_npmUser":{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"},"_npmVersion":"11.2.0","description":"🔍 MCP server for image analysis using Cloudflare Workers AI (Llama 3.2 Vision) - Analyze images with structured JSON output","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","sharp":"^0.32.6","dotenv":"^16.6.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","jest":"^29.0.0","eslint":"^8.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-vision_1.0.13_1758897750103_0.7038246977453999","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@antarose/mcp-vision","version":"1.0.14","keywords":["mcp","model-context-protocol","image-analysis","cloudflare","vision","ai","workers-ai","llama","pokemon","anime","machine-learning","computer-vision","npx","cli"],"author":{"name":"Antarose"},"license":"MIT","_id":"@antarose/mcp-vision@1.0.14","maintainers":[{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"}],"bin":{"mcp-vision":"dist/index.js"},"dist":{"shasum":"0f08c0f5476dfa1d1684e713487219d2cd3a92f9","tarball":"https://registry.npmjs.org/@antarose/mcp-vision/-/mcp-vision-1.0.14.tgz","fileCount":26,"integrity":"sha512-1e3g2D6CVmlclH9943JaivEVOcTdgnBQxLQvtf9ahfnQYUj3yLTZj0twnAypBS0ew7NX49hyhr3yjeBTx6/22A==","signatures":[{"sig":"MEYCIQCsgWUMSm/xjbFmTPWIWZz7k+sloODo0ME2YrDkAi4+1QIhAPhov5wTKSGo8DZOMz8OcjNPyN2ZYnNt6rKxPczSV4C0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81357},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","typecheck":"tsc --noEmit","postpublish":"echo '🎉 Package published successfully!'","prepublishOnly":"npm run build && npm run typecheck"},"_npmUser":{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"},"_npmVersion":"11.2.0","description":"🔍 MCP server for image analysis using Cloudflare Workers AI (Llama 3.2 Vision) - Analyze images with structured JSON output","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","sharp":"^0.32.6","dotenv":"^16.6.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","jest":"^29.0.0","eslint":"^8.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-vision_1.0.14_1758897783673_0.32088739142913325","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@antarose/mcp-vision","version":"1.0.15","description":"🔍 MCP server for image analysis using Cloudflare Workers AI (Llama 3.2 Vision) - Analyze images with structured JSON output","main":"dist/index.js","bin":{"mcp-vision":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsx src/index.ts","start":"node dist/index.js","test":"jest","lint":"eslint src --ext .ts","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm run typecheck","postpublish":"echo '🎉 Package published successfully!'"},"keywords":["mcp","model-context-protocol","image-analysis","cloudflare","vision","ai","workers-ai","llama","pokemon","anime","machine-learning","computer-vision","npx","cli"],"author":{"name":"Antarose"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","dotenv":"^16.6.1","node-fetch":"^3.3.2","sharp":"^0.32.6","zod":"^3.22.4"},"devDependencies":{"@types/jest":"^29.0.0","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","eslint":"^8.0.0","jest":"^29.0.0","tsx":"^4.0.0","typescript":"^5.0.0"},"engines":{"node":">=18.0.0"},"_id":"@antarose/mcp-vision@1.0.15","types":"./dist/index.d.ts","_nodeVersion":"22.14.0","_npmVersion":"11.2.0","dist":{"integrity":"sha512-5NJf5D6bSqE6j+AKIdJXojXj+jkwCHsdtTHPkSp4pE8PdvbyLW3PaN4PMnkvX+aSbURp6Lualu4Dw9WrAi+Cjw==","shasum":"af8a6ab619caab941ea405969b748d5caf4f8622","tarball":"https://registry.npmjs.org/@antarose/mcp-vision/-/mcp-vision-1.0.15.tgz","fileCount":52,"unpackedSize":163055,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDrDBUrrBnjfSnd9w3jzJw4gGmgUdDIkSVirt7huSJ7cAIhAIb49P8fq9k3y8cUWlbJXBzRGCijwNx2Kw4VnNqRBUyu"}]},"_npmUser":{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"},"directories":{},"maintainers":[{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-vision_1.0.15_1758897885179_0.19989172229924246"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-26T14:15:36.736Z","modified":"2025-09-26T14:44:45.842Z","1.0.4":"2025-09-26T14:02:36.171Z","1.0.5":"2025-09-26T14:05:00.594Z","1.0.6":"2025-09-26T14:11:16.312Z","1.0.7":"2025-09-26T14:15:37.021Z","1.0.8":"2025-09-26T14:17:33.335Z","1.0.9":"2025-09-26T14:21:03.656Z","1.0.10":"2025-09-26T14:24:08.201Z","1.0.12":"2025-09-26T14:29:07.876Z","1.0.13":"2025-09-26T14:42:30.277Z","1.0.14":"2025-09-26T14:43:03.885Z","1.0.15":"2025-09-26T14:44:45.366Z"},"author":{"name":"Antarose"},"license":"MIT","keywords":["mcp","model-context-protocol","image-analysis","cloudflare","vision","ai","workers-ai","llama","pokemon","anime","machine-learning","computer-vision","npx","cli"],"description":"🔍 MCP server for image analysis using Cloudflare Workers AI (Llama 3.2 Vision) - Analyze images with structured JSON output","maintainers":[{"name":"pinghuachiu","email":"pinghuachiu@gmail.com"}],"readme":"# @antarose/mcp-vision\n\n一個基於 Model Context Protocol (MCP) 的影像分析伺服器，整合 Cloudflare Workers AI (Llama 3.2 Vision) 提供結構化的圖片分析結果。\n\n## 功能特色\n\n- 🖼️ 支援多種圖片來源：本機檔案路徑、HTTP/HTTPS URL、data:URL\n- 🤖 使用 Cloudflare Workers AI Llama 3.2 Vision 模型\n- 📊 結構化 JSON 輸出包含：descriptions、tags、objects、OCR text、安全警告\n- 🛠️ 支援多種分析任務：通用、UI 審核、發票分析、圖表分析、安全檢查\n- 🔧 完整的 MCP 協議支援，可整合至 Claude Code、Cursor 等 IDE\n\n## 快速開始\n\n### 安裝\n\n```bash\nnpm install @antarose/mcp-vision\n```\n\n### 環境設定\n\n1. 取得 Cloudflare 憑證：\n   - 登入 [Cloudflare Dashboard](https://dash.cloudflare.com/)\n   - 取得你的 Account ID\n   - 建立 API Token（需要 AI 相關權限）\n\n2. 設定環境變數：\n\n```bash\nexport CF_ACCOUNT_ID=your_cloudflare_account_id\nexport CF_API_TOKEN=your_cloudflare_api_token\n```\n\n或建立 `.env` 檔案：\n\n```env\nCF_ACCOUNT_ID=your_cloudflare_account_id\nCF_API_TOKEN=your_cloudflare_api_token\n```\n\n### 直接執行\n\n```bash\nCF_ACCOUNT_ID=xxx CF_API_TOKEN=xxx npx -y @antarose/mcp-vision\n```\n\n### 作為模組使用\n\n```javascript\nconst { spawn } = require('child_process');\n\n// 設定環境變數\nconst env = {\n  ...process.env,\n  CF_ACCOUNT_ID: 'your_account_id',\n  CF_API_TOKEN: 'your_api_token'\n};\n\n// 啟動 MCP 伺服器\nconst server = spawn('npx', ['-y', '@antarose/mcp-vision'], {\n  env: env,\n  stdio: ['pipe', 'pipe', 'pipe']\n});\n\nserver.stdout.on('data', (data) => {\n  console.log(`stdout: ${data}`);\n});\n\nserver.stderr.on('data', (data) => {\n  console.log(`stderr: ${data}`);\n});\n\nserver.on('close', (code) => {\n  console.log(`child process exited with code ${code}`);\n});\n```\n\n### Claude Code 整合\n\n#### 方法 1：全局安裝後使用 claude mcp add（推薦）\n\n```bash\n# 先全局安裝\nnpm install -g @antarose/mcp-vision\n\n# 添加到 Claude Code\nclaude mcp add-json antarose-vision '{\"command\": \"mcp-vision\", \"env\": {\"CF_ACCOUNT_ID\": \"你的帳號ID\", \"CF_API_TOKEN\": \"你的API Token\"}}'\n```\n\n#### 方法 2：使用 npx（實驗性）\n\n```bash\nclaude mcp add antarose-vision npx @antarose/mcp-vision\n```\n*注意：npx 方式在某些環境下可能不穩定*\n\n然後配置環境變數（需要手動添加到 `~/.claude.json`）：\n\n```bash\n# 編輯 ~/.claude.json，在 antarose-vision 伺服器配置中添加 env 區段\n{\n  \"mcpServers\": {\n    \"antarose-vision\": {\n      \"command\": \"npx\",\n      \"args\": [\"@antarose/mcp-vision\"],\n      \"env\": {\n        \"CF_ACCOUNT_ID\": \"你的 Cloudflare 帳號 ID\",\n        \"CF_API_TOKEN\": \"你的 Cloudflare API Token\"\n      }\n    }\n  }\n}\n```\n\n#### 方法 2：手動配置\n\n在 `claude.config.json` 新增設定：\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"antarose-vision\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@antarose/mcp-vision\"],\n      \"env\": {\n        \"CF_ACCOUNT_ID\": \"你的 Cloudflare 帳號 ID\",\n        \"CF_API_TOKEN\": \"你的 Cloudflare API Token\",\n        \"MCP_VISION_PROVIDER\": \"cloudflare\"\n      }\n    }\n  }\n}\n```\n\n**配置步驟：**\n\n1. **獲取 Cloudflare 憑證**：\n   - 登入 [Cloudflare Dashboard](https://dash.cloudflare.com/)\n   - 獲取你的 Account ID\n   - 創建 API Token（需要 AI Gateway:Read 權限）\n\n2. **配置 Claude Code**：\n   - 打開 Claude Code 設定檔 `claude.config.json`\n   - 添加上述 MCP 服務器配置\n   - 替換實際的 Account ID 和 API Token\n\n3. **重新啟動 Claude Code**，即可使用 `analyze_image` 工具\n\n**使用範例：**\n\n```text\n請分析這張圖片：/path/to/image.jpg\n```\n\n### Cursor 整合\n\n在 `.cursor/config.json` 或項目根目錄的 `.mcp.json` 新增設定：\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"antarose-vision\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@antarose/mcp-vision\"],\n      \"env\": {\n        \"CF_ACCOUNT_ID\": \"你的 Cloudflare 帳號 ID\",\n        \"CF_API_TOKEN\": \"你的 Cloudflare API Token\"\n      }\n    }\n  }\n}\n```\n\n## 分析任務類型\n\n### `general` - 通用分析（預設）\n完整的圖片描述、物件識別和 OCR\n\n### `uiAudit` - UI 可用性檢查\n專門分析 UI 截圖，檢查可用性問題\n\n### `invoice` - 發票/帳單分析\n抽取發票號碼、日期、金額等結構化資訊\n\n### `chart` - 圖表分析\n分析圖表數據、趨勢和異常\n\n### `safety` - 安全內容檢查\n檢測 NSFW、暴力、個人隱私等敏感內容\n\n## API 回應格式\n\n```json\n{\n  \"captions\": {\n    \"short\": \"簡短描述\",\n    \"detailed\": \"詳細描述\"\n  },\n  \"tags\": [\"標籤1\", \"標籤2\"],\n  \"objects\": [\n    {\n      \"name\": \"物件名稱\",\n      \"confidence\": 0.95\n    }\n  ],\n  \"text_full\": \"OCR 識別的完整文字\",\n  \"warnings\": [\"警告訊息\"],\n  \"language\": \"文字語言\"\n}\n```\n\n## 開發\n\n### 安裝依賴\n\n```bash\nnpm install\n```\n\n### 開發模式\n\n```bash\nnpm run dev\n```\n\n### 建置\n\n```bash\nnpm run build\n```\n\n### 測試\n\n```bash\nnpm test\n```\n\n## 授權\n\nMIT\n\n## 作者\n\nAntarose","readmeFilename":"README.md"}