Capabilities
Resolve handles to DIDs, find user profiles, and explore identity metadata across the network.
Query records, list collections, and inspect raw AT Protocol data structures directly.
Check account verification status and inspect associated proofs and audit logs.
Bridge the gap with tools to query ActivityPub profiles and posts.
Look up Nostr profiles, posts, and events by npub, nevent, or hex pubkey.
Search, look up, and validate AT Protocol lexicon schemas by NSID.
Find which records reference any AT URI or profile — likes, reposts, replies, and more.
Browse user blobs and inspect blob CIDs with content-type metadata.
Create, update, and delete records; compose and publish posts. Available in local STDIO mode only.
Tool Catalog
| Tool Name | Description | Arguments |
|---|---|---|
| search_handles | Search for user handles on AT Protocol/Bluesky. | query |
| get_user_profile | Get detailed profile information for a user. | identifier |
| get_account_document | Get DID document and verification status. | identifier |
| get_repository_summary | Get repository metadata including PDS details. | identifier |
| browse_collection_records | Browse paginated records from a collection. | identifier collection limit? cursor? |
| get_user_collection | Get records from a specific collection (posts, likes, etc.). | identifier collection limit? |
| get_user_collections | List all available collections for a user. | identifier |
| get_user_blobs | Get list of blob CIDs with content-type metadata. | identifier |
| get_ai_preferences | Get a user's published AI consent preferences (community.lexicon.preference.ai). Other tools refuse calls when inference is denied. | identifier |
| get_verification_status | Check verification status for a handle. | identifier |
| verify_handle | Perform comprehensive domain handle verification. | identifier |
| get_verifications | List verifications with pagination/filtering. | cursor? limit? handle? subject? |
| get_verifiers | List trusted verifiers. | handle? cursor? limit? |
| check_verification | Check status for a specific handle/DID. | identifier |
| get_record | Look up a record by DID, collection, and rkey. | did collection rkey |
| get_record_by_uri | Look up a record by AT URI. | uri |
| get_at_explore_link | Generate AT Explore web link for a record. | did collection rkey |
| get_at_explore_link_by_uri | Generate AT Explore web link from a URI. | uri |
| get_lexicon_schema | Get the lexicon schema definition for an NSID. | nsid |
| search_lexicons | Search for lexicon schemas by NSID. | query cursor? limit? |
| validate_lexicon | Validate data against a lexicon schema. | data schemaId sourceDid? defName? |
| get_all_link_sources | Get engagement stats (likes, reposts, follows). | identifier |
| get_specific_backlinks | Get backlink records for a collection/path. | identifier collection path |
| get_profile_backlinks | Get backlinks for a user's profile. | identifier collection? path? |
| get_record_backlinks | Get backlinks for a specific record. | identifier collection rkey |
| get_at_stats | Get follower/following/posts stats for an AT Protocol user. | identifier |
| get_activitypub_stats | Get stats for an ActivityPub user. | handle |
| get_bridge_status | Check if an AT Protocol account is bridged via Bridgy Fed. | identifier |
| get_activitypub_bridge_status | Check if an ActivityPub account is bridged to AT Protocol. | handle |
| get_activitypub_profile | Fetch a federated ActivityPub profile. | handle |
| get_activitypub_posts | Get posts from an ActivityPub user. | handle page? |
| get_activitypub_post | Get a specific ActivityPub post. | handle postId |
| graphql_query | Execute a flexible GraphQL query for efficient data fetching. | query variables? |
| get_feed | Fetch posts from a custom AT Protocol feed generator by URI. | uri limit? cursor? with_verification? |
| get_nostr_profile | Get a Nostr user profile by npub or hex pubkey. | identifier |
| get_nostr_event | Get a Nostr event by nevent1, note1 bech32, or hex ID. | id |
| get_nostr_posts | Get recent posts for a Nostr user with pagination. | identifier limit? cursor? |
STDIO Tools (Write Operations)
Available only in local STDIO mode (Claude Desktop / npx). Requires authentication via the login tool for write operations.
| Tool Name | Description | Arguments |
|---|---|---|
| login | Authenticate with Bluesky via OAuth. | handle |
| logout | Clear authentication session. | |
| whoami | Get current authenticated user info. | |
| check_auth | Check if authenticated. | |
| create_record | Create any AT Protocol record. | collection record rkey? |
| update_record | Update an existing record. | collection rkey record |
| delete_record | Delete a record from a repository. | collection rkey |
| create_post | Create a new Bluesky post. | text reply? embed? langs? |
ActivityPub Support
Seamlessly explore federated content from compatible platforms.
Nostr Support
Query Nostr profiles and events by npub, nevent, or hex public key.
Configuration
🔌 Connect to Client
Use this URL to configure your MCP client (Cursor, Claude Desktop, etc.):
💻 Claude Code (Command Line)
If you're using Claude Code, add the server with this simple command:
claude mcp add --transport http at-explore https://mcp.atexplore.social/mcp
Verify it's connected with: claude mcp list
🖥 Local STDIO Mode (Write Operations)
STDIO mode runs the MCP server locally and enables write operations — creating, updating, and deleting records, and publishing posts. Authentication is performed via the login tool using Bluesky OAuth.
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"at-explore": {
"command": "npx",
"args": ["-y", "at-explore-mcp"]
}
}
}
Restart Claude Desktop after saving. Then use the login tool to authenticate before using write operations.