{"name":"AT Explore MCP Server","version":"1.0.0","description":"Model Context Protocol server for AT Protocol and ActivityPub exploration","protocol":"MCP 2024-11-05","endpoints":{"mcp":{"path":"/api/mcp","methods":["POST"],"description":"Main MCP server endpoint"},"health":{"path":"/api/health","methods":["GET"],"description":"Health check endpoint"},"docs":{"path":"/api/docs","methods":["GET"],"description":"API documentation"}},"tools":[{"name":"search_handles","description":"Search for user handles on AT Protocol/Bluesky"},{"name":"get_account_document","description":"Get the DID document and verification status for an identifier (handle or DID)"},{"name":"get_repository_summary","description":"Get repository metadata including PDS details and collection stats for an identifier"},{"name":"get_user_profile","description":"Get detailed profile information for a user (backward compatibility)"},{"name":"browse_collection_records","description":"Browse paginated records from a specific collection with advanced options"},{"name":"get_user_collection","description":"Gets a list of records from a specific collection type for a user (backward compatibility)"},{"name":"get_user_collections","description":"Get a list of all available collections for a user"},{"name":"get_user_blobs","description":"Get list of all blob CIDs with content-type metadata for a user"},{"name":"get_ai_preferences","description":"Get a user's AI consent preferences (community.lexicon.preference.ai). Other tools refuse calls when inference is denied."},{"name":"verify_handle","description":"Perform comprehensive verification of a custom domain handle, checking DNS TXT records, HTTP well-known endpoints, and bidirectional DID document claims"},{"name":"get_verification_status","description":"Check verification status for a user handle (backward compatibility)"},{"name":"get_verifications","description":"Get list of verifications with pagination support and optional filtering"},{"name":"get_verifiers","description":"Get list of all verifiers (trusted sources that can verify accounts) with optional filtering and pagination"},{"name":"check_verification","description":"Check verification status for a handle or DID"},{"name":"get_record","description":"Look up a specific AT Protocol record using DID/handle, collection and rkey with optional expansion"},{"name":"get_record_by_uri","description":"Look up a specific AT Protocol record using its complete AT URI"},{"name":"get_at_explore_link","description":"Generate an AT Explore web page link for viewing a record in the browser"},{"name":"get_at_explore_link_by_uri","description":"Generate an AT Explore web page link from a complete AT URI for viewing in the browser"},{"name":"get_lexicon_schema","description":"Get the lexicon schema definition for a specified NSID. Returns the full schema including all definitions, property types, validation rules, and descriptions."},{"name":"search_lexicons","description":"Search for lexicon schemas by NSID. Note: This searches an index that may not include all lexicons."},{"name":"validate_lexicon","description":"Validate data against a lexicon schema. Returns validation result with any errors found."},{"name":"get_all_link_sources","description":"Get all link sources (collections) that point to a user. Shows engagement statistics like likes, reposts, follows, and replies."},{"name":"get_specific_backlinks","description":"Get actual backlink records for a specific collection and path. Supports pagination and data expansion."},{"name":"get_profile_backlinks","description":"Get backlinks for a user's profile (all records they own). Supports both sources mode and records mode."},{"name":"get_record_backlinks","description":"Get backlinks for a specific record (post, profile, document, etc.). Supports both sources mode and records mode."},{"name":"get_at_stats","description":"Get follower/following/posts count stats for an AT Protocol user (Bluesky)"},{"name":"get_activitypub_stats","description":"Get follower/following/posts count stats for an ActivityPub user (Mastodon, etc.)"},{"name":"get_bridge_status","description":"Check if an AT Protocol account is bridged to ActivityPub via Bridgy Fed"},{"name":"get_activitypub_bridge_status","description":"Check if an ActivityPub account is bridged to Bluesky via Bridgy Fed"},{"name":"get_activitypub_profile","description":"Get ActivityPub profile for a federated user (Mastodon, Pixelfed, etc.)"},{"name":"get_activitypub_posts","description":"Get posts from an ActivityPub user with pagination support"},{"name":"get_activitypub_post","description":"Get a specific ActivityPub post by its encoded ID"},{"name":"graphql_query","description":"Execute a GraphQL query against the AT Explore API for flexible, efficient data fetching"},{"name":"get_feed","description":"Fetch posts from a custom AT Protocol feed generator by URI"},{"name":"get_nostr_profile","description":"Get a Nostr user profile by npub or hex pubkey. Returns display name, bio, avatar, NIP-05 identifier, and Lightning address."},{"name":"get_nostr_event","description":"Get a Nostr event by ID (nevent1, note1 bech32, or 64-char hex). Returns event content, tags, timestamp, and author profile."},{"name":"get_nostr_posts","description":"Get recent posts for a Nostr user by npub or hex pubkey, with pagination support."}],"usage":{"initialize":{"method":"POST","endpoint":"/api/mcp","body":{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}}}},"list_tools":{"method":"POST","endpoint":"/api/mcp","body":{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}},"call_tool":{"method":"POST","endpoint":"/api/mcp","body":{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search_handles","arguments":{"query":"bluesky"}}}}},"examples":{"curl":{"initialize":"curl -X POST https://your-domain.com/api/mcp -H 'Content-Type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2024-11-05\",\"capabilities\":{}}}'","search":"curl -X POST https://your-domain.com/api/mcp -H 'Content-Type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"search_handles\",\"arguments\":{\"query\":\"bluesky\"}}}'"}}}