PRTS MCP Server — Python 实现
明日方舟同人创作辅助 MCP Server,Python 版本。支持 stdio 与 Streamable HTTP,可接入本地 MCP 客户端或作为 HTTP 服务部署。
提供 24 个 MCP 工具(2.x):PRTS 词条检索与页面结构、干员档案/语音/基础信息、剧情活动与台词、角色出场追踪、全文搜索、敌人图鉴、关卡查询、关卡敌人融合、物品/材料查询,以及干员立绘。完整清单见仓库根目录 README.md。
2.0 变更:工具面由 1.x 的 32 个合并为 23 个(详见 1.x → 2.0 迁移指南);新增可选的 output channel(
PRTS_OUTPUT_CHANNEL环境变量,默认content,与 1.x 行为一致)。
快速开始(Docker)
# 从仓库根目录构建(可选预置 bundled 数据,详见下方)
docker build -f python/Dockerfile -t prts-mcp .
# 运行(named volume 持久化游戏数据,推荐)
docker run -i --rm -v prts-mcp-data:/data/gamedata -v prts-mcp-levels:/data/gamedata-levels -v prts-mcp-storyjson:/data/storyjson prts-mcp
接入 MCP 客户端
{
"mcpServers": {
"prts_wiki": {
"command": "docker",
"args": ["run", "-i", "--rm", "-v", "prts-mcp-data:/data/gamedata", "-v", "prts-mcp-levels:/data/gamedata-levels", "-v", "prts-mcp-storyjson:/data/storyjson", "prts-mcp"]
}
}
}
请使用
docker run而非docker compose run。后者会向 stdio 流写入进度信息,污染 JSON-RPC 通道。
不使用 Docker
仓库开发推荐使用 uv:
uv sync --directory python --locked
# GAMEDATA_PATH 设置后会禁用 auto-sync
GAMEDATA_PATH=/path/to/ArknightsGameData uv run --directory python --locked prts-mcp
安装正式发布包时仍支持 pip:
pip install prts-mcp
GAMEDATA_PATH=/path/to/ArknightsGameData prts-mcp
数据机制
服务器启动时会立即在后台同步三类数据,此后默认每小时检查一次新 Release,无需重启进程:
- 游戏表格数据(
gamedatavolume):从 3aKHP/arknights-data-pipeline Release 下载zh_CN-excel.zip - 关卡战斗数据(
gamedata-levelsvolume):从同一 Release 下载zh_CN-levels.zip,用于关卡实际出怪和关卡级敌人数值 - 剧情数据(
storyjsonvolume):从同一 Release 下载zh_CN.zip(含剧情 JSON 和 LLM 摘要)
镜像内置 bundled 数据作为网络不可用时的离线保底。
自建数据工厂的新 Release 附带 manifest(prts-mcp-data/v1、源 versionId、包大小和 SHA-256);Python 实现会在原子激活前校验它。没有 manifest 的历史 Release 仍兼容读取。
周期可通过 PRTS_AUTO_SYNC_INTERVAL_SECONDS 调整(60..604800 秒);设为 0 时只执行启动同步。
PyPI 包本身不内置 bundled 数据;直接
pip install prts-mcp时会在启动时自动同步,或使用GAMEDATA_PATH/STORYJSON_PATH指向你自己的本地数据。若GAMEDATA_PATH指向完整 ArknightsGameData 仓库根目录,内含的zh_CN/gamedata/levels会直接用于关卡战斗数据;否则默认在其相邻目录维护gamedata-levels。正式 Docker 镜像会由 CI 预置兜底数据。
详细文档
→ docs/deployment.md:完整部署方式、MCP 客户端配置 → 环境变量参考:双实现全部环境变量的单一来源
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prts_mcp-2.7.3.tar.gz.
File metadata
- Download URL: prts_mcp-2.7.3.tar.gz
- Upload date:
- Size: 279.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d80dada8193eb7a9d24855bcae120c5ed04fd8bdb5501d5e16dbbddbbbf37141
|
|
| MD5 |
9b3fdac07fc447b99005c60527b03ba4
|
|
| BLAKE2b-256 |
d727a52bb1f31545bf882520b3469188caf5aa1931bb839d04865521887884ba
|
Provenance
The following attestation bundles were made for prts_mcp-2.7.3.tar.gz:
Publisher:
cd.yml on 3aKHP/prts-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
prts_mcp-2.7.3.tar.gz -
Subject digest:
d80dada8193eb7a9d24855bcae120c5ed04fd8bdb5501d5e16dbbddbbbf37141 - Sigstore transparency entry: 2721164912
- Sigstore integration time:
-
Permalink:
3aKHP/prts-mcp@c4ba836f210f358828fab20e46f7f59873a886d9 -
Branch / Tag:
refs/tags/python/v2.7.3 - Owner: https://github.com/3aKHP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@c4ba836f210f358828fab20e46f7f59873a886d9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file prts_mcp-2.7.3-py3-none-any.whl.
File metadata
- Download URL: prts_mcp-2.7.3-py3-none-any.whl
- Upload date:
- Size: 137.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdd3861f520eddb766b73dc363d173edcf7fd783aea78456e9f98697a6a2d7b5
|
|
| MD5 |
b21a6f07368a78122b4ce2bcf161e3e1
|
|
| BLAKE2b-256 |
27b84b378d04499b7241458e166e5448f904c12780f0e855761111e1fc655d8b
|
Provenance
The following attestation bundles were made for prts_mcp-2.7.3-py3-none-any.whl:
Publisher:
cd.yml on 3aKHP/prts-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
prts_mcp-2.7.3-py3-none-any.whl -
Subject digest:
cdd3861f520eddb766b73dc363d173edcf7fd783aea78456e9f98697a6a2d7b5 - Sigstore transparency entry: 2721167596
- Sigstore integration time:
-
Permalink:
3aKHP/prts-mcp@c4ba836f210f358828fab20e46f7f59873a886d9 -
Branch / Tag:
refs/tags/python/v2.7.3 - Owner: https://github.com/3aKHP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@c4ba836f210f358828fab20e46f7f59873a886d9 -
Trigger Event:
push
-
Statement type: