-
Purpose ActivityPub MCP Server is a lightweight MCP (Model Context Protocol) server whose goal is to enable large language models to explore and interact with the existing Fediverse. The Fediverse covers Mastodon, Misskey, Foundkey, Pleroma, and compatible servers. By default it is in read-only mode, and write tools must be manually opted into. Requires Node.js 20+.
-
Main Capabilities By default, only read-only tools are registered: discover accounts, fetch timelines, search, get post threads, explore instances, read trending content. Since no write tools exist in the MCP session, injected fediverse content cannot trigger account operations. Public read-only tools (no account required): discover-actor, fetch-timeline, get-post-thread, get-instance-info, get-public-timeline, get-trending-hashtags, get-trending-posts, search, discover-instances. Authenticated read-only tools (account required): list-accounts, switch-account, verify-account, get-home-timeline, get-notifications, get-bookmarks, get-favourites, get-relationship. How to enable writes: set ACTIVITYPUB_ENABLE_WRITES=true in the environment variables or in the env block of the MCP configuration, which will register the full set of mutation tools: post, reply, delete, boost, like, bookmark, follow, mute, block, vote, upload media, and scheduled posts. The documentation recommends reading the threat model before enabling.
-
Usage One-click install: download the .mcpb bundle from the latest release (activitypub-mcp-<version>.mcpb) and open it in Claude Desktop. Manual install: edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. In Cursor, edit ~/.cursor/mcp.json, then restart Cursor. CLI login: run OAuth (Mastodon family) or MiAuth (Misskey) via the browser, and credentials are saved to ~/.config/activitypub-mcp/accounts.json. Multiple accounts are supported; use switch-account to switch the current account. You can also configure a single account without the CLI flow by setting the ACTIVITYPUB_DEFAULT_INSTANCE and ACTIVITYPUB_DEFAULT_TOKEN environment variables. After adding the server, you can try the prompt: "Look up @gargron@mastodon.social and summarize their latest posts." The model will first call discover-actor to get the profile, then use fetch-timeline to read recent posts. The examples/ directory provides copyable recipes, including Fediverse research summaries, scheduled threads, notification triage, image posts with alt text, and topic curation. In addition to the default stdio mode, the server also supports HTTP mode, providing a /mcp endpoint with bearer authentication and a /health liveness check, enabled by setting MCP_HTTP_SECRET (at least 16 characters). For self-hosting as a service, the repository includes a Dockerfile and docker-compose.yml (HTTP mode). Full configuration is in the documentation: cameronrye.github.io/activitypub-mcp/docs/.
-
Platform Support discover-actor and fetch-timeline use native ActivityPub (WebFinger → actor → outbox) and can read any spec-compliant ActivityPub server, including Mastodon, Misskey, Foundkey, Pleroma/Akkoma, Lemmy (communities andUsers), PeerTube (channels and accounts), GoToSocial, and Pixelfed. The instance API class read-only tools (search, get-trending-hashtags, get-trending-posts, get-public-timeline) as well as all write tools require a Mastodon or Misskey API instance, because they call these platforms' REST APIs. Login uses OAuth (Mastodon family) or MiAuth (Misskey).
V. Limitations and Security This server fetches fediverse content that can be written by anyone (posts, bios, notifications) and feeds it to the LLM; this content may contain prompt injection payloads; notifications are an unsolicited channel, and anyone can mention your account. <untrusted-content> wrapping and default read-only reduce the risk surface, but do not eliminate it. For the full threat model, SSRF protection, credential handling, and reporting instructions, see SECURITY.md.
VI. License and Acknowledgments Licensed under the MIT License, see LICENSE for details. Built on Anthropic's Model Context Protocol, and interacts with decentralized social networks in accordance with the ActivityPub (W3C) and ActivityStreams specifications.
VII. Information Not Yet Provided Regarding pricing, charging models, specific effectiveness metrics, performance data, and platform availability scope, etc., the materials do not yet provide this information.