Fediverse Actor Check
Guest access is available after setup. Full account linking verified by PowMCP: Claude only.
Use in your browser
Resolve a fediverse handle or actor URL through WebFinger, then check that the actor, its inbox, outbox, and public key agree and respond. Compare two actors on the same instance to see what differs.
Guest includes 50 lifetime app requests. Create a free account for 100 app requests each calendar month. One allowance across every app, in your browser and your agent.One allowance across every app, in your browser and your agent. Manage usage
Guest access is available after setup. Full account linking verified by PowMCP: Claude only.
Connect this app on its own. Add other PowMCP apps whenever your agent needs another job done.
Open the apps workspace
Choose your agent. Each button opens a new tab with only this app's endpoint ready to add.
Copy one ready-to-send prompt for any agent that supports remote MCP connections.
For clients that require manual configuration, use this app-only endpoint, its JSON entry, or one terminal command.
ChatGPT: enable Developer mode in Settings → Security and login, then add this MCP endpoint from the Plugins page. Availability depends on your account and workspace policy. PowMCP has not yet verified ChatGPT account linking. OpenAI setup guide
https://powmcp.com/fediverse-actor-check/mcp {
"mcpServers": {
"powmcp-fediverse-actor-check": {
"type": "http",
"url": "https://powmcp.com/fediverse-actor-check/mcp"
}
}
}Terminal agents add this app with one command:
claude mcp add --transport http powmcp-fediverse-actor-check https://powmcp.com/fediverse-actor-check/mcpcodex mcp add powmcp-fediverse-actor-check --url https://powmcp.com/fediverse-actor-check/mcpgemini mcp add --transport http powmcp-fediverse-actor-check https://powmcp.com/fediverse-actor-check/mcpManage, disable, or remove this connection in your agent's own MCP settings. PowMCP does not label an external connection as installed without confirmation from that client.
Proof
Resolve a @user@host handle through WebFinger to its ActivityPub actor and check the negotiated discovery chain in chat
Validate a public fediverse handle (@user@host or acct:) or ActivityPub actor URL end to end: resolve /.well-known/webfinger, follow rel="self" to the actor document fetched with the required Accept: application/activity+json header, then check WebFinger-to-actor consistency (subject/aliases vs id, type/id self-link round-trip, preferredUsername vs handle) and the presence, format, and HTTP reachability of inbox, outbox, sharedInbox, publicKey, and endpoints, or compare two same-lineage actors under identical limits.
Request cost1 completed result
Guests get 50 lifetime app requests. Free accounts get 100 each calendar month.
actor_check
Resolve one fediverse handle (@user@host, user@host, or acct:user@host) or one public https ActivityPub actor URL through WebFinger to its ActivityPub actor and validate the negotiated discovery chain. From a bare handle it constructs https://host/.well-known/webfinger?resource=acct:user@host, follows the rel="self" link, and fetches the actor WITH Accept: application/activity+json (the same URL with a browser Accept returns the HTML profile page, not the JSON-LD). It then checks WebFinger subject/aliases vs actor id, the type/id self-link round-trip, preferredUsername vs the handle, and the presence, offline-profile format, and live HTTP reachability of inbox, outbox, sharedInbox, publicKey, and endpoints. Every negative is a distinguished state (handle-unresolvable vs webfinger-absent, actor-unreachable vs actor-malformed, endpoint-declared-but-unreachable vs endpoint-not-declared, publickey-absent vs publickey-malformed, self-link-mismatch vs self-link-absent), and a 4xx/405 to a bare GET is reachable-but-responded, not unreachable. It proves WebFinger-to-actor discovery consistency and HTTP reachability at check time, never that real federation delivery works, that the server accepts signed activities, or that any account is authentic. Each call live-fetches WebFinger, the actor, and several endpoints and can take up to 60 seconds.
actor_compare
Compare exactly two same-lineage fediverse actors (two handles or actor URLs on the same instance or software, or the same actor before versus after a change) under the identical bounded checks actor_check runs. Select it whenever the user gives two actors and asks what differs; the tool reports the pair as not comparable when they do not share an instance or software lineage, so you never need to pre-verify that yourself. It reports each actor's resolved handle, actor id, pass status, discovery state, per-hop consistency, endpoint reachability, and publicKey shape, plus a difference table of consistency and reachability findings introduced or resolved between the two. It never infers that one account is more legitimate, authentic, or better federated than the other: it judges only automated discovery consistency and HTTP reachability. Each comparison live-fetches WebFinger, the actor, and several endpoints for both and can take up to 60 seconds.
Other apps for the jobs next to Fediverse Actor Check.
Scope and boundaries for Fediverse Actor Check.
Resolve @Mastodon@mastodon.social through its acct: WebFinger resource with endpoint probing enabled, or compare that handle with a second same-instance actor URL to inspect discovery differences.
Start with discoveryState, pass, and the first ranked issue; fix the earliest broken discovery or identity step before downstream endpoint findings. A pass means the WebFinger-to-actor chain, required actor shape, public key, and bare-GET endpoint reachability met this profile at check time, not that signed federation delivery works. An endpoint response can prove reachability without proving usability, and truncation leaves the affected document inconclusive.
The result proves public discovery consistency and bare-GET HTTP reachability only at check time. It does not send or authenticate federation activities, test signed delivery, establish account authenticity, or show that another server will federate successfully; unlike-host comparisons may be reported as not comparable.