MCP Mesh
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Meshbridge to factory gateway and list its tools"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Mesh
DEPRECATED: This package has been absorbed into mcp-iot-gateway. The federation functionality is now built-in to the gateway as the
@mcp-iot-gateway/corefederation module. This repository is archived for reference only.
Peer-to-peer federation for MCP servers.
MCP Mesh enables decentralized, peer-to-peer communication between MCP servers. It solves the fundamental limitation of MCP's client-server model: a single client can only connect to one server at a time.
┌─────────────┐
│ Claude │
└──────┬──────┘
│
┌──────▼──────┐
│ mcp-mesh │ ← One connection
└──────┬──────┘
│ bridges to many
┌────────────┴────────────┐
│ │
┌──────▼──────┐ ┌──────▼──────┐
│ factory │◀────────▶│ edge │
│ gateway │ peers │ gateway │
└─────────────┘ └─────────────┘Features
Bridge Mode - Re-export remote tools locally with prefixes (
factory_iot_discover)P2P Connections - Direct node-to-node communication
Hub Mode - Optional central coordinator for network management
meshctl CLI - Hamachi-style network management
Pure MCP - No protocol extensions, works with any MCP client
Related MCP server: GameDev-MCP-Server
Installation
npm install mcp-meshOr run directly:
npx mcp-mesh --helpQuick Start
P2P Mode (Direct Connections)
Start a mesh node that bridges to other gateways:
# Start mesh node bridging to factory and edge gateways
mcp-mesh --port 45679 --name "my-mesh" --bridge factory --bridge edgeThe bridged tools become available with prefixes:
factory_iot_discover→ callsiot_discoveron factoryedge_gateway_status→ callsgateway_statuson edge
Hub Mode (Centralized Network)
Start a hub for network coordination:
# Start hub
mcp-mesh --hub --port 45679 --name "central" --network "mycompany"
# Join from other nodes
mcp-mesh --port 45680 --name "factory-gw" --join http://hub:45679/mcpClaude Desktop Integration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcp-mesh": {
"command": "npx",
"args": [
"mcp-mesh",
"--stdio",
"--name", "claude-desktop",
"--bridge", "factory",
"--bridge", "edge"
]
}
}
}CLI Reference
mcp-mesh
mcp-mesh [options]
Options:
--stdio Use stdio transport (for MCP clients)
--port <port> HTTP server port (default: 45679)
--name <name> Human-readable name for this node
--bridge <spec> Bridge to a peer (UUID, name, or URL). Repeatable.
--peer <key=url> Connect to a peer without bridging. Repeatable.
--hub Run as hub (central coordinator)
--join <url> Join a hub network by URL
--network <id> Network ID (for hub mode)meshctl
Network management CLI (Hamachi-style):
meshctl status Show local node status
meshctl list List all nodes in directory
meshctl networks List available hubs
meshctl network <hub-url> Show network details
meshctl join <hub-url> Join a network
meshctl connect <peer> Connect to peer
meshctl disconnect <peer> Disconnect from peerAPI Usage
Basic Node
import { MeshNode, registerMeshTools } from "mcp-mesh";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
// Create mesh node
const node = new MeshNode({
name: "my-server",
url: "http://localhost:45678/mcp",
});
// Add mesh tools to your MCP server
const server = new McpServer({ name: "my-server", version: "1.0" });
registerMeshTools(server, node);
// Connect to peers
await node.bridge("factory"); // Bridge with prefix
await node.connectPeer({ key: "edge", url: "http://edge:45678/mcp" });Hub Mode
const hub = new MeshNode({
name: "central-hub",
hub: true,
networkId: "mycompany",
});
// Nodes register automatically via mesh_hub_register tool
// Or programmatically:
hub.hubRegister({
id: "node-uuid",
name: "factory",
url: "http://factory:45678/mcp",
});
// Get network status
const stats = hub.hubStats();
const nodes = hub.hubListNodes({ onlineOnly: true });Directory Lookup
import { MeshDirectory } from "mcp-mesh";
const directory = new MeshDirectory();
// List all known nodes
const nodes = directory.list();
// Look up by name or UUID
const factory = directory.lookup("factory");
console.log(factory?.url); // http://127.0.0.1:45678/mcp
// Resolve any specifier (URL, UUID, or name)
const entry = directory.resolve("factory");MCP Tools
When registerMeshTools() is called, these tools are added:
Peer Management
Tool | Description |
| List all peer connections |
| Connect to a peer |
| Disconnect from a peer |
| Call a tool on a peer |
| List tools on a peer |
Bridge Mode
Tool | Description |
| List tools from bridge peers |
| Call a bridged tool |
Directory
Tool | Description |
| List all nodes in directory |
| Look up a node |
| Get this node's info |
Hub Mode (when --hub)
Tool | Description |
| Register a node with hub |
| Send heartbeat |
| List registered nodes |
| Get hub statistics |
| Connect to a registered node |
Configuration
Environment Variables
Variable | Description | Default |
| Data directory |
|
| Peers file path |
|
Peers File
The directory file at ~/.config/mcp-mesh/peers uses a hosts-style format:
# MCP Mesh Peers
# Format: UUID URL [NAME]
#
a7196323-dcc1-4109-abf5-b47c2f99f920 http://127.0.0.1:45678/mcp factory
9f157a51-7aaa-4f2c-bc38-3c791b604892 http://127.0.0.1:45679/mcp edgeArchitecture
See ARCHITECTURE.md for detailed design documentation.
Topology Options
P2P (Decentralized)
A ←──→ B
↑ ↑
│ │
↓ ↓
C ←──→ DNo single point of failure
Works offline/air-gapped
Each node manages its own connections
Hub (Centralized)
Hub
/ | \
A B CCentral registry and coordination
Easier network management
Better for enterprise/audit requirements
Hybrid
Hub
/ | \
Site Site Site
/\ | /\
A B C D EHub for cross-site coordination
P2P within sites
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Trust, freshness, policy, and discovery layer for public MCP servers.
MCP registry: 138k servers crawled, handshake-validated, reliability-scored. 744 production-safe.
Unified gateway hosting 5 Hive Civilization MCP servers (evaluator, trade, depin, compute-grid…
MCP server bridging holepunchto/keet-identity-key to the Hive agentic identity network
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA universal MCP server that acts as a unified gateway for dynamically connecting and managing multiple MCP servers via a single HTTP endpoint.7 npm6MIT
- AlicenseNot gradedqualityAmaintenanceOpen-source, engine-agnostic MCP server shared by Unity-MCP, Godot-MCP, and Unreal-MCP.13Apache 2.0
- AlicenseNot gradedqualityBmaintenanceA sovereign, MIT-licensed MCP server providing cryptographically signed, offline-capable tools for autonomous agents and developers.MIT
- AlicenseAqualityAmaintenanceAn MCP server for the Overte social-VR platform, enabling real-time querying of domain status, spawning in-world entities, and injecting JavaScript scripts through a WebSocket bridge.42MIT