MCP Catalogs
Home

zeromcp

by mrexodia·77·Score 46

Zero-dependency Python MCP server implementation with type-safe tool definitions and multiple transport options.

developer-toolsai-llmother
2
Forks
5
Open issues
2 mo ago
Last commit
2d ago
Indexed

Overview

Zeromcp is a lightweight, handcrafted MCP server implementation written in pure Python with zero external dependencies. It focuses on providing a minimal yet robust implementation that allows developers to expose tools with clean Python type annotations. The server supports both HTTP/SSE and stdio transports, making it compatible with a wide range of MCP clients. Its simplicity and performance make it ideal for embedding MCP capabilities in existing Python applications.

Try asking AI

After installing, here are 5 things you can ask your AI assistant:

you:Embedding MCP capabilities in Python applications with minimal overhead
you:Creating custom MCP servers without complex dependency chains
you:Developing type-safe tool interfaces for AI model interactions
you:What makes zeromcp different from other MCP servers?
you:Which transport protocols does zeromcp support?

When to choose this

Choose zeromcp when you need a lightweight, dependency-free MCP server for simple tools, especially when working in restricted environments where minimizing dependencies is crucial.

When NOT to choose this

Avoid zeromcp if you need advanced MCP features, complex tool definitions, or require authentication mechanisms as it's intentionally minimal and lacks these capabilities.

Tools this server exposes

6 tools extracted from the README
  • greetdef greet(name: Annotated[str, 'Name to greet'], age: Annotated[int | None, 'Age of person'] = None) -> str

    Generate a greeting message

  • struct_getdef struct_get(names: Annotated[list[str], 'Array of structure names'] | Annotated[str, 'Single structure name']) -> list[StructInfo]

    Retrieve structure information by names

  • dividedef divide(numerator: Annotated[float, 'Numerator'], denominator: Annotated[float, 'Denominator']) -> float

    Divide two numbers

  • read_filedef read_file() -> dict

    Get information about data.txt

  • read_any_filedef read_any_file(filename: Annotated[str, 'Name of file to read']) -> dict

    Get information about any file

  • code_reviewdef code_review(code: Annotated[str, 'Code to review'], language: Annotated[str, 'Programming language'] = 'python') -> str

    Review code for bugs and improvements

Comparable tools

mcpnomic-mcppython-mcp

Installation

pip install zeromcp

Or with uv:

uv add zeromcp

Configure in Claude Desktop:

{
  "mcpServers": {
    "zeromcp-server": {
      "command": "python",
      "args": ["path/to/your/server.py"]
    }
  }
}

For HTTP transport:

{
  "mcpServers": {
    "zeromcp-server": {
      "type": "http",
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

FAQ

What makes zeromcp different from other MCP servers?
Zeromcp uses zero external dependencies, is written in pure Python, and provides type-safe tool definitions using native Python annotations.
Which transport protocols does zeromcp support?
Zeromcp supports both HTTP/SSE and stdio transports, making it compatible with a wide range of MCP clients including Claude Desktop, VS Code, and others.

Compare zeromcp with

GitHub →

Last updated · Auto-generated from public README + GitHub signals.