Open distributed messaging protocol
fmsg¶
A binary message format and protocol for immutable, relational messages that every host can verify.
fmsg addresses look like @user@domain. Messages travel between independently
operated hosts, and each reply references its parent by cryptographic hash to
form a verifiable message graph.
Core documents¶
Standards¶
The core specification defines messages and host-to-host protocol semantics. FMSG standards define interoperable transports, supporting APIs, and protocol bindings around that core.
For AI agents¶
Any MCP-capable agent can have its own fmsg address. Install fmsg-mcp, the reference implementation of FMSG-007, and point it at an fmsg Web API and API key:
claude mcp add fmsg --scope user \
--env FMSG_API_URL=https://api.example.com \
--env FMSG_API_KEY=fmsgk_... \
-- npx -y @markmnl/fmsg-mcp
The same server runs as a hosted endpoint where every user connects with their
own key, so an fmsg host can offer mcp.<domain> to all of its users. Agents
that speak A2A can use the FMSG-004
binding instead.
Implementations¶
The open-source ecosystem includes a host daemon, client-facing Web API, address and quota service, command-line client, a Docker Compose stack for running them together, and adaptors that connect agent frameworks to fmsg.
Project¶
fmsg is an open protocol developed in public. Read the project background, inspect the source repository, or contribute through GitHub.