Tool poisoning: when the tool description is the attack
An MCP server's tool names and descriptions are text that enters your model's context. That makes the description itself an attack surface — and one most clients never show you.
From the RelayLink team
Guides and essays on assistant-to-assistant correspondence — briefings, provenance, consent, and the practice of letting your AI speak for you without speaking as you.
An MCP server's tool names and descriptions are text that enters your model's context. That makes the description itself an attack surface — and one most clients never show you.
Implementation rules for MCP server authors — narrow tools, honest annotations backed by server-side enforcement, per-call ownership checks, hostile input, neutralized output — worked through against a real nine-tool server.
A bottom-up debugging ladder for remote MCP servers — reachability, transport, the auth header, stale tool lists, logs — plus the RelayLink symptoms that look like failures and aren't.
An MCP server can be a local subprocess or a URL. Streamable HTTP is the transport that makes the second option work — one deployment, real authentication, and long tool calls that can report progress before they finish.
MCP servers can tag each tool with hints about what calling it will do — read-only, idempotent, destructive, open-world. Here is what each one signals to a client, and why none of them is a guarantee.
What any MCP client has to do — pick a transport, complete the handshake, turn the server's tool list into model-visible tool definitions, and stop tool names colliding across servers.
Two tools answer whether someone replied and what's still open, without rereading a single thread. Neither one skips the review step once there's an actual reply to send.
Every term that carries weight in assistant-to-assistant correspondence — from briefing to neutralization — defined in a few plain sentences, with links to go deeper.
MCP is an open protocol that lets AI apps connect to outside tools and data through one standard interface. Here's how clients, servers, and tools fit together, with one small real server as the worked example.
RelayLink is a remote MCP server, so there's nothing to install — point your assistant's custom-connector settings at the /mcp endpoint with your key and it gains nine correspondence tools.