Developer Tools
aturi.to
An MCP server that resolves AT Protocol/Atmosphere URLs, AT-URIs, identities, and client capabilities, providing record data, identity history, PDS details, and client discovery for developers.
ENDPOINT 1
https://aturi.to/api/mcp
MCP server metadata
- Name
- atmosphere
- Version
- 0.1.0
Known tools 39
resolve_linkYou have a web URL (bsky.app, a Leaflet page, a Tangled repo, any Atmosphere client — or an arbitrary page that might declare AT Tags) or an at:// URI, and you want the record behind it plus every client that can open it, each with a ready URL.
Inferred read-onlylist_waypointsYou want to know which Atmosphere clients exist and what each can do, with no record in hand: 25+ apps with the record types they render and whether they accept compose-intent links.
Inferred read-onlyresolve_identityYou have an atproto handle, DID, or at:// URI and need the canonical identity behind it: the DID, the current handle, the PDS host where the repo lives, and the DID document summary (alsoKnownAs, declared services).
Inferred read-onlyresolve_identitiesYou have 1 to 100 did:plc or did:web identifiers and need their current handles, PDS hosts, and PLC creation times in one call.
Inferred read-onlyget_identity_historyYou have an account and want its identity timeline: when it was created, every handle it has used, PDS migrations, and key rotations, from the PLC directory audit log.
Inferred read-onlydescribe_repoYou have an account and want the shape of its repository: which collections (lexicons) it actually holds, its PDS, when it last wrote, and its Bluesky-layer profile if one exists.
Inferred read-onlylist_recordsYou know which repo and which collection (from describe_repo) and want the records themselves: one page of full record values with their at:// URIs, plus a cursor for the next page.
Inferred read-onlyget_recordYou have a record address — an at:// URI, or repo + collection + rkey — and want the record JSON.
Inferred read-onlydescribe_pdsYou have a PDS hostname (from resolve_identity or describe_repo) and want to know about the server itself: its metadata, software version, and a sample of the repos it hosts.
Inferred read-onlyget_backlinksYou have a record (at:// URI) or an account (DID/handle) and want what references it across every app, including lexicons you have never heard of: vouches, annotations, mentions, follows.
Inferred read-onlyget_profileYou have 1-25 account identifiers and want their Bluesky-layer profile cards: display name, bio, follower/post counts.
Potential side effectsget_threadYou have a Bluesky post (at:// URI or a bsky.app-style URL) and want the conversation: the post, its ancestors, and replies as a simplified tree with text, authors, and counts.
Potential side effectssearch_postsYou need posts matching a query: full-text search over the Bluesky network, filterable by author, language, and time range.
Inferred read-onlysearch_actorsYou need to find accounts by name or topic: full search over Bluesky profiles (handles, display names, bios).
Inferred read-onlyget_author_feedYou want an account's recent posts in reverse chronological order, each with its like, repost, reply, and quote counts — so you can summarize what someone has been posting about or find their most-engaged posts (sort the results by likeCount).
Inferred read-onlyget_trendsYou want what is trending on Bluesky at this moment: topics with their post volume, a category, and a few accounts driving each one.
Potential side effectsget_followsYou want the accounts an actor follows: one page of profile cards, with a cursor for more.
Inferred read-onlyget_followersYou want the accounts that follow an actor: one page of profile cards, with a cursor for more.
Inferred read-onlyget_post_engagementYou have a Bluesky post and want the accounts that engaged with it: who liked it, who reposted it, or who quoted it (pick one with "kind").
Potential side effectsget_postsYou already have post at:// URIs — from get_backlinks, sample_jetstream, list_records, anywhere — and want them as readable posts with text, author, and engagement counts, up to 25 in one call.
Potential side effectsget_suggested_followsYou have an account and want others like it: the "more like this" list Bluesky computes from the graph, which is a fast way to map a community around someone.
Inferred read-onlyget_starter_packsYou want the starter packs an account has published: curated bundles of accounts and feeds that new people can follow in one action.
Inferred read-onlyget_labeler_servicesYou have labeler DIDs and want what those moderation services actually do: the label values each one publishes and who runs it.
Inferred read-onlylist_trending_lexiconsYou want the network pulse: which lexicons (record types, i.e.
Inferred read-onlyget_lexicon_activityYou have an NSID and want its activity profile: creates/updates/deletes and distinct accounts over a window, with a time series showing whether it is growing, steady, or a spike.
Inferred read-onlysearch_lexiconsYou have a word or fragment ("blog", "recipe", "leaflet") and want matching lexicon NSIDs with their activity counts — the way into a corner of the Atmosphere when you do not know its NSIDs yet.
Inferred read-onlysample_recent_recordsYou want to see what activity in a lexicon actually looks like right now: the newest records network-wide in that collection, straight from the live stream sample, with full record values.
Inferred read-onlyget_lexicon_schemaYou have an NSID and want its published schema: the com.atproto.lexicon.schema record defining the type, found via the _lexicon DNS authority method (with the publisher-handle convention as fallback).
Inferred read-onlylist_feedsYou want custom feeds (algorithmic timelines people publish): "actor" lists the ones an account created, "popular" ranks the network's most-liked and takes an optional query, "suggested" returns Bluesky's editorial picks.
Potential side effectsget_feed_infoYou have feed at:// URIs and want what each feed is: its name, description, creator, and like count, up to 25 at once.
Inferred read-onlyget_feedYou have a feed generator URI and want the posts it is serving right now, with engagement counts, newest page first.
Inferred read-onlylist_listsYou want the lists an account has published: curation lists that can be read as a feed, and moderation lists used for muting or blocking.
Inferred read-onlyget_listYou have a list URI and want the list itself plus a page of its members as profile cards.
Inferred read-onlyget_list_feedYou have a curation list and want what its members are posting, as one combined feed with engagement counts.
Inferred read-onlysample_jetstreamYou want a live sample of what is happening on the network right now: open Jetstream for a few seconds and return the events seen.
Inferred read-onlysearch_atproto_docsYou have a question about how atproto works, how to build on it, or which service to point at: identity, repositories, lexicons, OAuth, feeds, moderation, Jetstream, the relays.
Inferred read-onlyread_atproto_docYou have a page id from search_atproto_docs and want the whole thing rather than the matching passages: a tutorial, spec, or selected Bluesky GitHub guide.
Inferred read-onlysearch_api_methodsYou want the endpoint or record type for a task and do not know its NSID: "how do I follow someone", "what returns a thread", "where do labels live".
Inferred read-onlyget_api_methodYou have an NSID and want its exact definition: every parameter with its type and whether it is required, the request and response schemas, and the named errors it can return.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.atmosphere]
url = "https://aturi.to/api/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"atmosphere": {
"type": "http",
"url": "https://aturi.to/api/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: atmosphere
Remote MCP URL: https://aturi.to/api/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"atmosphere": {
"url": "https://aturi.to/api/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"atmosphere": {
"type": "http",
"url": "https://aturi.to/api/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "atmosphere",
"transport": "streamable-http",
"url": "https://aturi.to/api/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.