read-image-mcp
Provides image reading capabilities (describe, OCR, structured extraction) using OpenAI-compatible vision models.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@read-image-mcpdescribe the image at https://example.com/photo.jpg"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Read Image MCP
read-image-mcp is a stdio MCP server that lets agents without native vision ask an OpenAI-compatible vision model to read images.
It exposes one tool, read_image, with three modes:
describe: general image descriptionocr: visible text and layout notesstructured: JSON extraction with an optional question and optional JSON Schema
Run From GitHub With npx
Recommended MCP command:
{
"command": "npx",
"args": [
"-y",
"--package",
"github:xiayangqun/Read-Image-MCP#main",
"read-image-mcp"
],
"env": {
"READ_IMAGE_MCP_CONFIG": "/absolute/path/read-image-mcp.config.json"
}
}#main is a rolling GitHub dependency. Restarting a client does not guarantee that npm fetches the newest commit because npm may reuse its cache. If you need an immediate refresh, clear npm cache or temporarily reference a specific commit SHA.
Related MCP server: vision-mcp
Config
Create a config file:
{
"default_profile": "default",
"profiles": {
"default": {
"base_url": "https://api.example.com/v1",
"api_key": "your-api-key",
"model": "vision-model-name",
"timeout_ms": 60000
}
}
}Lookup order:
READ_IMAGE_MCP_CONFIGread-image-mcp.config.jsonin the current working directory~/.config/read-image-mcp/config.json
If api_key is empty or omitted, no Authorization header is sent. This is useful for local OpenAI-compatible gateways.
MCP Client Examples
Claude Desktop, Cursor, Codex, and OpenCode all use the same basic stdio command shape:
{
"mcpServers": {
"read-image": {
"command": "npx",
"args": [
"-y",
"--package",
"github:xiayangqun/Read-Image-MCP#main",
"read-image-mcp"
],
"env": {
"READ_IMAGE_MCP_CONFIG": "/absolute/path/read-image-mcp.config.json"
}
}
}
}This repository is xiayangqun/Read-Image-MCP.
Tool Input
{
"source": {
"type": "path",
"value": "/absolute/path/image.png"
},
"mode": "describe"
}Supported source types:
pathurlbase64data_url
structured mode supports:
{
"source": {
"type": "url",
"value": "https://example.com/screenshot.png"
},
"mode": "structured",
"question": "Which UI error is visible?",
"schema": {
"type": "object",
"properties": {
"error": { "type": "string" }
},
"required": ["error"],
"additionalProperties": false
}
}Local Development
npm install
npm test -- --run
npm run typecheck
npm run build
node dist/index.js --helpThe built dist/ directory is committed so npx --package github:...#main read-image-mcp can run directly from GitHub without client-side TypeScript compilation.
Available Tools
1 toolread_imageRead ImageC
Read an image through an OpenAI-compatible vision model. Supports path, url, base64, and data_url sources.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| schema | No | ||
| source | Yes | ||
| question | No | ||
| raw_response | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the sole source of behavioral information. It discloses the ability to handle different source types, but nothing about permissions, side effects, rate limits, or return format. This minimal disclosure is inadequate for a tool with no other behavioral annotations.
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 exceptionally concise, using two short sentences to convey the core function and supported sources. Every word adds value, making it a model of efficiency.
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?
The tool has 5 parameters and nested objects, yet the description only addresses the source type. It omits explanations of mode options, the question field, raw_response, and the schema parameter. This incompleteness for a moderately complex tool is a significant gap.
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?
The schema has 5 parameters, and the description only hints at source type possibilities, not the mode, question, schema, or raw_response fields. Given the 0% schema description coverage, the description fails to compensate for most parameters.
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 function: reading an image through an OpenAI-compatible vision model. It also specifies supported source types (path, url, base64, data_url), which adds precision. Without sibling tools, it doesn't need to differentiate.
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 no guidance on when to choose this tool over alternatives, nor any context for its appropriate use cases. It doesn't mention exclusions or prerequisites, leaving the agent without decision-making information.
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. Dates show when Glama detected each change.
1 tool update
v0.1.0- First observed
read_image
TDQS
With only one tool, there is no possibility of confusing it with others. The tool's purpose is clearly defined, so an agent can unambiguously select it when needing to read an image.
The single tool name 'read_image' follows a clear verb_noun pattern, which is consistent. There are no other tools to create inconsistencies.
One tool is on the lower end of typical tool counts. While the server's purpose is narrow, a single tool feels thin; however, it is appropriate for the specific functionality provided.
The tool covers all common input methods for images (path, URL, base64, data URL), so there are no obvious gaps in functionality for its stated purpose.
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 Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Related MCP Servers
- AlicenseAqualityAmaintenanceA portable image-understanding MCP server that lets agents analyze local images, URLs, or base64 images via an OpenAI-compatible vision model.131072MIT
- AlicenseAqualityBmaintenanceMCP server that provides an analyze_image tool using OpenAI-compatible vision LLMs to describe images from file paths, URLs, or base64 data.1191MIT
- AlicenseAqualityAmaintenanceMCP server that gives text-only AI agents the ability to understand images via vision tools, including multi-image analysis, OCR, comparison, and structured extraction. It uses providers like OpenAI, Anthropic, Gemini, and OpenRouter to return plain text descriptions.410177MIT
- AlicenseAqualityCmaintenanceMCP server that provides visual question answering, image description, object detection, OCR, and image manipulation tools using OpenAI-compatible vision models.12119GPL 2.0
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/xiayangqun/Read-Image-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server