Cajon.pro
Drum schools map (Russia, Kazakhstan, Armenia, Belarus), song tempo and drum parts, cajons.
作者による説明(英語の原文)
Read and build LegendKeeper worlds from AI assistants: wiki pages, maps, timelines, facts and tags.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
LEGENDKEEPER_API_KEY, LEGENDKEEPER_READ_ONLY「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"legendkeeper": {
"command": "uvx",
"args": [
"legendkeeper-mcp"
],
"env": {
"LEGENDKEEPER_API_KEY": "your-value",
"LEGENDKEEPER_READ_ONLY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add legendkeeper --env LEGENDKEEPER_API_KEY=your-value --env LEGENDKEEPER_READ_ONLY=your-value -- uvx legendkeeper-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"legendkeeper": {
"command": "uvx",
"args": [
"legendkeeper-mcp"
],
"env": {
"LEGENDKEEPER_API_KEY": "your-value",
"LEGENDKEEPER_READ_ONLY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"legendkeeper": {
"type": "stdio",
"command": "uvx",
"args": [
"legendkeeper-mcp"
],
"env": {
"LEGENDKEEPER_API_KEY": "your-value",
"LEGENDKEEPER_READ_ONLY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
LEGENDKEEPER_READ_ONLY envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント chase-roohms で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:LEGENDKEEPER_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.2)がレジストリに届いたのは22 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv), Dockerも必要です。
同じカテゴリには:Cajon.pro, CarHauler247 Car Shipping Quotes, ThaiData UK
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Drum schools map (Russia, Kazakhstan, Armenia, Belarus), song tempo and drum parts, cajons.
Car shipping prices between US locations from a licensed auto transport broker, with a booking link.
UK Thai restaurant data from FSA inspections: hygiene ratings, city stats, postcode search.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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! ...
api_request escape hatch reaches every other v3 endpoint.[[Wiki Links]] become real LegendKeeper mentions. Callouts, GM-only 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.If-Match), so concurrent edits in the app are never silently overwritten."3 March 1204"), templates, batch creation of up to 100 linked resources, and image uploads from disk or URL.Retry-After, idempotency keys on every POST so retries never double-create, and rate-limit tracking.402 PAID_PLAN_REQUIRED otherwise.lk_… secret; it is shown only once.list_tags falls back to counting tags itself for Member keys), see member emails and save templates.Pick one. All of them read the key from LEGENDKEEPER_API_KEY.
uvx (no install):
LEGENDKEEPER_API_KEY=lk_... uvx legendkeeper-mcp check # verify the key
Docker:
docker run -i --rm -e LEGENDKEEPER_API_KEY=lk_... ghcr.io/chase-roohms/legendkeeper-mcp:latest check
pip:
pip install legendkeeper-mcp
legendkeeper-mcp check
check prints the world each configured key opens, then exits. Without check, the command starts the MCP server on stdio, which is what desktop clients launch for you (see below).
Before the first PyPI release, use `uvx --from git+https://github.com/chase-roohms/legendkeeper-mcp
legendkeeper-mcp
, or build the image yourself withdocker build -t legendkeeper-mcp .`.
Long-running HTTP server (Docker Compose):
cp .env.example .env # set LEGENDKEEPER_API_KEY and MCP_AUTH_TOKEN (openssl rand -hex 32)
docker compose up -d # serves http://localhost:8000/mcp, bound to 127.0.0.1 only curl http://localhost:8000/healthz
Point HTTP-capable clients at http://localhost:8000/mcp with the header Authorization: Bearer . Images placed in ./uploads can be uploaded with upload_image (source: /uploads/ ).
Ready-to-use files are in examples/.
Claude Desktop: add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude:
{
"mcpServers": { "legendkeeper": { "command": "uvx", "args": ["legendkeeper-mcp"], "env": { "LEGENDKEEPER_API_KEY": "lk_your_key_here" } } } }
VS Code (.vscode/mcp.json, the key is prompted for and stored securely):
{
"inputs": [{ "type": "promptString", "id": "lk-key", "description": "LegendKeeper API key", "password": true }], "servers": { "legendkeeper": { "type": "stdio", "command": "docker", "args": ["run", "-i", "--rm", "-e", "LEGENDKEEPER_API_KEY", "ghcr.io/chase-roohms/legendkeeper-mcp:latest"], "env": { "LEGENDKEEPER_API_KEY": "${input:lk-key}" } } } }
Claude Code:
claude mcp add legendkeeper --env LEGENDKEEPER_API_KEY=lk_... -- uvx legendkeeper-mcp
Cursor, Windsurf, others: same command/args/env as Claude Desktop, in the client's MCP config file.
Everything is configured with environment variables. CLI flags (--transport, --host, --port, --read-only) override them.
| Variable | Default | Description |
|---|---|---|
LEGENDKEEPER_API_KEY | — | API key for the project named default. |
LEGENDKEEPER_API_KEY_ | — | Additional worlds. LEGENDKEEPER_API_KEY_HOMEBREW becomes project homebrew. |
LEGENDKEEPER_API_KEY_FILE, LEGENDKEEPER_API_KEY_ _FILE | — | Read the key from a file (Docker secrets). |
LEGENDKEEPER_DEFAULT_PROJECT | default, else the first name | Which world tools use when project is omitted. |
LEGENDKEEPER_PROJECT_ID, LEGENDKEEPER_PROJECT_ID_ | discovered | Skip the lookup of the project id behind a key. |
LEGENDKEEPER_READ_ONLY | false | Only register reading tools; api_request allows GET only. |
LEGENDKEEPER_BASE_URL | https://www.legendkeeper.com | API origin (for proxies and mocks). |
LEGENDKEEPER_TIMEOUT | 30 | Request timeout in seconds. |
LEGENDKEEPER_MAX_RETRIES | 3 | Retries for 429/5xx/network errors. |
LEGENDKEEPER_UPLOAD_ROOT | unrestricted (/uploads in Docker) | upload_image may only read files under this directory. |
LEGENDKEEPER_MAX_UPLOAD_MB | 25 | Maximum image size. |
LEGENDKEEPER_ALLOW_URL_UPLOADS | true | Allow upload_image to download from http(s) URLs. |
LEGENDKEEPER_LOG_LEVEL | INFO | Log level (logs go to stderr; keys are never logged). |
MCP_TRANSPORT | stdio | stdio or http (streamable HTTP). |
MCP_HOST | 127.0.0.1 (0.0.0.0 in Docker) | HTTP bind address. |
MCP_PORT | 8000 | HTTP port. |
MCP_PATH | /mcp | HTTP endpoint path. |
MCP_AUTH_TOKEN, MCP_AUTH_TOKEN_FILE | — | Bearer token required on every HTTP request (except /healthz). |
MCP_ALLOW_UNAUTHENTICATED | false | Permit HTTP on a non-loopback address without a token (not recommended). |
MCP_ALLOWED_HOSTS | — | Comma-separated host:port values; enables DNS-rebinding protection (e.g. localhost:8000). |
LEGENDKEEPER_API_KEY_HOMEBREW=lk_aaa
LEGENDKEEPER_API_KEY_STRAHD=lk_bbb LEGENDKEEPER_DEFAULT_PROJECT=homebrew
Every tool takes an optional project argument ("strahd"), and list_projects shows what is configured.
| Area | Tools |
|---|---|
| Discover | list_projects, browse_tree, search, get_resource, list_tags, list_templates, list_calendars, list_members, list_assets |
| Read | read_document: pages as Markdown, maps as features with coordinates, timelines as lanes/events, boards as text. format: "json" returns raw API data. |
| Pages | write_page (modes append, prepend, replace, replace_section, append_to_section) |
| Resources | create_resource, create_resources (batch ≤ 100, nested via key/parent_key), update_resource (name, tags add/remove, aliases, icon, banner, hidden, locked), move_resource, delete_resource, restore_resource, create_from_template |
| Documents | create_document (page/map/time/board), update_document, delete_document |
| Facts | set_facts: key-value facts in the page infobox (created if missing) or the sidebar; null removes a fact |
| Maps | create_map_feature (pin/label/region/path/folder, lat/lng or pixel coordinates, link to a page), update_map_feature, delete_map_feature |
| Timelines | create_timeline_event (human dates parsed in the timeline's calendar, lane by name, created on demand), update_timeline_event, delete_timeline_event, create_timeline_lane |
| Assets | upload_image (local file or URL → asset URL usable in pages, banners and map images) |
| Anything else | api_request: any v3 endpoint of the project (boards, calendars, block-level edits, invites, restores…) |
The server also exposes two MCP resources the assistant can read: legendkeeper://guides/markdown (the Markdown dialect) and legendkeeper://guides/style (conventions for tags, icons, infoboxes, pins and events, adapted from LegendKeeper's style guide). Write tools are annotated so clients can ask for confirmation; destructive tools also require confirm: true.
LegendKeeper stores pages as a tree of typed blocks, not Markdown. This server converts in both directions:
| Markdown | LegendKeeper |
|---|---|
# … ######, paragraphs, - lists, 1. lists, > quotes, ``` code, ---, GFM tables | the matching blocks |
- [ ] task / - [x] done | task list |
> [!info], [!note], [!success]/[!tip], [!warning], [!error]/[!caution] | callout |
> [!secret] | secret block (GM-only, hidden from players and public pages) |
> [!expand] Title | collapsible section |
**b**, *i*, ~~s~~, `c` , , , , | text marks and colors |
| [[Name]], [[Name\|label]], [label](lk://resources/ ) | mention (link to anothe
冒頭だけを表示しています。続きはリポジトリで読めます