A Rust MCP server on the SDK's types
FAFOHive needed an MCP server in Rust, and I built it on rmcp, the Rust MCP SDK, for its protocol types and server traits. The tool surface, dispatch and security are mine. The server registers three families of tools behind one list.
An earlier standalone code-search server ran on the same SDK: a small Rust MCP prototype with tree-sitter chunking and hybrid lexical and vector search. Its chunking and fusion settled the approach that FAFOHive's memory capability's code intelligence uses.
A transport that survives restarts
Its session-holding transport broke at every container restart, so I replaced it with a stateless one over Axum, behind TLS and fail-closed bearer-token introspection: a token that cannot be introspected is refused.
I use a vendor SDK for what it does well and replace the part that breaks under real operation, once, in the server.
clients keep holding sessions that no longer exist
Mine · each MCP call its own HTTPS requestthe next request after the restart simply lands
Each tool also has its own timeout, because a graph-backed explanation legitimately takes far longer than a keyword lookup; the code-path explainer gets 120 seconds and quick lookups stay short. See A code explainer that is not allowed to invent. rmcp itself is unmodified, and the replacement transport is my code.