Amsel MCP Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Amsel MCP Server
An MCP server that gives Claude (or any MCP client) read access — and, if you enable it, write access — to Amsel Suite files: Tome campaigns (.tome), Lore worlds (.lore) and Lore template kits (.lorekit).
Claude can browse your campaign tree, read an NPC or a Lore page, follow links between pages, check arcanes and their per-session results, and search all your content. With writing enabled, it can also create NPCs, scenes and Lore pages, extend existing text, add session notes and set images.
Community project, not affiliated with or endorsed by Ollam Technologies, the makers of Amsel Suite. The file format was reverse-engineered and may change with new Amsel versions: work on copies first.
Read tools (always available)
Tool | Purpose |
| Lists the |
| Story tree (story → chapters → scenes), ribbons, per-session state |
| Data pages (characters, locations, objects, organizations, players) grouped by type |
| A story or data page as Markdown, links resolved, with "referenced by" |
| Arcanes (choices / destinies), with per-session results and comments |
| Session notes |
| Lore pages grouped by template |
| Templates of a Lore or a kit: category, page count, modules |
| One template in detail: modules in order, rune fields, mirror targets |
| A Lore page, modules in template order, runes and images |
| Case- and accent-insensitive search in page names and text |
Related MCP server: OpenFic MCP
Write tools (with AMSEL_WRITE=1)
Tool | Purpose |
| Creates a data page (character, location, object, organization, player, fable) with summary and sections |
| Creates a scene or a chapter in the story tree |
| Renames a Tome page, or replaces / extends its summary, content or text sections |
| Adds a session note |
| Creates a Lore page from a template, with its text fields |
| Renames a Lore page, or replaces / extends its text fields |
| Puts a local image (PNG, JPEG, WebP, GIF) in a Lore page's image module |
| Sets the cover image of a Tome page (data or story page) |
Text is written in light Markdown: one paragraph per line, **bold**, *italic*, ### / #### headings, --- separators, - or 1. lists (indent by 2 spaces for a sub-list), > quotes, and [[Page name]] links to existing pages (Tome or linked Lore). A missing or ambiguous link cancels the write.
Safeguards — without AMSEL_WRITE=1, the write tools do not exist. When they are enabled, every write:
is refused while the Tome app (for a
.tome) or the Lore app (for a.lore) is open, since the app would overwrite the change on its next save;is refused if the file changed on disk while the edit was being prepared;
first copies the file to
.amsel-backups/next to it (the last 20 versions are kept);rewrites the archive into a temporary file, reads it back to check it, then replaces the original. Existing images are left untouched; new ones are added to
img/and to the image library (in the folder you choose).
There is no deletion yet, and arcanes, relations and runes cannot be edited. Images come from local files: an online image must be downloaded first.
Files and pages are referenced by name, partial name or id (or the start of an id). Amsel links appear as [[Page name]].
The amsel-adventure-writer skill
skills/amsel-adventure-writer is a Claude skill that uses this server to write playable adventures: structured scenes (setting, read-aloud text, checks and consequences, exits), NPCs and locations you can improvise with, and Lore pages built on your templates (drawing on .lorekit kits). It first reads the campaign (tree, session notes, arcanes, the GM's style), proposes a plan, then writes in the right order so that links resolve. It writes in the language of your campaign.
Install it for Claude Code:
ln -s "$PWD/skills/amsel-adventure-writer" ~/.claude/skills/amsel-adventure-writerInstallation
📘 Step-by-step guide, from nothing to the first question, with troubleshooting: docs/installation.md
Requirements: uv (it installs Python 3.10+ for you).
git clone https://github.com/Dimitri-byte/Amsel-MCP-Server.git
cd Amsel-MCP-Server
uv syncScanned folders
AMSEL_PATHS tells the server where to look for files (several folders separated by : on Linux/macOS, ; on Windows). Subfolders are scanned, hidden folders are skipped. Default: ~/Documents.
Claude Code
claude mcp add --scope user amsel -e AMSEL_PATHS="$HOME/Documents" -- uv run --directory /path/to/Amsel-MCP-Server amsel-mcpAdd -e AMSEL_WRITE=1 to enable the write tools.
Claude Desktop
In claude_desktop_config.json:
{
"mcpServers": {
"amsel": {
"command": "uv",
"args": ["run", "--directory", "/path/to/Amsel-MCP-Server", "amsel-mcp"],
"env": { "AMSEL_PATHS": "/home/me/Documents" }
}
}
}Amsel file format (reverse-engineered)
A
.tomeor.loreis a tar archive (pax format) holdingdata.json(minified JSON) and animg/folder (<uuid>.<ext>, plus optional<uuid>.thumb.400.pngthumbnails). Images are listed inimportedImagesand sorted intoimageFolders.When a file is opened, the app unpacks it into
~/.amselsuite/<uuid>/; those are working copies, the server always reads the archives.Tome (
lastVer24):storyPages(typesTSP_Story,TSP_ChapterFlow,TSP_Chapter,TSP_Scene, tree viaparentId/childrenIds),dataPages(TDP_Character,TDP_Location,TDP_Object,TDP_Organization,TDP_Player,TDP_Fable, withtextorcheckersub-pages),arcanes(choice/destiny),gameSessions,notes,linkedLorePath. Page covers:coverImage.relatedImage.Lore (
lastVer17):pages(content per module viarelatedModuleId; images viavisualContent.relatedImage),templates(modulesLM_Standard_Text,LM_Image,LM_Rune,LM_Mirror),runeTemplates,diagrams,maps.Lore kit (
.lorekit): the same archive with no pages or images, onlyname,templatesand runes. Old format (lastVer13):runeTemplates[].runelets. Newer format (lastVer23):runeGroups[].runes,customTemplateCategories(custom categories referenced by id) andinspirationLists. The server reads both but never writes to a kit: kits are imported into a Lore from the app.Rich text is HTML. Links:
<tag-component id="lorePage/…">(Lore page),index/…(Tome data page),storyPage/…; embedded arcanes:<destiny-component idhash="…">,<intrigue-component …>.Linked Lore: the server first looks for a
.lorewith the same name next to the Tome (handy for copies), then for the recorded path.
Development
uv run pytestThe tests use synthetic files generated on the fly. If AMSEL_TEST_DIR points to a folder of real Amsel files, extra tests check that every page renders. Never commit real .tome / .lore / .lorekit files (they are in .gitignore).
Contributions are welcome: see CONTRIBUTING.md. Changes are listed in CHANGELOG.md.
Roadmap
Reading Tome, Lore and Lore kits
Writing: page creation and editing, session notes, images (backups, refused while the app is open)
Arcanes (per-session results), relations, runes
Page deletion
License
MIT. Amsel Suite, Tome and Lore are trademarks of their respective owners.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Access your Kazkar TTRPG world — campaigns, chronicles, transcripts, lore — in any MCP client.
Manage your tabletop RPG campaign from any MCP client: worlds, sessions, quests, lore, recaps.
Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.
Remote MCP server for AIStoryHub: stories, chapters, story bible, Voiceprints, AI generation.
Related MCP Servers
- FlicenseAqualityDmaintenanceMCP server for managing Foundry VTT journal content (entries, categories, pages) and listing actors, enabling AI-assisted world-building via natural language commands.11-
- AlicenseBqualityDmaintenanceMCP server for OpenFic, enabling AI assistants to manage writing projects, volumes, chapters, characters, notes, and worldbooks through OpenFic's public HTTP API. Supports read-only mode by default and opt-in write operations with safety confirmations for deletions.22MIT
- FlicenseAqualityBmaintenanceEnables MCP-capable AI assistants to work with a Foundry VTT world by reading and writing journals, scenes, compendiums, actors, combat, and more, subject to Gamemaster permissions and undoable changes.1521-
- AlicenseNot gradedqualityCmaintenanceConnects MCP-capable clients to hosted tabletop campaigns so users can ask plain-language questions about their campaigns, sessions, and codex entries (NPCs, locations, items, lore, religions, groups) and submit notes, recaps, events, and DM-reviewable proposals. Access is scoped per user through database row-level security, so it only ever exposes what the website would show that account, with AI-written content staying non-canon until a DM approves it.MIT