Get the FREE Ultimate OpenClaw Setup Guide →

dedalus -python

A simple and performant Model Context Protocol framework for Python.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio dedalus-labs-dedalus-mcp-python python -m dedalus_mcp.server \
  --env PORT="8000 (default) - HTTP port to serve MCP"

How to use

Dedalus MCP is a minimal, spec-faithful Python framework for building MCP clients and servers. It provides ergonomic decorators and production-grade features to help you create MCP-compliant APIs without extraneous opinionated layers. With the @tool decorator, you define single-purpose tools, then register them on a running server using server.collect(your_function). The server exposes an MCP-compatible interface over HTTP, allowing clients to list available tools and invoke them via the MCP protocol. This design supports multi-server usage by attaching different functions to separate server instances and calling server.collect independently for each one. The client sample in the README demonstrates connecting to the server, listing tools, and invoking a tool by name, showing how tooling and typing integrate into a clean, test-friendly flow.

How to install

Prerequisites:

  • Python 3.9+ (or a supported Python 3.x environment)
  • pip (usually bundled with Python)
  1. Create a virtual environment (recommended) python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate

  2. Install the package (choose one):

    • From PyPI (recommended): pip install dedalus_mcp
    • From source (if you have the repo): pip install -e .
  3. Verify installation python -m dedalus_mcp --version # or run a simple server as described in the docs

  4. Run a minimal server example (provided in the README):

    Save the example to a file (e.g., server.py) and run it:

    python -m dedalus_mcp.server

Prerequisites note:

  • Ensure your environment has network access and proper permissions for binding ports (default 8000).
  • If behind a firewall or proxy, configure HTTP(S) settings accordingly for client access.

Additional notes

Tips and caveats:

  • The Dedalus MCP server emphasizes spec traceability; refer to docs/mcp/spec for exact behavior if you encounter mismatches.
  • Tools are registered at runtime via server.collect(fn); this enables multi-server scenarios without global state.
  • You can dynamically enable or expose tools with allow_tools and related runtime methods as your deployment evolves.
  • If you need authentication, use the provided DPoP flow as shown in the README sample for protected servers.
  • For testing, consider isolating each server instance to keep tests deterministic and avoid cross-server state leakage.

Related MCP Servers

Sponsor this space

Reach thousands of developers