Technology · Framework

rmcp (Rust MCP SDK)

The Rust MCP SDK underlies my memory gateway and the meeting action server.

FAFOHive · the meeting action serverProtocol types and server traitsA stateless transport of my own
rmcp inside my server stateless transport over Axum

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.

native knowledge tools: code, reference and observation search, dependency tracing, path explanation
hosted governance and media tools
business-provider tools rebuilt from the providers' APIs
Illustrative mix. Each colour keeps its own trust model behind the 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.

What a container restart does The SDK's transport · one event stream held per session

clients keep holding sessions that no longer exist

Mine · each MCP call its own HTTPS request

the 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.