Connect LLMs to the Fediverse
ActivityPub MCP connects LLMs like Claude and ChatGPT to the Fediverse over ActivityPub and WebFinger. No instance of your own required.
How it works
Your LLM talks to the ActivityPub MCP server over the Model Context Protocol; the server speaks ActivityPub and WebFinger to the wider Fediverse.
Capabilities
A complete MCP surface for reading and acting across the Fediverse, generated directly from the server’s registry.
What sets it apart
-
Native ActivityPub & WebFinger
Resolve any
@user@instancehandle and traverse real ActivityPub data (actors, outboxes, threads) without running a server of your own. -
Multi-account, timeline & write tooling
Switch between configured accounts, read home and public timelines, and post, reply, boost, favourite, and follow, all as first-class MCP tools.
-
LLM-optimized resources & prompts
Capabilities are exposed as structured resources and guided prompt templates, so models reason over clean data instead of scraping HTML.
-
Hardened by design
SSRF guards, response-size caps, thread-traversal limits, and full-surface audit logging keep exploration safe against hostile peers.
-
Typed end to end
A fully typed TypeScript + ESM implementation with strict linting, so behavior stays predictable and contributions stay safe.
-
Cross-platform install
One
npxcommand wires the server into Claude Desktop, ChatGPT, and any MCP-compatible client on macOS, Linux, and Windows.
Quick install
Install once, then point your MCP client at it. Copy the snippet for your client below.
1. Install
npx -y activitypub-mcp Claude Desktop
{
"mcpServers": {
"activitypub": {
"command": "npx",
"args": ["-y", "activitypub-mcp"]
}
}
} ChatGPT / MCP client
{
"mcpServers": {
"activitypub": {
"command": "npx",
"args": ["-y", "activitypub-mcp"],
"env": { "ACTIVITYPUB_DEFAULT_INSTANCE": "mastodon.social" }
}
}
}