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.
Metadata
Release files for mcp-mesh 3.8.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 | Provenance | Actions |
|---|---|---|---|---|
| mcp_mesh-3.8.0.tar.gz | 730.2 kB | Without provenance | Details for mcp_mesh-3.8.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mcp_mesh-3.8.0-py3-none-any.whl | Python 3 | none | any | Details for mcp_mesh-3.8.0-py3-none-any.whl |
Total release size: 1.6 MB
Release files / mcp_mesh-3.8.0.tar.gz
| Download URL | mcp_mesh-3.8.0.tar.gz |
|---|---|
| Size | 730.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6ff5e4bab54048bafd10864acef284761f8771e131bdf53963980841f18df374
|
|
BLAKE2b-256 checksum How to use checksums |
133d164710fb13aeefc6c01ae3d4b3ccd1e8c3ed9b2fdbec439c8bedc7d66a68
|
| 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.8.0-py3-none-any.whl
| Download URL | mcp_mesh-3.8.0-py3-none-any.whl |
|---|---|
| Size | 833.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b1550a94c8e51fad6a1004bf1e084dbb98526ac1d9d56d6de0e591384294927b
|
|
BLAKE2b-256 checksum How to use checksums |
d44bc67626c07fd93fda1cdb4af5ba7c092e95ea9e53c735af7a150aa2d47588
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for mcp-mesh 3.8.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.