@devrobotlabs/visionapi-mcp
Official@devrobotlabs/visionapi-mcp
Vision API 用のMCPサーバーです。Claude Code、Claude Desktop、Cursor、その他のMCPホストをスキャンフォルダに向けて、請求書を依頼するだけです。統合コードを書く必要も、生成コードにAPIキーを埋め込む必要も、記憶から契約を言い換える必要もありません。
You: pull the totals out of every invoice in ~/inbox and put them in a CSV
Claude: [vision_analyze × 7]
Done — 7 invoices, 14 credits. Three had no PO number; I left those cells empty.インストール
インストールするものはありません。ホストの設定に追加すれば、npx 経由で実行されます。
Claude Code — claude mcp add visionapi --env VISION_API_KEY=sk_live_... -- npx -y @devrobotlabs/visionapi-mcp ~/inbox
Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"visionapi": {
"command": "npx",
"args": ["-y", "@devrobotlabs/visionapi-mcp", "/Users/me/inbox"],
"env": { "VISION_API_KEY": "sk_live_..." }
}
}
}Cursor — .cursor/mcp.json、同じ構成:
{
"mcpServers": {
"visionapi": {
"command": "npx",
"args": ["-y", "@devrobotlabs/visionapi-mcp", "."],
"env": { "VISION_API_KEY": "sk_live_..." }
}
}
}VS Code — .vscode/mcp.json:
{
"servers": {
"visionapi": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@devrobotlabs/visionapi-mcp", "${workspaceFolder}"],
"env": { "VISION_API_KEY": "sk_live_..." }
}
}
}キーは app.visionapi.io/dashboard/keys で取得できます。新規アカウントには50クレジットが付与され、カードは不要です。
ホスト設定のブロックは、
examples/ディレクトリではなくこのREADMEに置いてあります——9つのクライアントライブラリからの意図的な変更です。READMEにしか存在しないスニペットは、誰も実行しない実行可能スクリプトから乖離することはありません。
Related MCP server: receiptconverter-mcp
読み取り可能なディレクトリ
位置引数はすべて、サーバーがファイルを読み取ってもよいディレクトリです。 何も指定しない場合、プロセスの作業ディレクトリだけが唯一のルートになります——これは安全なデフォルトです。MCPホストはプロジェクトディレクトリをcwdとしてstdioサーバーを起動するからです。
これは見た目以上に重要です。このサーバーは有効な支出用クレデンシャルを保持し、シェルの権限で実行されるため、シェルが読み取れるものは何でも読み取れます。~/Documents/passport.jpg の生テキストを要求することは、そのドキュメントの内容をモデルのコンテキストとホストが保持するトランスクリプトに取り込む、実際に機能する方法です。許可リストは、混乱した、または操作されたエージェントが誤ってそうするのを防ぐものです。
パスは比較前に両方の側で realpath で解決されるため、許可されたディレクトリ内のシンボリックリンクがその外を指すことはできません。
--allow-any-path は許可リストを完全に無効にします。起動時にstderrに警告を出力し、使用には理由が必要です。
ツール
ツール | 機能 | コスト |
| 1つの画像またはPDFから構造化フィールドを抽出 | 画像1枚につき1クレジット、PDF1ページにつき2クレジット |
| 1つのファイルについて最大5つの平易な質問 | 画像1枚につき1クレジット、PDF1ページにつき1クレジット |
| このファイルは何か?抽出なしのランク付けされたプリセット | 5回の呼び出しにつき1クレジット |
| プリセットカタログ | 無料 |
| 1つのプリセットが返すすべてのフィールド | 無料 |
| 残高とバケット | 無料 |
| キューされたタスクのステータス/結果 | 無料 |
クレジットを消費する3つのツールは readOnlyHint: false と注釈されているため、読み取り専用ツールを自動承認するホストでも、それらの1つが実行される前に停止して確認を求めます。
カタログはリソースとしても公開されています——visionapi://presets と visionapi://presets/{name}——リソースを好むホスト向けです。ツールが主要なインターフェースです。リソースのサポートはホストによって不均一だからです。
出力
レスポンスはモデルが読めるようにレンダリングされ、JSONとしてダンプされることはありません。37フィールドの請求書プリセットが、そのうち12フィールドを埋めるドキュメントに対して返す場合、テーブルと Not found in this document (25): … の1行として返されます——{"value":null,"confidence":"low"} の25回の繰り返しではなく——3〜4倍小さく、処理しやすくなります。
その過程で失われるものはありません。すべてのツールは format を受け取ります:
markdown(デフォルト) — 上記のレンダリング。compact_json— 同じ情報をデータとして、_not_foundと_low_confidenceの配列付き。エージェントが読むのではなく解析する場合用。json— APIレスポンスをそのまま。契約に対して実際のHTTPコードを書くときに使うもの。
信頼度は高くない場合にのみ表示されるため、(mid) と (low) が目立ち、一般的なケースでは読むコストがかかりません。
長いドキュメント
mode は auto のままにしてください。APIは同期リクエストを60秒で終了します。サーバーはその後、リクエストをキューに再送信してポーリングし、進行状況をホストに報告します。課金は1回だけです。タイムアウトした試行が予約を完全に解放したからです。
約10ページを超えるものには事前に mode: "async" を渡し、長いドキュメントを安くサンプリングするには pages: "1-5" を渡してください——選択したページのみが課金されます。
コストと失敗
失敗はコストがかかりません。すべての非2xxレスポンスはクレジット予約を完全に解放するため、失敗した呼び出しは修正して再試行しても安全で、クリーンアップの必要はありません。ツールの説明にその旨が記載されているため、このサーバーを使用するエージェントはエラー後も賢明に動作し、諦めたり、機能しないものを再試行したりしません。
2つのエラーには、自分でも知っておく価値のあるアドバイスが含まれています:
エラー | 意味 |
| 再試行しても意味がありません——残高は自動では変わりません。チャージしてください。 |
| 自分の非同期タスクがプランの上限に達しています。タイマーではなく、それらのタスクの1つが完了したときに解除されます——つまり、スリープして再試行すると、待っているまさにそのものをブロックすることになります。 |
環境変数
変数 | 必須 | 目的 |
| 課金対象ツール用 | あなたのキー。カタログツールはこれなしで動作します。 |
| いいえ | APIのベースURLを上書きします。めったに必要ありません。 |
キーがなくてもサーバーの起動は止まりません: stderrに警告し、tools/list は引き続き機能し、最初の課金対象呼び出しは修正方法を示すメッセージを返します。起動を拒否するサーバーは、ユーザーに何かが壊れているとしか伝えません。
開発
npm install
npm run typecheck
npm test # 37 offline tests — no key, no network
npx @modelcontextprotocol/inspector node ./dist/cli.js ~/some/dirnpm install --no-save ../node でクライアントのローカルビルドをテストします。npm install ../node ではありません——これは package.json を "file:../node" に書き換え、そのマニフェストが公開されるものだからです。
リンク
MITライセンス。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that lets AI assistants read and visually analyze local documents — PDFs, Excel spreadsheets, CSV files, Word documents, PowerPoint presentations, and images.456MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for ReceiptConverter that allows AI assistants to parse any receipt or invoice image/PDF into structured JSON with a single tool call.16MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that gives your Claude, Cline, or Cursor session the ability to extract text, tables, and metadata from any PDF URL — including scanned PDFs via OCR.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that extracts clean text, tables, and structured data from documents, images, code, and audio files, supporting 97 formats with OCR, transcription, and code intelligence.MIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Generate PDFs from templates via AI chat. Works with Claude, ChatGPT, Cursor, and any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/devrobotlabs/visionapi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server