kimi-read-image-mcp
Click on "Deploy 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., "@kimi-read-image-mcpAnalyze this image: ./screenshot.png"
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.
kimi-read-image-mcp
Minimal MCP server for Kimi-compatible image analysis. It exposes exactly one tool, kimi_read_image, and sends local images as inline base64 image_url parts.
What It Does
Exposes one MCP tool:
kimi_read_imageReads a local image file and sends it as an inline base64
image_urlpartNo provider detection: works with any Kimi-compatible endpoint that accepts
image_url
Related MCP server: mcp-local-image-reader
Supported Image Formats
image/jpeg(.jpg,.jpeg)image/png(.png)image/gif(.gif)image/webp(.webp)image/bmp(.bmp)image/svg+xml(.svg)image/x-icon(.ico)
Install
Use npx:
npx kimi-read-image-mcp@latestOr install globally:
npm install -g kimi-read-image-mcpMCP Setup
Moonshot example
{
"mcpServers": {
"kimi-image": {
"command": "npx",
"args": ["-y", "kimi-read-image-mcp@latest"],
"env": {
"KIMI_API_KEY": "your-api-key",
"KIMI_API_BASE_URL": "https://api.moonshot.ai/v1",
"KIMI_API_MODEL": "kimi-k2.6"
}
}
}
}Custom endpoint example
{
"mcpServers": {
"kimi-image": {
"command": "npx",
"args": ["-y", "kimi-read-image-mcp@latest"],
"env": {
"KIMI_API_KEY": "your-api-key",
"KIMI_API_BASE_URL": "https://your-endpoint.example.com/v1",
"KIMI_API_MODEL": "your-model"
}
}
}
}Base URL
The server calls the OpenAI-compatible /chat/completions endpoint, so KIMI_API_BASE_URL must be the base path that contains /v1.
Moonshot:
https://api.moonshot.ai/v1Kimi Coding:
https://api.kimi.com/coding/v1
If you omit KIMI_API_BASE_URL, it defaults to https://api.moonshot.ai/v1.
Environment Variables
Variable | Required | Description |
| Yes | API key for the target endpoint |
| No | OpenAI-compatible base URL; defaults to |
| No | Model override; defaults to |
Tool
kimi_read_image
Analyze a local image file.
Arguments:
path: path to a local image fileprompt: optional instruction such asDescribe this image in one short sentence.workFolder: optional working directory for resolving relative paths
Important Limits
This project is intentionally minimal and only implements image analysis.
It does not expose video analysis, web search, shell, file editing, or agent workflows.
It does not implement OCR fallback or local model inference. If your chosen endpoint or model does not accept the native image flow implemented here, the tool fails fast.
Development
npm install
npm run build
npm testLive tests require a local .env file:
KIMI_API_KEY=your-api-key
KIMI_API_BASE_URL=https://api.moonshot.ai/v1
KIMI_API_MODEL=kimi-k2.6Then run:
npm run test:livetest:live runs:
a direct API smoke test for local image analysis
an SDK stdio MCP round-trip that verifies
tools/listandtools/call
License
MIT
Available Tools
1 toolkimi_read_imageC
Analyze a local image file using the configured Kimi-compatible API.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to a local image file | |
| prompt | No | Optional natural-language instruction for how to analyze the image | |
| workFolder | No | Optional working directory used to resolve relative paths |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral traits. It only says 'analyze' but does not disclose whether the operation is read-only, destructive, or has side effects. No mention of error handling, file format support, or rate limits.
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 a single sentence, front-loaded with the key action and resource. It is concise but may be overly terse, missing important details. However, it earns high marks for brevity.
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 three parameters and no output schema, the description is incomplete. It does not explain return values, error conditions, or how analysis results are presented. For a tool that likely outputs analysis data, this 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?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond parameter names and schema descriptions. It does not clarify the expected input format or how the optional 'prompt' and 'workFolder' modify behavior.
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 action ('analyze') and the resource ('local image file'), and specifies the API ('Kimi-compatible API'). However, it lacks specificity about what analysis entails (e.g., OCR, description, etc.) and does not distinguish from siblings because none are listed.
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?
No usage guidelines are provided. The description does not indicate when this tool should be used, prerequisites (e.g., file existence, API key), or alternatives. Even without sibling tools, basic context is missing.
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.
1 tool update
v0.0.1- First observed
kimi_read_image
TDQS
Scored across 1 tool
With only one tool, there is no possible ambiguity. Agents will always select the correct tool.
The single tool name 'kimi_read_image' follows a clear verb_noun pattern and is consistent with the server name, though pattern consistency is trivially satisfied.
A single tool is too few for a server dedicated to image analysis. Users and agents would expect multiple distinct capabilities (e.g., OCR, object detection, etc.).
The server provides only a generic 'analyze' function, lacking specific operations like listing supported analysis types, extracting text, or identifying objects. This severely limits its usefulness.
Maintenance
Related MCP Connectors
Focused MCP server for OpenAI image/audio generation (v2.0.0). Wraps endpoints via HAPI CLI.
MCP server for Qwen Image 3 AI image generation
MCP server for Hailuo (MiniMax) AI video generation
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseBqualityCmaintenanceA lightweight MCP server for image analysis using any OpenAI-compatible API endpoint, enabling AI agents to analyze images via a single tool.19MIT
- AlicenseAqualityDmaintenanceA simple MCP server that reads local images and returns them as ImageContent for LLM vision analysis.1MIT
- FlicenseBqualityBmaintenanceOpenAI-compatible MCP server for running image analysis tools against your own vision model endpoint.74-
- AlicenseNot gradedqualityCmaintenanceA minimal MCP server for generating images via OpenAI's GPT image model, supporting inline display or file output.MIT