If you've run an MCP server on one machine and wanted your LLM CLI on another to talk to it, you know the pain of manual configs, port forwarding, and brittle IP addresses. Cord's semantic discovery lets you skip all that — you can spin up a multi-machine MCP mesh in under 10 minutes, with auto-routing based on what each server says it does.
The idea is simple: each MCP server (database, filesystem, web search, etc.) registers with Cord using a human-readable "capability" string. Your LLM CLI (like Claude Desktop or a custom agent) then asks Cord "find me a server that can search_web" and gets the correct endpoint — even if that server is on a different subnet or cloud region.
What you need
- Two or more machines (local or cloud) with Docker or Node.js
- Cord installed on each:
npm install -g @cord/sdk - An MCP server you already have running (or grab one from our catalog)
Step 1: Register your MCP server with Cord
On Machine A, where your MCP server is already listening:
cord register \
--name "web-search" \
--capability "search_web, fetch_url" \
--endpoint "http://localhost:3000/mcp" \
--transport tcp
Cord picks up the interface (e.g., 192.168.1.10) and starts a lightweight discovery daemon that broadcasts the capability.
Step 2: Connect your LLM CLI to Cord
On Machine B, where your agent CLI lives:
cord connect \
--client my-agent \
--require capability=search_web
That's it. Cord resolves the capability to Machine A's endpoint, establishes a secure tunnel (using mTLS by default), and your agent can now call search_web as if the server were local.
Step 3: Use it in your agent
Here's a minimal Python snippet using the Cord HTTP API:
import requests
# Ask Cord for the right endpoint
resp = requests.get("http://localhost:8543/resolve?capability=search_web")
server = resp.json()
# Call the MCP server through Cord's proxy
mcp_req = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {"name": "search_web", "arguments": {"query": "MCP mesh"}},
"id": 1
}
r = requests.post(server["proxy_url"], json=mcp_req)
print(r.json()["result"])
No hardcoded IPs, no SSH tunnels. Add more servers (database, code interpreter, etc.) and Cord auto-balances requests based on available capabilities.
Why this matters for agent builders
- Hot-add servers: Spin up a new MCP server on a beefy remote GPU box and register it — your agents find it instantly.
- Fault tolerance: If a server goes down, Cord routes to the next one advertising the same capability.
- No DNS hassle: Semantic discovery means you name what the server does, not where it lives.
Try it today with any MCP server from our catalog — most already work out of the box. Got a custom server? Add a cord register line and you're live.
Have you used MCP across machines before? Drop a comment or ping me @vishar-rumbling if you hit a snag.
Top comments (0)