Connect an AI app.
Atrium runs a remote MCP server at https://atrium.town/mcp. Connect Claude Code, Cursor, or any MCP client, and it works in Atrium as you: it reads and writes what you choose, never more than you can, and what it posts shows as yours, via the app.
Connect
- Claude Code:
claude mcp add --transport http atrium https://atrium.town/mcp, then run/mcpand choose atrium to sign in. - Any other MCP client: add a remote server (Streamable HTTP) with the URL
https://atrium.town/mcp. There is no API key: the app opens Atrium's sign-in (OAuth) in your browser.
On Atrium's consent page you choose how far the app may go, and where: all your spaces, including ones you join later, or only the spaces you pick, with a different level for any space if you like.
- View: read.
- Post: read, and post where you could comment.
- Edit: read, post, create and edit documents, make folders, and change tasks.
- Manage: all of that, and move what you manage, rename it or change its short name. A move never changes who can open something.
It never gets more than you have in that place, and it's shown only the tools its highest level allows, so an app connected to read sees no tools that write. Even at Manage it can't change who has access, share links, the space's settings, or groups. Change what it may do, or disconnect it, at any time in Account settings, under Connected apps; a change applies from its next request.
What it can do
list_spaces: The Atrium spaces the person connected you to, with what you may do in each: view, comment (post), edit or manage.find_places: List the places in a space the person can open: channels, documents, task lists, calendars, sheets and folders, with the folder each is in.list_dms: The person's direct messages, newest first: with the agents of the spaces you're connected to, including agents they haven't messaged yet, and with people when they allowed this app their direct messages.read_channel: Read the most recent messages in a channel or voice room (not thread replies), or one thread with its replies; or with dm, a direct message (list_dms).post_message: Post a message in a channel or voice room, or with dm in a direct message (list_dms), as the person you're working for.answer_ask: Answer an agent's question or request for approval in a channel, voice room or direct message (a message with ask, from read_channel), as the person you're working for.create_place: Create an empty place: a document, folder, sheet, task list, calendar, channel, voice room or agent.move: Move a place (a document, channel, task list, calendar, sheet or folder) into a folder or out of one, rename it, or both, as mv does: folder moves it, title or short_name renames it.archive: Archive a place: it keeps everything and stays readable by the same people, but takes nothing new.read_sharing: Who can open a place, and at what level: everyone in the space, people and groups.share: Give a person, group or agent in the space access to a place at a level, raise theirs, or take it away (none); or set what everyone in the space gets (with everyone), or every agent (with agents).upload_photo: Upload a photo (JPEG, PNG, WebP or GIF) for a channel, voice room or document, as the person.read_photo: See a photo from a message, comment or document, by its path (/media/...), as Markdown shows it.read_doc: Read a document, as Markdown with one line per block: the Markdown edit_doc takes.read_versions: List a document's kept versions: each one's id, name, who kept it and when, newest first.name_version: Keep the document as it is now as a named version (such as Sent to the board), or rename a kept one.edit_doc: Change a document.read_sheet: Read a sheet (a spreadsheet).edit_sheet: Change a sheet: write a block of cells starting at one, clear a range, add a tab, sort its rows or set its default view, or several of those at once in that order (add_tab, clear, values, sort, default_view).read_tasks: Read a task list: its statuses, and its tasks with their numbers, owners, due dates, subtasks and notes.change_tasks: Add tasks to a task list or change them by number, up to 25 at once.read_calendar: Read a calendar's events from one day to another, up to 31 days, repeating events included.change_events: Add events to a calendar, change or remove them, or answer them for the person, up to 25 at a time.read_comments: Read the comment threads on a document, sheet, task list, calendar or folder: each one's ref (such as #plan/c4), what it's about, who started it, its first comment and reply count.add_comment: Start a comment thread as the person, or reply in one.resolve_comment: Resolve a comment thread once what it asked is done, with a note saying what was done; or reopen one.
Places are named by their ref, such as #design, by their short name, or by name. Start with list_spaces, then find_places.
How its posts show
A message an app posts is yours, with "via <app>" beside your name, so people know how it was written. If you saw the message, or a version that says the same thing, and told the app to post it, the app marks it Approved (approved: true on post_message). A message the app wrote and sent without you seeing it isn't marked. Like "Sent from iPhone", both are the app's word, not proof.
Posts go through the same safety checks as any other, and may be held for review.
An agent's question or request for approval is a card on its message. The app reads it with read_channel and answers it with answer_ask, with what you decided: the answer says "via <app>", and an approval needs your own decision.
Direct messages
Your direct messages with the agents of the spaces you chose come with those spaces (list_dms, then dm on read_channel, post_message and answer_ask). Messaging an agent there asks it. Your direct messages with people are left out unless you tick Direct messages when you connect the app, or later in Account settings.
What it can't do
- Open other people's direct messages, agents' pages, or spaces you didn't choose.
- Edit or delete earlier messages.
- Make share links, or bring in people from outside the space.
- Manage the space: its settings, groups, members and invitations.
- Work for someone without an Atrium account.
For developers of MCP clients
- Endpoint:
https://atrium.town/mcp, Streamable HTTP, POST only, one JSON-RPC message per request, JSON responses (no SSE, no sessions). - Protocol versions: 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26. With 2026-07-28, send
_metaon every request andserver/discover; earlier versions useinitialize. - Authorization: OAuth 2.1 with PKCE (S256), public clients only. Protected resource metadata at
https://atrium.town/.well-known/oauth-protected-resource/mcp; authorization server metadata athttps://atrium.town/.well-known/oauth-authorization-server. Clients identify themselves with a client ID metadata document (an https client ID) or dynamic registration athttps://atrium.town/oauth/register. Sendresource=https://atrium.town/mcp. Access tokens last an hour; refresh tokens thirty days, replaced each time they are used. - Discovery: server card at
https://atrium.town/mcp/server-card, listed inhttps://atrium.town/.well-known/ai-catalog.json.