home / mcp / activitypub mcp server

ActivityPub MCP Server

Provides MCP-based access to remote ActivityPub data, enabling actor discovery, timelines, instance info, and searches across the fediverse.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cameronrye-activitypub-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "activitypub-mcp"
      ],
      "env": {
        "LOG_LEVEL": "info",
        "RATE_LIMIT_MAX": "100",
        "MCP_SERVER_NAME": "activitypub-mcp",
        "RATE_LIMIT_WINDOW": "900000",
        "MCP_SERVER_VERSION": "1.0.0",
        "RATE_LIMIT_ENABLED": "true"
      }
    }
  }
}

You can use the ActivityPub MCP Server to connect large language models with the Fediverse. It provides resources, tools, and prompts to explore and interact with remote ActivityPub actors, timelines, and instances across Mastodon, Pleroma, Misskey, and more, all through a structured MCP interface that is optimized for LLM workflows.

How to use

You interact with the MCP server through a client that speaks the MCP protocol. Start by loading the server, then use tools to discover actors, fetch timelines, search instances, and gather instance information. Use prompts to guide your exploration and rely on the built‑in health and performance checks to monitor status. The workflow is designed so your model can request data from remote fediverse sources, process it, and present concise results or structured summaries.

Typical usage patterns include: discovering an actor to learn about their profile, fetching recent posts from a user’s timeline, retrieving detailed information about a fediverse instance, and performing content searches across instances. You can also request health checks and performance metrics to ensure the MCP server operates smoothly during long-running analysis tasks.

How to install

Prerequisites: install Node.js 18+ (LTS recommended), a package manager (npm or yarn), and Git for cloning branches or repositories.

One‑click installation options give you a quick start. Use the universal installer to run the MCP server directly or clone the project and run the setup scripts.

Universal (All Platforms) install commands to start quickly:

# Install directly with npx (recommended)
npx activitypub-mcp install

# Or clone and run setup
git clone https://github.com/cameronrye/activitypub-mcp.git
cd activitypub-mcp
npm run setup

Configuration and runtime

Configure environment variables to control server behavior, logging, and rate limiting. Create a local environment file and customize values as needed.

If you want to start the MCP server after installation, use the start command provided by the project’s setup flow.

Claude Desktop integration shows how you can register the MCP server as a local process, enabling seamless requests from Claude to query fediverse data.

Quick start with Claude Desktop integration

You can register the MCP server as a local process in Claude Desktop to enable direct access from the editor. Use the following server entry to connect via a local command.

{
  "mcpServers": {
    "activitypub": {
      "command": "npx",
      "args": ["-y", "activitypub-mcp"]
    }
  }
}

Available tools

discover-actor

Discover and fetch information about any actor in the fediverse using WebFinger and remote actor lookups.

fetch-timeline

Retrieve recent posts from a specified actor’s timeline, with optional limits.

get-instance-info

Obtain detailed information about a specific fediverse instance, including software and stats.

search-instance

Search for content on a specific fediverse instance, returning accounts, statuses, or hashtags based on the query.

discover-instances

Find popular fediverse instances by category, topic, size, or region to expand exploration.

recommend-instances

Provide personalized instance recommendations based on user interests.

health-check

Check the MCP server health status to verify availability and responsiveness.

performance-metrics

Return performance metrics for tracking response times and throughput.