dedalus -python
A simple and performant Model Context Protocol framework for Python.
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)
-
Create a virtual environment (recommended) python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate
-
Install the package (choose one):
- From PyPI (recommended): pip install dedalus_mcp
- From source (if you have the repo): pip install -e .
-
Verify installation python -m dedalus_mcp --version # or run a simple server as described in the docs
-
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
code-mode
🔌 Plug-and-play library to enable agents to call MCP and UTCP tools via code execution.
Gitingest
mcp server for gitingest
augments
Comprehensive MCP server providing real-time framework documentation access for Claude Code with intelligent caching, multi-source integration, and context-aware assistance.
skill-to
Convert AI Skills (Claude Skills format) to MCP server resources - Part of BioContextAI
Convert-Markdown-PDF
Markdown To PDF Conversion MCP
appdog
Compose and generate effortlessly MCP servers from any OpenAPI specifications