Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.cameronrye/activitypub-mcp

NPM · ACTIVITYPUB-MCP · SCANNED SEP 20

Read-only-by-default MCP server: let LLMs explore the Fediverse — Mastodon, Misskey, Pleroma.

Available components

0 this week 96 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 97 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to cameronrye/activitypub-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 89 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability87
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 1501 tokens (~53/item across 28 items; 18 tools + 10 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.cameronrye/activitypub-mcp server?

io.github.cameronrye/activitypub-mcp runs locally as an npm package, launched with npx -y activitypub-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · activitypub-mcp

# add to Claude Code
claude mcp add cameronrye-activitypub-mcp -- npx -y activitypub-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "cameronrye-activitypub-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "activitypub-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "cameronrye-activitypub-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "activitypub-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add cameronrye-activitypub-mcp -- npx -y activitypub-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cameronrye-activitypub-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "activitypub-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cameronrye-activitypub-mcp --command npx --arg -y --arg activitypub-mcp
# ~/.hermes/config.yaml
mcp_servers:
  cameronrye-activitypub-mcp:
    command: "npx"
    args: ["-y", "activitypub-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "cameronrye-activitypub-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "activitypub-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add cameronrye-activitypub-mcp -t stdio -c npx -a -y activitypub-mcp
// mcp.json
{
  "mcpServers": {
    "cameronrye-activitypub-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "activitypub-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 15 Sept 26 0
    • Stability: 0.97 → pass security
  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 10 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 9 Sept 26 −3
    • Stability: pass → 0.80 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/activitypub-mcp@3.2.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo cameronrye/activitypub-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/cameronrye/activitypub-mcp/.github/workflows/release.yml@refs/heads/main
Rekor log index 1912314010
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:2259f03feb5769afdb7e1efdb85ba6440c111170385b63b3d4b1917156183e3a53d89864b01c58ec0227be9778403883f53b2816d9b4e953506ef56c8

Background: How many MCP packages publish verified provenance →

Dependencies 97 packages
Packages resolved 97
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 18 exposed · ~1,322 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
discover-actor ~100

Find and retrieve the profile of any fediverse user or account (called an 'actor' in ActivityPub). Returns display name, bio, follower/following URLs, and inbox/outbox endpoints. Pass a handle like '@alice@mastodon.social' or 'alice@mastodon.social'.

NameTypeReqDescription
identifierstringyesActor handle in 'user@domain' or '@user@domain' form (e.g., 'alice@mastodon.social')
NameTypeReqDescription
actorobjectyes

No examples provided.

discover-instances ~139

Discover fediverse instances in real-time using the instances.social API with advanced filtering

NameTypeReqDescription
languagestringFilter by language code (e.g., 'en', 'de', 'ja')
limitnumberNumber of results (default: 20)
maxUsersnumberMaximum number of users
minUsersnumberMinimum number of users
openRegistrationsbooleanOnly show instances with open registrations
softwarestringFilter by software type
sortBystringSort results by field
sortOrderstringSort order (default: desc)
NameTypeReqDescription
hasMoreboolean
instancesarrayyes

No examples provided.

fetch-timeline ~146

Fetch recent posts (the outbox) from any fediverse actor — a user or account — with cursor- and ID-based pagination. Pass a handle like 'alice@mastodon.social'.

NameTypeReqDescription
cursorstringPagination cursor from previous response to fetch next page
identifierstringyesActor identifier (e.g., user@example.social)
limitnumberNumber of posts to fetch (default: 20)
maxIdstringReturn posts older than this post ID (pagination)
minIdstringReturn posts newer than this post ID (pagination)
sinceIdstringReturn posts more recent than this post ID
NameTypeReqDescription
hasMoreboolean
nextCursorstringOpaque cursor for the next page, if more results
postsarrayyes
sourcestringAccount/actor/instance the posts came from

No examples provided.

get-bookmarks ~39

Get your bookmarked posts

NameTypeReqDescription
accountIdstringAccount ID
limitnumberNumber of posts (default: 20)
NameTypeReqDescription
hasMoreboolean
nextCursorstringOpaque cursor for the next page, if more results
postsarrayyes
sourcestringAccount/actor/instance the posts came from

No examples provided.

get-favourites ~41

Get posts you have favourited

NameTypeReqDescription
accountIdstringAccount ID
limitnumberNumber of posts (default: 20)
NameTypeReqDescription
hasMoreboolean
nextCursorstringOpaque cursor for the next page, if more results
postsarrayyes
sourcestringAccount/actor/instance the posts came from

No examples provided.

get-home-timeline ~75

Get your personalized home timeline (posts from accounts you follow)

NameTypeReqDescription
accountIdstringAccount ID
limitnumberNumber of posts (default: 20)
maxIdstringReturn posts older than this ID
sinceIdstringReturn posts newer than this ID
NameTypeReqDescription
hasMoreboolean
nextCursorstringOpaque cursor for the next page, if more results
postsarrayyes
sourcestringAccount/actor/instance the posts came from

No examples provided.

get-instance-info ~54

Get detailed information about a fediverse instance: software and version, description, registration policy, supported languages, user/post/domain counts, and contact account.

NameTypeReqDescription
domainstringyesInstance domain (e.g., example.social)
NameTypeReqDescription
descriptionstring
domainstringyes
registrationsOpenboolean
softwarestring
titlestring
usersnumber
versionstring

No examples provided.

get-notifications ~57

Get your notifications (mentions, follows, boosts, favourites)

NameTypeReqDescription
accountIdstringAccount ID
limitnumberNumber of notifications (default: 20)
typesarrayFilter by notification types
NameTypeReqDescription
notificationsarrayyes

No examples provided.

get-post-thread ~80

Fetch a post and its full conversation thread including replies and parent posts

NameTypeReqDescription
depthnumberHow many levels of nested replies to fetch (default: 2)
maxRepliesnumberMaximum number of replies to fetch (default: 50)
postUrlstringyesThe URL of the post to fetch the thread for
NameTypeReqDescription
ancestorsarrayyes
postobjectyes
repliesarrayyes

No examples provided.

get-public-timeline ~110

Fetch an instance's public timeline. scope 'federated' (default) shows posts the instance has seen from across the fediverse; 'local' shows only posts authored on that instance.

NameTypeReqDescription
domainstringyesInstance domain, e.g. mastodon.social
limitnumberNumber of posts to fetch (default: 20)
maxIdstringReturn results older than this ID (for pagination)
scopestringdefault: federated
NameTypeReqDescription
hasMoreboolean
nextCursorstringOpaque cursor for the next page, if more results
postsarrayyes
sourcestringAccount/actor/instance the posts came from

No examples provided.

get-relationship ~123

Check your relationship status with another account (following, followed by, blocking, muting, etc.). Pass a single acct like 'username@instance'. To check multiple accounts, call this tool once per account.

NameTypeReqDescription
accountIdstringYour account ID
accountIdsDeprecated / not supported. Use 'acct' (a single username@instance string) and call this tool once per account.
acctstringyesAccount to check relationship with (username@instance). If you have multiple accounts to check, call this tool once per account.
NameTypeReqDescription
acctstringyes
blockingboolean
followedByboolean
followingboolean
mutingboolean
requestedboolean

No examples provided.

get-scheduled-posts ~46

List your scheduled posts that haven't been published yet

NameTypeReqDescription
accountIdstringAccount ID
limitnumberNumber of posts (default: 20)
NameTypeReqDescription
scheduledPostsarrayyes

No examples provided.

get-trending-hashtags ~66

Get currently trending hashtags on a fediverse instance (Mastodon-compatible instances that expose a trends API).

NameTypeReqDescription
domainstringyesInstance domain (e.g., mastodon.social)
limitnumberNumber of hashtags to fetch (default: 20)
NameTypeReqDescription
hashtagsarrayyes

No examples provided.

get-trending-posts ~65

Get currently trending posts on a fediverse instance (Mastodon-compatible instances that expose a trends API).

NameTypeReqDescription
domainstringyesInstance domain (e.g., mastodon.social)
limitnumberNumber of posts to fetch (default: 20)
NameTypeReqDescription
hasMoreboolean
nextCursorstringOpaque cursor for the next page, if more results
postsarrayyes
sourcestringAccount/actor/instance the posts came from

No examples provided.

list-accounts ~18

List all configured authenticated accounts for write operations

Input schema present but exposes no named parameters.

NameTypeReqDescription
accountsarrayyes
activeAccountIdstring
writeEnabledbooleanyes

No examples provided.

search ~86

Unified search across the fediverse - find accounts, posts, or hashtags on any instance

NameTypeReqDescription
domainstringInstance domain to search on (default: mastodon.social)
limitnumberNumber of results per type (default: 10)
querystringyesSearch query
typestringType of content to search for (default: all)
NameTypeReqDescription
accountsarray
hashtagsarray
statusesarray

No examples provided.

switch-account ~39

Switch the active account used for write operations

NameTypeReqDescription
accountIdstringyesThe account ID to switch to (use list-accounts to see IDs)
NameTypeReqDescription
accountIdstring
activeboolean
instancestring
usernamestring
verifiedboolean

No examples provided.

verify-account ~38

Verify that the account credentials are valid and get account information

NameTypeReqDescription
accountIdstringThe account ID to verify (defaults to active account)
NameTypeReqDescription
accountIdstring
activeboolean
instancestring
usernamestring
verifiedboolean

No examples provided.

Common questions

What is the io.github.cameronrye/activitypub-mcp server?

io.github.cameronrye/activitypub-mcp is listed in the public MCP registry as io.github.cameronrye/activitypub-mcp. Read-only-by-default MCP server: let LLMs explore the Fediverse, Mastodon, Misskey, Pleroma. This page covers its npm package (activitypub-mcp).

Is the io.github.cameronrye/activitypub-mcp server safe to use?

io.github.cameronrye/activitypub-mcp scores 96 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.cameronrye/activitypub-mcp server expose?

io.github.cameronrye/activitypub-mcp exposes 18 tools: discover-actor, discover-instances, fetch-timeline, get-post-thread, search, and 13 more. Their descriptions and schemas cost roughly 1,322 tokens of context every time the server is loaded.

Is the io.github.cameronrye/activitypub-mcp server still maintained?

io.github.cameronrye/activitypub-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.cameronrye/activitypub-mcp server under?

io.github.cameronrye/activitypub-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.