
Archivist AI
io.github.AstrotomicPublished by GitHub account Astrotomicv3.0.1Updated Oct 24, 2026
Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.
Overview
Official remote MCP server for Archivist AI, letting an assistant read and edit TTRPG campaign records such as characters, sessions, quests and journals.
- What you can do
- List, read, create, update and delete campaigns, sessions, beats, key moments, hero awards, quotes and spotlights
- Manage world-building records: characters, factions, locations and items, with wikilink-aware text fields
- Manage quests, journal entries and journal folders
- Inspect and maintain links between entities, including campaign-wide link maintenance
- Check image quota, start and complete direct image uploads, and remove entity images
- Read session transcripts, handouts and cast analysis
- When to use it
- Useful for game masters and players who keep campaign notes in Archivist AI and want an assistant to summarize sessions, draft NPCs or locations, track quests, or keep cross-references tidy without leaving the chat.
- Requirements
- A remote endpoint at mcp.myarchivist.ai over streamable HTTP. Authentication is required: OAuth sign-in, or an Archivist AI API key sent in the X-API-Key header. Claude Desktop needs the mcp-remote proxy and Node.js. Write tools require the agent_write OAuth scope. An Archivist AI account and subscription tier apply to some features.
Installation
In SourceWeft
- Open Archivist AI in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.Astrotomic%2Farchivist-ai/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"archivist-ai": {
"type": "http",
"url": "https://mcp.myarchivist.ai/mcp"
}
}
}README
Archivist AI MCP Server
[MIT License] [Treeware] [Larabelles]
[GitHub PHPunit Status] [GitHub PHPStan Status] [GitHub Pint Status] [GitHub PHPMND Status]
[Discord] [Smithery] [Glama] [mcp.so]
The official Model Context Protocol (MCP) server for Archivist AI -- a TTRPG campaign memory platform for game masters and players.
Registry metadata lives in server.json. Publishing to the official MCP Registry is automated on version tags via .github/workflows/publish-mcp.yml (git tag v3.0.1 && git push origin v3.0.1).
Connect AI assistants like Claude, ChatGPT, Cursor, Notion, and Windsurf directly to your campaign data: characters, sessions, locations, factions, items, quests, journals, key moments, hero awards, quotes, spotlights, and more.
Quick Start
MCP Server URL: https://mcp.myarchivist.ai/mcp
Discord tools live on a sibling host: https://discord.myarchivist.ai/mcp. That is a separate MCP resource (OAuth + your recording bot) and does not replace campaign tools here.
Claude Desktop
Claude Desktop requires the mcp-remote proxy (Node.js must be installed).
Add to your claude_desktop_config.json (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):
Replace YOUR_API_KEY with your Archivist AI API key from app.myarchivist.ai. Restart Claude Desktop after saving.
API keys must be sent in the X-API-Key header. Do not put an API key in an
Authorization: Bearer header; Bearer credentials are reserved for OAuth access
tokens.
OpenCode
OAuth (recommended):
To use an API key instead, disable OAuth auto-detection and send the key in
X-API-Key:
Cursor
Add to .cursor/mcp.json in your project:
Windsurf
Add to your MCP configuration:
ChatGPT
Archivist AI is available as a ChatGPT plugin. Search for "Archivist AI" in the ChatGPT plugin store.
Example Prompts
- "List my campaigns, then summarize the most recent session of my Curse of Strahd campaign."
- "Create a new NPC named Captain Mirelle Voss, a smuggler who works for the Silver Hand faction, and link her to the Port of Dusk location."
- "Add a quest called 'Recover the Moonstone' to my campaign, then list all open quests and the characters involved."
Available Tools
Read tools are non-destructive and idempotent. Write tools follow standard REST semantics — deletes are destructive and idempotent; PATCH is non-idempotent; PUT is idempotent. Every read tool that returns text-carrying descriptions (Character, Faction, Location, Item, Moment, Beat, Session, Journal) accepts an optional with_links parameter — see Wikilinks below for why you almost always want to pass with_links: true before editing.
Campaign delete, session delete, product-view-only endpoints (beat reorder/batch-edit, campaign settings, cast/member management), multipart recording uploads, and AI image generation are intentionally not exposed.
OAuth scopes and write access
OAuth clients that connect via https://app.myarchivist.ai request scopes at authorization time. Every write tool (create/update/delete + image upload) additionally requires the agent_write scope on the caller's token.
The MCP mirrors the API's enforcement in tools/list: agent clients without agent_write see only the read tools, and receive a "tool not found" JSON-RPC error if they attempt to call a write tool anyway. API-key credentials and non-agent OAuth clients bypass this filter — the API is the authoritative gate for them and all tools remain visible.
Existing OAuth clients that connected before agent_write was advertised need to re-authorize to receive a token with the new scope.
Campaigns
Sessions
Story Structure
Highlights
World Building
Quests
Journals
Relationships
Images
Wikilinks
Descriptions, summaries, moment content, and journal bodies in Archivist AI can contain [[Target Name|Optional Alias]] markup that resolves to real records. Every write tool that touches a text field carrying wikilinks has to follow a small protocol to avoid destroying existing links.
The one rule you must follow
Always read with with_links: true before writing. Every Get/List tool for Character, Faction, Location, Item, Moment, Beat, Session, and Journal accepts this parameter. The API defaults to stripping wikilinks so that read consumers get clean prose, which means a naive read/modify/write cycle will erase every [[…]] on the source record. Passing with_links: true returns the text with brackets intact so you can preserve them on write.
Per-record contract
Renaming and repointing
- Rename an alias: edit inside the brackets.
[[Alice|Al]]→[[Alice|Ali]]. - Repoint at a different target: change the visible target name.
[[Alice]]→[[Alicia]]. - Remove a link: unbracket the alias in the text (auto-resolve) or call
delete_link(explicit). - Campaign-wide rename or repoint for a compendium target: use
bulk_link_maintenancewithoperation: "update",new_alias, and/ornew_target_id. The API rewrites every referring text field in a background webhook and returns atask_id.
Images
Entity images can be added to Characters, Factions, Locations, Items, Moments, Sessions, and the Campaign itself via direct upload. The MCP server does not expose an AI image generation tool — image generation remains a product feature in the Archivist AI app and a REST endpoint on the API.
Direct upload (two-step)
For images the user already has on disk or in memory, use the presigned-URL flow:
- Call
init_image_uploadwithcampaign_id,entity_type,entity_id,file_name, andcontent_type(must beimage/*). You receiveobject_key,upload_url,public_url, andexpires_in_seconds. - Your client (or a human collaborator) issues an HTTP
PUTtoupload_urlwith the raw image bytes and the sameContent-Typeheader before the URL expires. This step happens outside the MCP transport. - Call
complete_image_uploadwithobject_key,entity_type,entity_id, andattach(defaults totrue). The API validates the upload, runs NSFW moderation, and — whenattachis true — sets the entity'simagefield to the moderatedpublic_url.
Agents that cannot make arbitrary HTTP PUTs should hand the PUT step off to a human between step 1 and step 3.
Removal
delete_entity_image removes an image within a campaign in one of two modes:
- By entity: pass
entity_type+entity_id. The API detaches the image from the record AND deletes the underlying object. - By URL: pass a managed
image_url(e.g. from a previousinit_image_uploadresponse). Deletes just the object.
Troubleshooting
- Authentication fails or tools return 401: reconnect the server and complete the OAuth sign-in again, or check that your API key is current in app.myarchivist.ai.
- Write tools are missing (agent OAuth clients only): write tools are hidden from agent OAuth clients that lack the
agent_writescope. Reconnect and approve write access. API keys and non-agent OAuth clients always see all tools; see OAuth scopes and write access. - Claude Desktop does not connect: it needs the
mcp-remoteproxy and Node.js; restart Claude Desktop after editing its config. - Wikilinks disappear after an edit: read the record with
with_links: truebefore updating it. See Wikilinks.
Privacy and Support
- Privacy policy: https://www.myarchivist.ai/privacy
- Support and security contact: [email protected]
- Community: Discord
Source: README.md at commit 31e2c4f
Tools
0Version history
2- v3.0.1LatestOct 24, 2026
- v1.0.0Sep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts