D
dhyansraj/mcp-mesh
Framework for many specialized agents, deployable on Kubernetes
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
Install command from the repository
npm install -g @mcpmesh/cli
Parsed from the README we fetched on 2026-11-04; we have not executed it.
This is the install method the repository states, not an MCP client config, so no JSON is generated.
Key names differ by client: Clients & CLI
- Source
- collected from the abordage/awesome-mcp list · type: MCP server
- Harvest history
- first seen 2026-11-05 · last seen 2026-11-14 · seen 10× · listed by 10 sources
- Score
- score 1,003 · 10 sources · mcp
- Install
npm install -g @mcpmesh/cli
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
npm install -g @mcpmesh/cli. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-11-05;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.
# MCP Mesh
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
> The future of AI is not one large model, but many specialized agents working together.
📚 Documentation ·
🚀 Quick Start ·
🎬 YouTube ·
💬 Discord
## ⚡ Getting Started
bash
# Install the CLI
npm install -g @mcpmesh/cli
# Explore commands
meshctl --help
# Built-in documentation
meshctl man
Python Quick Start → | Java Quick Start → | TypeScript Quick Start →
## 🎯 Why MCP Mesh?
You write the agent logic. The mesh discovers, connects, heals, and traces — across languages, machines, and clouds.
### For Developers 👩💻
Stop fighting infrastructure. Start building intelligence.
Zero Boilerplate: Simple decorators/functions replace hundreds of lines of networking code
Python, Java & TypeScript: Write MCP servers as simple functions in your preferred language - no manual client/server setup
Web Framework Integration: Inject MCP agents directly into FastAPI (Python), Spring Boot (Java), or Express (TypeScript) APIs seamlessly
LLM as Dependencies: Inject LLMs just like MCP agents - dynamic prompts with Jinja2 (Python), FreeMarker (Java), or Handlebars (TypeScript)
Seamless Development Flow: Code locally, test with Docker Compose, deploy to Kubernetes - same code, zero changes
kubectl-like Management: meshctl - a familiar command-line tool to run, monitor, and manage your entire agent network
python
from fastmcp import FastMCP
import mesh
app = FastMCP("TripPlanner")
@app.tool()
@mesh.tool(
capability="plantrip",
dependencies=[
{"capability": "weather", "tags": ["+claude"]},
{"capability": "hotels", "tags": ["+gpt"]},
{"capability": "flights"},
{"capability": "budget", "tags": ["+claude"]},
],
async def plantrip(
destination: str,
dates: str,
weather: mesh.McpMeshTool = None,
hotels: mesh.McpMeshTool = None,
flights: mesh.McpMeshTool = None,
budget: mesh.McpMeshTool = None,
) -> TripPlan:
forecast = await weather(destination=destination, dates=dates)
options = await hotels(destination=destination, dates=dates)
routes = await flights(destination=destination, dates=dates)
cost = await budget(routes=routes, options=options)
return TripPlan(forecast, options, routes, cost)
@mesh.agent(name="trip-planner", autorun=True)
class TripAgent: pass
> Four distributed calls, composed like a local function. Each dependency could live in this process, another machine, another language. Mesh handles discovery, transport, retry, and failover — your function stays a function. Each dep is just another @mesh.tool, defined the same way — in this agent or another.
> Any dependency can be a plain tool or an LLM agent — your code can't tell the difference. weather could be a REST API or a Claude-powered reasoning agent returning a typed pydantic forecast. +claude means prefer the reasoning agent; if it dies, mesh auto-rewires to the API. When Claude recovers, mesh rewires back. No deploy, no config, no code change.
> Routing stays in Python, not YAML. See how below.
See how the Claude-powered weather agent is built (10 lines)
python
from fastmcp import FastMCP
import mesh
app = FastMCP("ClaudeWeather")
@app.tool()
@mesh.llm(
systemprompt="file://prompts/weather.j2",
provider={"capability": "llm", "tags": ["+claude"]},
@mesh.tool(capability="weather", tags=["+claude"])
📚 Documentation ·
🚀 Quick Start ·
🎬 YouTube ·
💬 Discord
## ⚡ Getting Started
bash
# Install the CLI
npm install -g @mcpmesh/cli
# Explore commands
meshctl --help
# Built-in documentation
meshctl man
Python Quick Start → | Java Quick Start → | TypeScript Quick Start →
## 🎯 Why MCP Mesh?
You write the agent logic. The mesh discovers, connects, heals, and traces — across languages, machines, and clouds.
### For Developers 👩💻
Stop fighting infrastructure. Start building intelligence.
Zero Boilerplate: Simple decorators/functions replace hundreds of lines of networking code
Python, Java & TypeScript: Write MCP servers as simple functions in your preferred language - no manual client/server setup
Web Framework Integration: Inject MCP agents directly into FastAPI (Python), Spring Boot (Java), or Express (TypeScript) APIs seamlessly
LLM as Dependencies: Inject LLMs just like MCP agents - dynamic prompts with Jinja2 (Python), FreeMarker (Java), or Handlebars (TypeScript)
Seamless Development Flow: Code locally, test with Docker Compose, deploy to Kubernetes - same code, zero changes
kubectl-like Management: meshctl - a familiar command-line tool to run, monitor, and manage your entire agent network
python
from fastmcp import FastMCP
import mesh
app = FastMCP("TripPlanner")
@app.tool()
@mesh.tool(
capability="plantrip",
dependencies=[
{"capability": "weather", "tags": ["+claude"]},
{"capability": "hotels", "tags": ["+gpt"]},
{"capability": "flights"},
{"capability": "budget", "tags": ["+claude"]},
],
async def plantrip(
destination: str,
dates: str,
weather: mesh.McpMeshTool = None,
hotels: mesh.McpMeshTool = None,
flights: mesh.McpMeshTool = None,
budget: mesh.McpMeshTool = None,
) -> TripPlan:
forecast = await weather(destination=destination, dates=dates)
options = await hotels(destination=destination, dates=dates)
routes = await flights(destination=destination, dates=dates)
cost = await budget(routes=routes, options=options)
return TripPlan(forecast, options, routes, cost)
@mesh.agent(name="trip-planner", autorun=True)
class TripAgent: pass
> Four distributed calls, composed like a local function. Each dependency could live in this process, another machine, another language. Mesh handles discovery, transport, retry, and failover — your function stays a function. Each dep is just another @mesh.tool, defined the same way — in this agent or another.
> Any dependency can be a plain tool or an LLM agent — your code can't tell the difference. weather could be a REST API or a Claude-powered reasoning agent returning a typed pydantic forecast. +claude means prefer the reasoning agent; if it dies, mesh auto-rewires to the API. When Claude recovers, mesh rewires back. No deploy, no config, no code change.
> Routing stays in Python, not YAML. See how below.
See how the Claude-powered weather agent is built (10 lines)
python
from fastmcp import FastMCP
import mesh
app = FastMCP("ClaudeWeather")
@app.tool()
@mesh.llm(
systemprompt="file://prompts/weather.j2",
provider={"capability": "llm", "tags": ["+claude"]},
@mesh.tool(capability="weather", tags=["+claude"])
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/dhyansraj-mcp-mesh/)
- Source
- awesome · https://github.com/dhyansraj/mcp-mesh
- Browse by field
- MCP servers
- Listed by
- 10 independent sources
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.