Pilot Mcp Bridge Fleet Setup

MCP Tools

Deploy 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 configuring an MCP gateway, A2A bridge, or tool registry agent 3. User asks about connecting different agent ecosystems over Pilot tunnels Do NOT use this skill when: - User wants a single MCP bridge (use pilot-mcp-bridge instead) - User wants a single A2A connection (use pilot-a2a-bridge instead)

Install

openclaw skills install pilot-mcp-bridge-fleet-setup

MCP Bridge Fleet Setup

Deploy 3 agents: MCP gateway, A2A bridge, and tool registry.

Roles

RoleHostnameSkillsPurpose
mcp-gateway<prefix>-mcp-gwpilot-mcp-bridge, pilot-api-gateway, pilot-health, pilot-metricsBridges MCP tool servers
a2a-bridge<prefix>-a2a-bridgepilot-a2a-bridge, pilot-task-router, pilot-audit-logConnects A2A protocol agents
tool-registry<prefix>-tool-registrypilot-directory, pilot-discover, pilot-announce-capabilities, pilot-load-balancerCentral 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.