mcp-local-image-reader

mcp-local-image-reader

A simple MCP server that reads local images and returns them as ImageContent for LLM vision analysis.

Category
Visit Server

README

MCP Local Image Reader

PyPI version License: MIT

A simple Model Context Protocol (MCP) server that reads local images and returns them as ImageContent for LLM vision analysis.

Install in VS Code Install in VS Code Insiders

Features

  • 📷 Read local images and return as base64-encoded ImageContent
  • 🔧 Single tool: read_image - simple and focused
  • 🚀 One-click installation for VS Code
  • 📦 Install via PyPI with uvx - no environment setup needed

Supported Formats

PNG, JPEG, GIF, WebP, BMP, SVG

Installation

VS Code (Recommended)

Click the button above, or manually add to your VS Code settings:

For a specific version (recommended for security):

{
  "mcp": {
    "servers": {
      "local-image-reader": {
        "command": "uvx",
        "args": ["mcp-local-image-reader==0.1.1"],
        "env": {
          "UV_LINK_MODE": "copy"
        }
      }
    }
  }
}

For the latest version:

{
  "mcp": {
    "servers": {
      "local-image-reader": {
        "command": "uvx",
        "args": ["mcp-local-image-reader"],
        "env": {
          "UV_LINK_MODE": "copy"
        }
      }
    }
  }
}

Note: The UV_LINK_MODE=copy environment variable is required on Windows when using OneDrive or other cloud-synced folders.

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "local-image-reader": {
      "command": "uvx",
      "args": ["mcp-local-image-reader==0.1.1"],
      "env": {
        "UV_LINK_MODE": "copy"
      }
    }
  }
}

Usage

In your AI assistant, ask it to read an image:

Please read the image at C:\Users\me\Pictures\screenshot.png and describe what you see.

The assistant will use the read_image tool to load the image and analyze it.

Security

Version Pinning

For production use, always pin to a specific version:

"args": ["mcp-local-image-reader==0.1.1"]

This ensures you won't automatically pull potentially malicious updates.

Source Code

This project is intentionally minimal (~100 lines) for easy auditing. The entire implementation is in server.py.

Known Issues

⚠️ Gemini Does Not Recognize Images from MCP

When using VS Code Copilot with Gemini models, images returned via MCP ImageContent are not visually recognized. The tool execution succeeds, but Gemini cannot "see" the image content.

Model MCP Image Recognition
Claude ✅ Works
GPT ✅ Works
Gemini ❌ Not working

Root Cause: This is a known issue with how Gemini handles non-text content types in MCP responses.

Related Issue: gemini-cli #15851 - Only text content type supported

Workaround: Use Claude or GPT models for image analysis tasks until this issue is resolved.

Tool Reference

read_image

Reads an image from the filesystem and returns it as base64-encoded ImageContent.

Parameters:

  • file_path (string, required): Absolute path to the image file

Returns:

  • ImageContent with base64-encoded image data and appropriate MIME type

Example:

{
  "name": "read_image",
  "arguments": {
    "file_path": "/path/to/image.png"
  }
}

Development

# Clone the repository
git clone https://github.com/masachika-kamada/mcp-local-image-reader.git
cd mcp-local-image-reader

# Install dependencies
uv sync

# Run locally
uv run python server.py

# Test with MCP Inspector
npx @modelcontextprotocol/inspector uv run python server.py

License

MIT License - see LICENSE for details.

Contributing

Issues and pull requests are welcome! Please feel free to contribute.

Related Projects

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured