Token导航 LogoToken导航TokenDH.com
RPG Ledger MCP Server logo
AI代理stdio官方级别未说明来源级核验

RPG Ledger MCP Server

MCP Server

一个用于AI驱动的RPG会话的账本服务器,通过MCP和简单的HTTP API提供战役状态(角色、装备、任务、日志),以便例如ChatGPT可以作为游戏主持人/NPC。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
PythonAI驱动API集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sepa79

提供方

sepa79

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

RPG Ledger MCP Server

Serwer legera do sesji RPG sterowanych przez AI. Udostępnia stan kampanii (postacie, ekwipunek, questy, logi) przez MCP i proste API HTTP, tak żeby np. ChatGPT mógł być Mistrzem Gry / NPC.

Architektura

  • app.py – FastAPI + FastMCP

- MCP tools (używane przez klienta AI): - list_campaigns() – lista kampanii - get_campaign(campaign_id) – pełne dane kampanii - get_character(campaign_id, char_id) – jedna postać - list_locations(campaign_id) – lista lokacji kampanii - list_factions(campaign_id) – lista frakcji kampanii - create_campaign(campaign_id, name, from_campaign_id, overwrite) – tworzenie kampanii - create_character(campaign_id, character) – dodanie nowej postaci - update_character(campaign_id, char_id, patch) – modyfikacja istniejącej postaci - upsert_location(campaign_id, location) – dodawanie/aktualizacja lokacji - delete_location(campaign_id, location_id_or_name) – usunięcie lokacji po id lub nazwie - faction_rep_add(campaign_id, faction_id, delta, name) – zmiana reputacji frakcji - upsert_faction(campaign_id, faction) – dodanie/aktualizacja frakcji (id, name, rep, description) - mutate(...) – modyfikacje legera (gold/hp/xp/notki/deń/questy/ekwipunek itd.) - spawn_npc_group(campaign_id, template_id, ...) – generowanie grupy NPC z szablonu - dev_todo(...) – narzędzie dla MG/AI do zapisywania TODO w logu - save_campaign_snapshot(campaign_id, slot) / restore_campaign_snapshot(campaign_id, slot) – snapshoty kampanii

  • data/ – pliki kampanii JSON (np. kampania-1.json)
  • logs/ – zdarzenia z gry (logs.jsonl)
  • static/index.html – prosta przeglądarka kampanii w przeglądarce

Serwer HTTP nasłuchuje na porcie 8000, MCP jest wystawione jako SSE pod /mcp (FastMCP over HTTPS/HTTP).

Uruchomienie przez Docker Compose (zalecane)

Wymagane:

  • Docker + Docker Compose
docker compose up --build

To uruchomi dwa kontenery:

  • rpg-ledger-mcp – serwer FastAPI + MCP na http://localhost:8000
  • rpg-ledger-ngrok – tunel HTTP do rpg-ledger-mcp:8000 (publiczny URL z ngrok)

W pliku docker-compose.yml można wstawić własny NGROK_AUTHTOKEN.

Przydatne adresy lokalnie:

  • UI kampanii: http://localhost:8000/
  • API kampanii: http://localhost:8000/api/campaigns itd.
  • Logi: http://localhost:8000/api/logs

Konfiguracja MCP (klient np. ChatGPT Desktop / inne)

Serwer MCP jest dostępny jako endpoint HTTP SSE:

  • URL: http://localhost:8000/mcp

W konfiguracji klienta MCP ustaw:

  • typ: „HTTP / SSE” (FastMCP)
  • endpoint: http://localhost:8000/mcp (lub publiczny URL z ngrok)

Po podłączeniu klient powinien widzieć narzędzia MCP (list_campaigns, get_campaign, get_character, mutate, dev_todo).

Lokalny development (bez Dockera)

Wymagany Python 3.11+.

pip install -r requirements.txt
uvicorn app:app --reload --host 0.0.0.0 --port 8000

Potem korzystasz z tych samych URL co wyżej (http://localhost:8000/...).

Dev TODO z poziomu MG / AI

Narzędzie dev_todo(...) pozwala MG/AI zapisywać pomysły na rozwój systemu:

  • wywołanie MCP dev_todo(summary=..., details=..., tags=[...])
  • wpis trafia do osobnego pliku logs/dev-todos.jsonl z type: "todo",

odczytywanego przez endpoint /api/dev-todos i zakładkę TODO w UI

Dzięki temu możesz:

  • grać sesję,
  • pozwalać MG/AI zgłaszać brakujące funkcje jako TODO,
  • później przejrzeć /api/logs i zaimplementować kolejne kawałki logiki legera.

Kampania testowa / test pack

Żeby nie zaśmiecać logów głównej kampanii, w katalogu data/ jest osobna kampania testowa:

  • plik: data/kampania-test.json
  • id: kampania-test
  • zawiera prostą mapę (karczmalas-testowy) i dwie postacie (test-warrior, test-mage).

Rekomendacja:

  • do ręcznych testów MCP/UI wybieraj w topbarze kampanię „Kampania Testowa”,
  • w narzędziach MCP (mutate, roll_dice, itp.) używaj campaign_id="kampania-test".

Dzięki temu wpisy testowe w logs/logs.jsonl będą odseparowane od właściwej kampanii po campaign_id.

E2E test pack (lokalnie)

Jest też prosty E2E test dla kampanii testowej (bezpośrednio po HTTP):

docker compose up -d
python scripts/e2e_test_pack.py

Test:

  • sprawdza dostępność serwera na http://localhost:8000,
  • upewnia się, że kampania-test istnieje w /api/campaigns,
  • przed testem przywraca plik data/kampania-test.json z szablonu data/kampania-test.template.json,
  • wykonuje kilka mutacji na kampanii testowej (hp_add, gold_add, location_set),
  • weryfikuje, że zmiany w stanie oraz wpisy w logs/logs.jsonl są zgodne z oczekiwaniami,
  • po udanym teście ponownie przywraca data/kampania-test.json z szablonu (logi pozostają append-only).

目录标签

目录标签

PythonAI驱动API集成RPG游戏本地部署游戏管理HTTPAPIMCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP