MCP Image Extractor
MCP 画像抽出ツール
LLM 分析用に画像を抽出し、base64 に変換する MCP サーバー。
この MCP サーバーは、AI アシスタントに次のツールを提供します。
ローカルファイルから画像を抽出する
URLから画像を抽出する
Base64エンコードされた画像を処理する
カーソル内での表示:
適切なケース:
劇作家テストの結果を分析する: スクリーンショット
カーソルまたはその他のクライアントの場合
手動インストール
# Clone and install
git clone https://github.com/ifmelate/mcp-image-extractor.git
cd mcp-image-extractor
npm install
npm run build
npm linkこれによりmcp-image-extractorコマンドがグローバルに使用できるようになります。
.cursor/mcp.json ファイルの使用
ローカル開発または特定のプロジェクトで作業する場合は、プロジェクト ルートに.cursor/mcp.jsonファイルを追加できます。
{
"mcpServers": {
"image-extractor": {
"command": "node",
"args": ["/full/path/to/mcp-image-extractor/dist/index.js"],
"disabled": false
}
}
}または、npm リンク経由でインストールした場合:
{
"mcpServers": {
"image-extractor": {
"command": "mcp-image-extractor",
"disabled": false
}
}
}カーソル ユーザー向けの重要な注意: 「クライアントの作成に失敗しました」というエラーが表示された場合は、次の代替策を試してください。
オプション1: GitHubの直接インストールを使用する
git clone https://github.com/ifmelate/mcp-image-extractor.git cd mcp-image-extractor npm install npm run build npm link次に
.cursor/mcp.jsonで設定します。{ "mcpServers": { "image-extractor": { "command": "mcp-image-extractor", "disabled": false } } }オプション2: クローンを作成してローカルで実行する
git clone https://github.com/ifmelate/mcp-image-extractor.git cd mcp-image-extractor npm install npm run build次に
.cursor/mcp.jsonで設定します。{ "mcpServers": { "image-extractor": { "command": "node", "args": ["/full/path/to/mcp-image-extractor/dist/index.js"], "disabled": false } } }
利用可能なツール
ファイルから画像を抽出する
ローカル ファイルから画像を抽出し、base64 に変換します。
パラメータ:
file_path(必須): ローカル画像ファイルへのパス
**注:**すべての画像は、LLM 分析に最適なサイズ (最大 512x512) に自動的にサイズ変更され、base64 出力のサイズを制限し、コンテキスト ウィンドウの使用を最適化します。
URLから画像を抽出する
URL から画像を抽出し、base64 に変換します。
パラメータ:
url(必須): 抽出する画像のURL
**注:**すべての画像は、LLM 分析に最適なサイズ (最大 512x512) に自動的にサイズ変更され、base64 出力のサイズを制限し、コンテキスト ウィンドウの使用を最適化します。
base64から画像を抽出する
LLM 分析用に base64 でエンコードされた画像を処理します。
パラメータ:
base64(必須): Base64でエンコードされた画像データmime_type(オプション、デフォルト:"image/png"):画像のMIMEタイプ
**注:**すべての画像は、LLM 分析に最適なサイズ (最大 512x512) に自動的にサイズ変更され、base64 出力のサイズを制限し、コンテキスト ウィンドウの使用を最適化します。
Related MCP server: MCP URL Fetcher
使用例
Claude のツールの使用方法の例を次に示します。
Please extract the image from this local file: images/photo.jpgClaude は、 extract_image_from_fileツールを自動的に使用して、画像コンテンツを読み込んで分析します。
Please extract the image from this URL: https://example.com/image.jpgClaude は、 extract_image_from_urlツールを自動的に使用して、画像コンテンツを取得および分析します。
ドッカー
Docker でビルドして実行します。
docker build -t mcp-image-extractor .
docker run -p 8000:8000 mcp-image-extractorライセンス
マサチューセッツ工科大学
Available Tools
3 toolsextract_image_from_base64A
Extract and analyze images from base64-encoded data. Ideal for processing screenshots from clipboard, dynamically generated images, or images embedded in applications without requiring file system access.
| Name | Required | Description | Default |
|---|---|---|---|
| base64 | Yes | Base64-encoded image data to analyze (useful for screenshots, images from clipboard, or dynamically generated visuals) | |
| max_height | No | For backward compatibility only. Default maximum height is now 512px | |
| max_width | No | For backward compatibility only. Default maximum width is now 512px | |
| mime_type | No | MIME type of the image (e.g., image/png, image/jpeg) | image/png |
| resize | No | For backward compatibility only. Images are always automatically resized to optimal dimensions (max 512x512) for LLM analysis |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the tool 'extract[s] and analyze[s]' images, implying both extraction and analysis functions, but doesn't detail what analysis entails, potential limitations, or error handling. The description adds some context about use cases but lacks behavioral specifics like performance characteristics or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences: the first states the purpose, and the second provides usage context. Every sentence adds value without redundancy, making it appropriately sized and front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters with 100% schema coverage and no output schema, the description is moderately complete. It covers purpose and usage context but lacks details on what 'analyze' means in terms of output, which is a gap since there's no output schema to compensate. For a tool with analysis functionality, more behavioral transparency would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema, such as explaining the 'base64' parameter's format or the 'analyze' aspect mentioned in the purpose. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Extract and analyze images from base64-encoded data.' It specifies the verb (extract and analyze) and resource (images from base64 data). However, it doesn't explicitly differentiate from sibling tools like extract_image_from_file or extract_image_from_url, which handle different input sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: 'Ideal for processing screenshots from clipboard, dynamically generated images, or images embedded in applications without requiring file system access.' This gives practical scenarios, but it doesn't explicitly state when NOT to use it or directly compare it to the sibling tools that handle files or URLs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_image_from_fileA
Extract and analyze images from local file paths. Supports visual content understanding, OCR text extraction, and object recognition for screenshots, photos, diagrams, and documents.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Path to the image file to analyze (supports screenshots, photos, diagrams, and documents in PNG, JPG, GIF, WebP formats) | |
| max_height | No | For backward compatibility only. Default maximum height is now 512px | |
| max_width | No | For backward compatibility only. Default maximum width is now 512px | |
| resize | No | For backward compatibility only. Images are always automatically resized to optimal dimensions (max 512x512) for LLM analysis |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses analysis capabilities (visual understanding, OCR, object recognition) and supported file types, but doesn't mention performance characteristics, rate limits, authentication needs, error conditions, or output format. It provides basic behavioral context but lacks operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The first sentence states the core purpose and scope. The second sentence elaborates on capabilities and supported content types. Every word serves a purpose, and the description is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, 100% schema coverage, but no annotations or output schema, the description provides good purpose and usage context. However, it lacks information about what the tool returns (output format), error handling, or operational constraints. Given the absence of output schema, more detail about return values would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing complete parameter documentation. The description adds value by mentioning supported file types (PNG, JPG, GIF, WebP) and analysis capabilities, which helps contextualize the file_path parameter. However, it doesn't provide additional semantic context beyond what the schema already documents well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('extract and analyze images'), the resource ('from local file paths'), and distinguishes from siblings by specifying 'local file paths' (vs. base64 or URL sources). It lists supported analysis types (visual content understanding, OCR, object recognition) and file types, providing comprehensive purpose differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates when to use this tool vs. alternatives by specifying 'from local file paths' and listing supported file types/formats. This clearly distinguishes it from sibling tools extract_image_from_base64 and extract_image_from_url, providing perfect contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_image_from_urlA
Extract and analyze images from web URLs. Perfect for analyzing web screenshots, online photos, diagrams, or any image accessible via HTTP/HTTPS for visual content analysis and text extraction.
| Name | Required | Description | Default |
|---|---|---|---|
| max_height | No | For backward compatibility only. Default maximum height is now 512px | |
| max_width | No | For backward compatibility only. Default maximum width is now 512px | |
| resize | No | For backward compatibility only. Images are always automatically resized to optimal dimensions (max 512x512) for LLM analysis | |
| url | Yes | URL of the image to analyze for visual content, text extraction, or object recognition (supports web screenshots, photos, diagrams) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions analysis purposes ('visual content analysis and text extraction') and that images are 'accessible via HTTP/HTTPS', but lacks details on permissions, rate limits, error handling, or output format. It adds some context but leaves significant behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by specific use cases. Every sentence earns its place by clarifying scope and applications without redundancy, making it efficiently structured and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters with high schema coverage but no annotations and no output schema, the description is moderately complete. It covers the purpose and usage context well, but as a tool with potential behavioral complexities (e.g., network access, analysis output), it lacks details on permissions, errors, or result format, leaving gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by implying the 'url' parameter is for 'web screenshots, photos, diagrams', but does not provide additional syntax, format, or usage details for parameters. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('extract and analyze images'), resource ('from web URLs'), and scope ('for visual content analysis and text extraction'). It distinguishes from sibling tools by specifying 'from web URLs' versus 'from_base64' or 'from_file', making the purpose unambiguous and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool ('for analyzing web screenshots, online photos, diagrams, or any image accessible via HTTP/HTTPS'), but does not explicitly state when not to use it or name alternatives like the sibling tools. It implies usage scenarios without explicit exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
extract_image_from_base64 - First observed
extract_image_from_file - First observed
extract_image_from_url
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose based on the source of the image: base64-encoded data, local file paths, and web URLs. The descriptions reinforce this by specifying different use cases (e.g., clipboard screenshots, local files, online images), leaving no ambiguity for an agent to misselect.
All tool names follow a consistent verb_noun pattern with 'extract_image_from_' as a prefix, followed by the source type (base64, file, url). This predictable naming scheme makes it easy for agents to understand and navigate the tool set without confusion.
With 3 tools, the server is well-scoped for its purpose of extracting images from different sources. Each tool earns its place by covering a distinct input method (base64, file, URL), providing a complete set for the domain without being overly sparse or bloated.
The tool surface is complete for the domain of image extraction, covering all major input sources: base64 data, local files, and web URLs. There are no obvious gaps, as these three methods encompass the typical ways images are accessed in applications, ensuring agents can handle various scenarios without dead ends.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
OCR, transcription, file extraction, and image generation for AI agents via MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for Qwen Image 3 AI image generation
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables fetching and processing images from URLs, local file paths, and numpy arrays, returning them as base64-encoded strings with proper MIME types.121MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLMs to fetch and process web content in multiple formats (HTML, JSON, Markdown, text) with automatic format detection.56-
- AlicenseAqualityDmaintenanceA Model Context Protocol server that converts diverse file types, including PDFs, images, audio, and Office documents, into Markdown format. It also transforms web content like YouTube transcripts and Bing search results into readable text for model consumption.13231 npmMIT
- FlicenseNot gradedqualityDmaintenanceA powerful Model Context Protocol (MCP) server for image processing, designed to empower AI models with advanced image manipulation capabilities.-