chronicle-mcp
A local MCP server that provides persistent, queryable memory for Crusader Kings II tabletop RP sessions, with tools to log and retrieve characters, timeline events, and tomes backed by plain JSON files.
README
chronicle-mcp
chronicle-mcp is a local Model Context Protocol (MCP) server providing persistent, queryable memory for Crusader Kings II tabletop-style roleplaying sessions. It equips AI agents with direct tools to log and retrieve characters, timeline events, and lore documents ("tomes"), backed entirely by plain JSON files on disk.
Features & Safe Upsert Behavior
- Explicit ID Upserting: Calling
upsert_characterorupsert_tomewithout anidalways creates a new record with a fresh ID, even if an existing character or tome shares the same name/title (crucial for tabletop RP campaigns with recurring or dynastic names across generations). - Lookup Helpers: Use
find_character_by_nameorfind_tome_by_titleto search for existing records and retrieve theiridbefore performing updates withupsert_*. - Standardized Responses: All tool responses follow a consistent
{ success: boolean, ...data, message?: string }shape. - Robust Storage: Fast in-memory cached reads paired with ~300ms debounced disk writes and automatic recovery for corrupted JSON files.
Setup
-
Install dependencies:
npm install -
Build the project:
npm run build
Running the Smoke Test
To run the complete automated smoke test suite (including isolated CRUD, non-overwriting upsert checks, and corrupt file recovery tests) against a temporary scratch directory (./data-test/), run:
npm run test:smoke
Antigravity CLI Registration
Register chronicle-mcp in your Antigravity CLI configuration (global at ~/.gemini/config/mcp_config.json or project-level at .agents/mcp_config.json):
{
"mcpServers": {
"chronicle": {
"command": "node",
"args": ["c:/Users/manji/Downloads/chronicle-mcp/build/index.js"],
"env": {
"CHRONICLE_DATA_DIR": "c:/Users/manji/Downloads/chronicle-mcp/data"
}
}
}
}
(Replace c:/Users/manji/Downloads/chronicle-mcp with the absolute path to your local chronicle-mcp installation directory if installed elsewhere).
Data & Backups
All persistent campaign memory is stored in three plain JSON files inside the data/ directory (characters.json, timeline.json, and tomes.json). Creating a full backup of your RP campaign is as simple as copying or committing the data/ folder. You can also customize the data storage location by setting the CHRONICLE_DATA_DIR environment variable in your mcp_config.json.
"# chronicle-mcp"
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.