MCP Mesh Python Runtime
Python runtime for the MCP Mesh service mesh framework.
Installation
pip install mcp-mesh
Quick Start
import mesh
# Import types from public API
from mesh.types import McpMeshTool
# Define your agent
@mesh.agent(name="hello-world", http_port=9090)
class HelloWorldAgent:
"""Hello World agent demonstrating MCP Mesh features."""
pass
# Create a greeting function with dependency injection
@mesh.tool(
capability="greeting",
dependencies=["date_service"],
description="Greeting function with date dependency injection"
)
def greet(name: str = "World", date_tool: McpMeshTool = None) -> str:
"""Greeting function with automatic dependency injection."""
if date_tool is not None:
try:
current_date = date_tool()
return f"Hello, {name}! Today is {current_date}"
except Exception:
pass
return f"Hello, {name}!"
# The runtime auto-initializes when you import mcp_mesh
# Your functions are automatically registered with the mesh registry
Features
- Automatic Registration: Functions are automatically registered with the Go registry
- Health Monitoring: Built-in health checks and heartbeats
- Dependency Injection: Inject dependencies into your functions
- Service Discovery: Find and use other services in the mesh
- Graceful Degradation: Works even if registry is unavailable
Configuration
The runtime can be configured via environment variables:
MCP_MESH_ENABLED: Enable/disable runtime (default: "true")MCP_MESH_REGISTRY_URL: Registry URL (default: "http://localhost:8080")MCP_MESH_AGENT_NAME: Custom agent name (auto-generated if not set)
API Architecture
MCP Mesh uses a clear separation between public and private APIs:
mesh- Public user API for decorators and types_mcp_mesh- Private internal implementation (do not import directly)
The underscore prefix on _mcp_mesh follows Python conventions to indicate internal/private packages. Users should only import from the mesh package to ensure compatibility across versions.
Documentation
See the main repository for complete documentation.
Release files for mcp-mesh 3.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_mesh-3.7.0.tar.gz | 692.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_mesh-3.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / mcp_mesh-3.7.0.tar.gz
| Download URL | mcp_mesh-3.7.0.tar.gz |
|---|---|
| Size | 692.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8a45fae613178c73fc2023346ee2dd0b30a88d14a0baff2802ce8093cde7b02
|
|
BLAKE2b-256 checksum How to use checksums |
70483c30f75736c45ea3306659dba65d4f0a984e0febe45e4bc3241d017aa528
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / mcp_mesh-3.7.0-py3-none-any.whl
| Download URL | mcp_mesh-3.7.0-py3-none-any.whl |
|---|---|
| Size | 795.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0e07a1e379e3bcbdf09f7374ba71860c744c78c25999460f577e8c744082523b
|
|
BLAKE2b-256 checksum How to use checksums |
0885b94351a2397e2da3bcb85b8e0f9e76e8054c1b491f6e9a275c7b41aee095
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|