MCP.Market

LegendKeeper MCP server

by chase-roohms·io.github.chase-roohms/legendkeeper-mcp·v0.1.2·3 stars

Read and build LegendKeeper worlds from AI assistants: wiki pages, maps, timelines, facts and tags.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

3 stars65 downloads/wk

Reviews

Write one

Nobody has reviewed LegendKeeper yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

LegendKeeper tools (31, 17 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • api_request

    Call any LegendKeeper REST v3 endpoint of this project directly (advanced: boards, calendars, block-level edits, properties, invites, restores…). Returns the raw JSON response. Writes are disabled in read-only mode.

  • browse_tree

    Show the resource tree (the world's wiki hierarchy) as an indented outline with ids, icons, tags and child counts. Start here to see how a world is organized.

  • create_documentwrite action

    Add a document (tab) to a resource: a page, a map, a timeline or a board. A resource holds at most 5.

  • create_from_templatewrite action

    Create a resource from a template (copies its documents, properties, icon and tags).

  • create_map_featurewrite action

    Add a pin, label, region, path or folder to a map document. Coordinates are [lat, lng] in the map's frame (read_document on the map shows its bounds), or image pixels with pixel_coordinates=true.

  • create_resourcewrite action

    Create a resource (wiki article, location, character…), optionally with page content in Markdown. Reuse existing tags (list_tags) and give it an icon. Returns the new id and its documents.

  • create_resourceswrite action

    Create up to 100 resources in one atomic request: ideal for scaffolding a region, a cast of NPCs or a whole hierarchy. Give items a `key` and nest later items under them with `parent_key`.

  • create_timeline_eventwrite action

    Add an event to a timeline document. Link it to the page that tells the full story.

  • create_timeline_lanewrite action

    Add a lane (row) to a timeline, placed after the existing lanes.

  • delete_documentwrite action

    Delete one document (tab) of a resource. It can be restored with api_request (POST /resources/{id}/docs/{docId}/restore).

  • delete_map_featurewrite action

    Delete a feature (pin, label, region, path or folder) from a map.

  • delete_resourcewrite action

    Move a resource (with its documents, and children if cascade=true) to the trash. Restore it with restore_resource using the id returned here.

  • delete_timeline_eventwrite action

    Delete an event from a timeline.

  • get_resource

    Get one resource's details: path, tags, aliases, icon, banner, documents, sidebar properties (facts) and children. Use read_document to read a document's content.

  • list_assets

    List the world's asset library (uploaded images, maps, folders) with ids and URLs. Image URLs can be used in page images, banners, map images and events.

  • list_calendars

    List the calendars timelines can use (built-in ones like gregorian, harptos, exandria, plus custom calendars): id, name, months and eras.

  • list_members

    List the members of the world and their roles (emails are only visible to ADMIN keys).

  • list_projects

    List the LegendKeeper projects (worlds) this server is configured for, with the default project and whether writes are enabled. Each API key belongs to exactly one project.

  • list_tags

    List every tag used in the world with how many resources carry it. Check this before tagging so you reuse existing tags with the exact same spelling.

  • list_templates

    List resource templates (id, name, parent). Use create_from_template to instantiate one.

  • move_resource

    Move a resource (and its children) to another parent and/or position among its siblings.

  • read_document

    Read a document of a resource. Pages come back as Markdown (with mentions as [Name](lk://resources/id) links); maps list their pins/regions/paths with coordinates; timelines list lanes and events; boards list their text. Without `document`, the first page is used, else the first map, timeline or board.

  • restore_resource

    Restore a deleted resource from the trash (its parent must not be deleted).

  • search

    Full-text search across resource names, aliases and document content (best match first). Returns ids, paths, tags and the matching passage.

  • set_facts

    Set at-a-glance facts (e.g. Race, Age, Ruler, Population) as key-value rows in the page's infobox or the resource's sidebar. Creates the infobox / property group when it does not exist yet.

  • update_documentwrite action

    Rename a document, hide/show it, toggle full width, set a timeline's calendar or a map's image.

  • update_map_featurewrite action

    Change a map feature: rename, move, reshape, relink, restyle or hide it.

  • update_resourcewrite action

    Change a resource's name, tags, aliases, icon, visibility, lock or banner. Content is edited with write_page; facts with set_facts; position in the tree with move_resource.

  • update_timeline_eventwrite action

    Change a timeline event's name, dates, lane, link or style.

  • upload_imagewrite action

    Upload an image to the world's asset library and return its asset id and URL. Use the URL in a page image (![alt](url)), a resource banner (update_resource banner_url) or as a map image (create_document / update_document map_image_asset_id).

  • write_pagewrite action

    Write Markdown to a page document. [[Name]] and [text](lk://resources/<id>) become mentions; callouts, secrets, tables, task lists and images are supported. Writes are atomic; pass expected_version (from read_document) so edits made in the app after you read the page are never overwritten.

Public scan report

scanner v0.1.10 · 2026-10-29 · same rubric, same numbers if you re-run it

no findings
  • Code scan28 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 5 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How LegendKeeper compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
83/100
higher than 65% of 48,273 servers
Tools
31
the typical server has 7
Tools that change things
55%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
3
more than 80% of 28,534 servers
Downloads a week
65
more than 53% of 11,915 servers with a package

What its tools let an agent do: 12 read · 9 create · 6 change · 4 delete

Install LegendKeeper in Claude Code, Cursor or VS Code

claude mcp add legendkeeper-mcp -- uvx legendkeeper-mcp
Add to Cursor

What the publisher says

From the LegendKeeper repository's README, as published. We do not edit it. Read it on GitHub

legendkeeper-mcp

<!-- mcp-name: io.github.chase-roohms/legendkeeper-mcp -->

An MCP server that lets AI assistants (Claude, Copilot, Cursor, …) read and build your LegendKeeper worlds: wiki pages, infobox facts, map pins, timelines, tags, templates and images, through LegendKeeper's official v3 REST API.

Unofficial. This project is not made, endorsed or supported by LegendKeeper. It runs locally on your machine

with your own API key.

You: Create a tavern called The Drunken Dragon in Waterdeep, give it an infobox with its owner and
     a pin on the city map, and mention it on Volo's page.
Claude: (search → create_resource → set_facts → create_map_feature → write_page) Done! ...

Contents

  • Features
  • Requirements
  • Quick start
  • Client setup
  • Configuration
  • Tools
  • How pages are edited (Markdown)
  • Safety
  • Troubleshooting
  • Development
  • Releasing

Features

them. An api_request escape hatch reaches every other v3 endpoint.

  • 31 curated tools designed for LLMs. Resources accept names as well as ids, and errors explain how to fix

secrets, collapsible sections, task lists, tables and images are supported. Blocks Markdown can't express (infoboxes, embeds, collections…) are preserved verbatim on rewrite. See How pages are edited.

  • Pages as Markdown, both ways. [[Wiki Links]] become real LegendKeeper mentions. Callouts, GM-only

of the page. Every write is version-checked (If-Match), so concurrent edits in the app are never silently overwritten.

  • Section-level editing: append, prepend, replace or extend one heading's section without touching the rest

timeline events and lanes (human dates such as "3 March 1204"), templates, batch creation of up to 100 linked resources, and image uploads from disk or URL.

  • Structured worldbuilding: infobox and sidebar facts, map pins/regions/paths (lat/lng or image pixels),

behind a bearer token.

  • Multiple worlds from one server (one API key per world), plus a read-only mode.
  • Two transports: stdio for desktop clients, or a long-running Docker container serving streamable HTTP

double-create, and rate-limit tracking.

  • Robust client: retries with backoff, honors Retry-After, idempotency keys on every POST so retries never

LegendKeeper's published OpenAPI spec. A weekly CI job re-checks against the latest spec.

  • Contract-tested: the test suite runs against a fake API that validates every request and response against

Requirements

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

LegendKeeper: common questions

Is LegendKeeper MCP server safe?
Mostly: it is graded B (83/100). Read the LegendKeeper safety report
How do I install LegendKeeper?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does LegendKeeper need an API key?
Yes. The registry entry asks for LEGENDKEEPER_API_KEY.
Is LegendKeeper maintained?
The last commit was 9 days ago (2026-10-24). The latest release is v0.1.2.
How does LegendKeeper compare with other MCP servers?
safety score 83/100 (higher than 65% of 48,273 servers); tools 31 (the typical server has 7); tools that change things 55% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.