A tool server is an MCP server the platform calls during a conversation. It is
the only way your product influences what an assistant can do.
The three methods
The platform sends MCP-Protocol-Version: 2025-06-18 and accepts either an
application/json body or a text/event-stream response.
Sessions
If your server needs a session, answer a session-less tools/call with 400
or 404. The platform then runs initialize, picks up Mcp-Session-Id, and
retries once.
It tries without a session first, on purpose. Handshaking before every
call would add two round trips to every tool use, inside a conversation
someone is waiting on.
Timeouts
Calls time out in 10 seconds by default, with one retry.
This budget is not generous, and it is not going to be. A tool call happens
while a customer waits for a reply. If your work takes longer, return
immediately with what you know and let the assistant follow up — do not hold
the connection open.
What a failure does
Nothing you return can break a conversation. A timeout, a refusal, a crash —
each becomes a tool result the assistant reads and explains. It will say the
team will check and carry on.
That is a guarantee about the platform, not permission to fail: an assistant
that cannot answer is still a customer who did not get an answer.