NightTrek

๐ŸŒ™ Moondream MCP Server

Community NightTrek
Updated

MCP server for Moondream image analysis

๐ŸŒ™ Moondream MCP Server

A powerful Model Context Protocol (MCP) server that brings advanced image analysis capabilities to your applications using the Moondream vision model. This server seamlessly integrates with Claude and Cline, providing a bridge between AI assistants and sophisticated computer vision tasks.

This IS NOT an offical Moondream package. All credit to moondream.ai for making the best open source vision model that you can run on consumer hardware.

โœจ Features

  • ๐Ÿ–ผ๏ธ Image Captioning: Generate natural language descriptions of images
  • ๐Ÿ” Object Detection: Identify and locate specific objects within images
  • ๐Ÿ’ญ Visual Question Answering: Ask questions about image content and receive intelligent responses
  • ๐Ÿš€ High Performance: Uses quantized 8-bit models for efficient inference
  • ๐Ÿ”„ Automatic Setup: Handles model downloading and environment setup
  • ๐Ÿ› ๏ธ MCP Integration: Standardized protocol for seamless tool usage

๐ŸŽฏ Use Cases

  • Content Analysis: Automatically generate descriptions for image content
  • Accessibility: Create alt text for visually impaired users
  • Data Extraction: Extract specific information from images through targeted questions
  • Object Verification: Confirm the presence of specific objects in images
  • Scene Understanding: Analyze complex scenes and their components

๐Ÿš€ Quick Start

Prerequisites

  • Node.js v18 or higher
  • Python 3.8+
  • UV package manager (automatically installed if not present)

Installation

  1. Clone and Setup
git clone <repository-url>
cd moondream-server
pnpm install
  1. Build the Server
pnpm run build

The server handles the rest automatically:

  • Creates Python virtual environment
  • Installs UV if not present
  • Downloads and sets up the Moondream model
  • Manages the model server process

Integration with Claude/Cline

Add to your MCP settings file (claude_desktop_config.json or cline_mcp_settings.json):

{
  "mcpServers": {
    "moondream": {
      "command": "node",
      "args": ["/path/to/moondream-server/build/index.js"]
    }
  }
}

๐Ÿ› ๏ธ Available Tools

analyze_image

Powerful image analysis tool with multiple modes:

{
  "name": "analyze_image",
  "arguments": {
    "image_path": string,  // Path to image file
    "prompt": string       // Analysis command
  }
}

Prompt Types:

  • "generate caption" - Creates natural language description
  • "detect: [object]" - Finds specific objects (e.g., "detect: car")
  • "[question]" - Answers questions about the image

Examples:

// Image Captioning
{
  "image_path": "photo.jpg",
  "prompt": "generate caption"
}

// Object Detection
{
  "image_path": "scene.jpg",
  "prompt": "detect: person"
}

// Visual Q&A
{
  "image_path": "painting.jpg",
  "prompt": "What colors are used in this painting?"
}

๐Ÿ”ง Technical Details

Architecture

The server operates as a dual-component system:

  1. MCP Interface Layer

    • Handles protocol communication
    • Manages tool interfaces
    • Processes requests/responses
  2. Moondream Model Server

    • Runs the vision model
    • Processes image analysis
    • Provides HTTP API endpoints

Model Information

Uses the Moondream quantized model:

  • Default: moondream-2b-int8.mf.gz
  • Efficient 8-bit quantization
  • Automatic download from Hugging Face
  • ~500MB model size

Performance

  • Fast startup with automatic caching
  • Efficient memory usage through quantization
  • Responsive API endpoints
  • Concurrent request handling

๐Ÿ” Debugging

Common issues and solutions:

  1. Model Download Issues

    # Manual model download
    wget https://huggingface.co/vikhyatk/moondream2/resolve/main/moondream-0_5b-int4.mf.gz
    
  2. Server Port Conflicts

    • Default port: 3475
    • Check for process using: lsof -i :3475
  3. Python Environment

    • UV manages dependencies
    • Check logs in temp directory
    • Virtual env in system temp folder

๐Ÿค Contributing

Contributions welcome! Areas of interest:

  • Additional model support
  • Performance optimizations
  • New analysis capabilities
  • Documentation improvements

๐Ÿ“„ License

[Add your license information here]

๐Ÿ™ Acknowledgments

Made with โค๏ธ by Nighttrek

MCP Server ยท Populars

MCP Server ยท New

    chatmcp

    mcpso

    directory for Awesome MCP Servers

    Community chatmcp
    TBXark

    MCP Proxy Server

    An MCP proxy server that aggregates and serves multiple MCP resource servers through a single HTTP server.

    Community TBXark
    ttommyth

    interactive-mcp

    Ask users questions from your LLM! interactive-mcp: Local, cross-platform MCP server for interactive prompts, chat & notifications.

    Community ttommyth
    lpigeon

    ros-mcp-server

    The ROS MCP Server is designed to support robots in performing complex tasks and adapting effectively to various environments by providing a set of functions that transform natural language commands, entered by a user through an LLM, into ROS commands for robot control.

    Community lpigeon
    emicklei

    melrose-mcp

    interactive programming of melodies, producing MIDI

    Community emicklei