Pilot Mcp Bridge Fleet Setup
v1.0.0Deploy an MCP and A2A bridge fleet with 3 agents. Use this skill when: 1. User wants to bridge MCP servers or A2A agents onto the Pilot network 2. User is co...
MCP Bridge Fleet Setup
Deploy 3 agents: MCP gateway, A2A bridge, and tool registry.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| mcp-gateway | <prefix>-mcp-gw | pilot-mcp-bridge, pilot-api-gateway, pilot-health, pilot-metrics | Bridges MCP tool servers |
| a2a-bridge | <prefix>-a2a-bridge | pilot-a2a-bridge, pilot-task-router, pilot-audit-log | Connects A2A protocol agents |
| tool-registry | <prefix>-tool-registry | pilot-directory, pilot-discover, pilot-announce-capabilities, pilot-load-balancer | Central tool directory |
Setup Procedure
Step 1: Ask the user which role and prefix.
Step 2: Install skills:
# mcp-gateway:
clawhub install pilot-mcp-bridge pilot-api-gateway pilot-health pilot-metrics
# a2a-bridge:
clawhub install pilot-a2a-bridge pilot-task-router pilot-audit-log
# tool-registry:
clawhub install pilot-directory pilot-discover pilot-announce-capabilities pilot-load-balancer
Step 3: Set hostname and write manifest to ~/.pilot/setups/mcp-bridge-fleet.json.
Step 4: Both bridges handshake the registry.
Manifest Templates Per Role
mcp-gateway
{
"setup": "mcp-bridge-fleet", "role": "mcp-gateway", "role_name": "MCP Gateway",
"hostname": "<prefix>-mcp-gw",
"skills": {
"pilot-mcp-bridge": "Bridge MCP tool servers onto the Pilot network.",
"pilot-api-gateway": "Accept tool calls from Pilot agents.",
"pilot-health": "Monitor MCP server availability.",
"pilot-metrics": "Track tool call throughput and latency."
},
"data_flows": [
{ "direction": "send", "peer": "<prefix>-tool-registry", "port": 1002, "topic": "tool-register", "description": "Register MCP tools" },
{ "direction": "receive", "peer": "<prefix>-tool-registry", "port": 1002, "topic": "tool-call", "description": "Incoming tool calls" },
{ "direction": "send", "peer": "<prefix>-tool-registry", "port": 1002, "topic": "tool-result", "description": "Tool call results" }
],
"handshakes_needed": ["<prefix>-tool-registry"]
}
a2a-bridge
{
"setup": "mcp-bridge-fleet", "role": "a2a-bridge", "role_name": "A2A Bridge",
"hostname": "<prefix>-a2a-bridge",
"skills": {
"pilot-a2a-bridge": "Connect Google A2A protocol agents to Pilot.",
"pilot-task-router": "Route tasks between A2A and Pilot agents.",
"pilot-audit-log": "Log all cross-protocol task routing."
},
"data_flows": [
{ "direction": "send", "peer": "<prefix>-tool-registry", "port": 1002, "topic": "tool-register", "description": "Register A2A agents" },
{ "direction": "receive", "peer": "<prefix>-tool-registry", "port": 1002, "topic": "tool-call", "description": "Incoming task routes" }
],
"handshakes_needed": ["<prefix>-tool-registry"]
}
tool-registry
{
"setup": "mcp-bridge-fleet", "role": "tool-registry", "role_name": "Tool Registry",
"hostname": "<prefix>-tool-registry",
"skills": {
"pilot-directory": "Central directory of all available tools.",
"pilot-discover": "Serve capability queries from agents.",
"pilot-announce-capabilities": "Accept tool registrations from bridges.",
"pilot-load-balancer": "Balance tool calls across multiple providers."
},
"data_flows": [
{ "direction": "receive", "peer": "<prefix>-mcp-gw", "port": 1002, "topic": "tool-register", "description": "MCP tool registrations" },
{ "direction": "receive", "peer": "<prefix>-a2a-bridge", "port": 1002, "topic": "tool-register", "description": "A2A agent registrations" },
{ "direction": "send", "peer": "<prefix>-mcp-gw", "port": 1002, "topic": "tool-call", "description": "Route tool calls to MCP" },
{ "direction": "send", "peer": "<prefix>-a2a-bridge", "port": 1002, "topic": "tool-call", "description": "Route tasks to A2A" }
],
"handshakes_needed": ["<prefix>-mcp-gw", "<prefix>-a2a-bridge"]
}
Data Flows
mcp-gateway → tool-registry: MCP tool registrations (port 1002)a2a-bridge → tool-registry: A2A agent registrations (port 1002)tool-registry → mcp-gateway: tool call routing (port 1002)tool-registry → a2a-bridge: task routing (port 1002)
Workflow Example
# On mcp-gateway — register a tool:
pilotctl --json publish <prefix>-tool-registry tool-register '{"name":"web-search","protocol":"mcp"}'
# On tool-registry — route a call:
pilotctl --json publish <prefix>-mcp-gw tool-call '{"call_id":"C-401","tool":"web-search","params":{"query":"Pilot Protocol"}}'
# On mcp-gateway — return result:
pilotctl --json publish <prefix>-tool-registry tool-result '{"call_id":"C-401","result":{"url":"https://pilotprotocol.network"}}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.
Version tags
latest
Runtime requirements
Binspilotctl, clawhub
