Explain Image Server
FreeNot checkedEnables AI agents to analyze images via Gemini vision models, supporting local paths, URLs, and data URLs with custom prompts.
About
Enables AI agents to analyze images via Gemini vision models, supporting local paths, URLs, and data URLs with custom prompts.
README
A zero-dependency MCP (Model Context Protocol) server that lets any AI agent — including text-only models — "see" images.
The agent passes an image (local path, URL, or data URL) plus a prompt to the describe_image tool. The server forwards both to a Gemini vision model through the OpenAI-compatible REST endpoint and returns the model's text interpretation. Because the agent supplies the prompt, it controls exactly what the model returns: a description, OCR of visible text, an object list, structured JSON, and so on.
No external libraries are used — the MCP JSON-RPC protocol is implemented by hand over stdio, and the Gemini request is a plain fetch().
AI agent ── describe_image(image, prompt) ──► MCP server (stdio, JSON-RPC 2.0)
│
▼
POST /chat/completions (OpenAI-compatible)
│
▼
Gemini vision model
Requirements
- Node.js >= 18.17 (global
fetchrequired) - A Gemini API key
Configuration
| Env var | Default | Description |
|---|---|---|
GEMINI_API_KEY |
(required) | Google AI Studio API key |
GEMINI_MODEL |
gemini-2.5-flash |
Default model id; override per call with the model argument |
GEMINI_BASE_URL |
https://generativelanguage.googleapis.com/v1beta/openai |
OpenAI-compatible base URL (swap to add another provider later) |
Install with an MCP client
san:
san mcp add -e GEMINI_API_KEY=your-key explain-image -- node /path/to/explain-image-mcp-server/src/index.js
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"explain-image": {
"command": "node",
"args": ["/path/to/explain-image-mcp-server/src/index.js"],
"env": { "GEMINI_API_KEY": "your-key" }
}
}
}
Tools
describe_image
Analyze one or more images with a Gemini vision model. The agent supplies the prompt.
| Argument | Type | Required | Description |
|---|---|---|---|
image |
string | string[] | yes | Local file path, http(s) URL, data: URL, or an array of these |
prompt |
string | no | What the model should return. Defaults to a detailed description |
model |
string | no | Gemini model id, overrides GEMINI_MODEL |
max_tokens |
integer | no | Maximum response length |
Example agent call:
describe_image(
image: "/screenshots/bug.png",
prompt: "Describe this UI bug precisely: what is shown, and what looks wrong?"
)
list_models
List the model ids available on the configured OpenAI-compatible endpoint.
Default model & cost
The default is gemini-2.5-flash — a cost-efficient GA Flash model with image
input (Google pricing, July 2026): $0.30 / 1M input tokens, $2.50 / 1M output
tokens (vs $1.50 / $7.50 for gemini-3.6-flash). For 2.5 Flash/Flash-Lite
models the server sends reasoning_effort: "none", disabling thinking so no
output tokens are spent on reasoning. Set GEMINI_MODEL (or pass model per
call) to use a different model, e.g. gemini-3.6-flash for higher quality at a
higher price.
Development
npm test # end-to-end smoke test (protocol handshake + request formatting, no real key needed)
The smoke test runs the full MCP handshake against a fake OpenAI-compatible upstream and validates the request shape (auth header, message body, base64 data URL) plus error paths.
Security note
The API key is stored in plaintext wherever the MCP client saves env vars. Keep it out of version control — .san/ is git-ignored in this repo for that reason.
Install Explain Image Server in Claude Desktop, Claude Code & Cursor
unyly install explain-image-mcp-serverInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add explain-image-mcp-server -- npx -y github:hsain9357/explain-image-mcp-serverStep-by-step: how to install Explain Image Server
FAQ
Is Explain Image Server MCP free?
Yes, Explain Image Server MCP is free — one-click install via Unyly at no cost.
Does Explain Image Server need an API key?
No, Explain Image Server runs without API keys or environment variables.
Is Explain Image Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Explain Image Server in Claude Desktop, Claude Code or Cursor?
Open Explain Image Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
ARA
Generate images, video and audio from any AI agent — one connector.
by ARAOmni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
by buildwithtazaYouTube
Transcripts, channel stats, search
by YouTubeEverArt
AI image generation using various models.
by modelcontextprotocolCompare Explain Image Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs
