EU5MinerMCP
MCP server for inspecting and interacting with Europa Universalis V game installs and mods, including file browsing, entity queries, diplomacy and religion reports, and mod update workflows.
README
EU5MinerMCP
EU5MinerMCP is an unofficial MCP application repo for exposing selected eu5miner capabilities through a thin server surface for Europa Universalis V installs and mods.
Release 0.6.0 is the current coordinated public preview release.
EU5MinerMCP is not affiliated with Paradox Interactive or the Europa Universalis franchise.
No game files, extracted assets, or other proprietary game content are included in this repository. The tool surface is intended to inspect a user's own local install and mod directories.
The current surface is intentionally narrow: the first real MCP slices wrap stable eu5miner inspection, VFS, entity-browsing, grouped helper, and mod workflow seams without duplicating parser or domain logic.
Status
- The
0.6.xline should be treated as a public preview rather than a stable1.0API. - The current implementation is a typed MCP server shell over stable
eu5minerinspection, VFS, entity-browsing, grouped helper, and mod workflow seams. - The active registered tools are
inspect-install,list-files,list-systems,report-system,list-entity-systems,find-entity,describe-entity,list-entity-links,report-diplomacy-war-flow,report-diplomacy-graph,report-religion-links,plan-mod-update,apply-mod-update, anddescribe-server. - The CLI can still print the startup status line, describe the registered tools with
--describe, and now serve the same registry over real stdio MCP transport with--stdio. - MCP clients can now call
describe-serverto retrieve display, server, and package names, version, available transports, tool names and counts, write-tool names and counts, stdio instructions, and the live registered tool descriptors from the same shared registry the CLI and stdio transport use. - The registry-backed runtime layer now fails fast if duplicate tool names, missing configured write tools, or mismatched
describe-serverdescriptor ordering would otherwise publish inconsistent contract metadata. - The grouped-helper seam now includes shipped diplomacy war-flow, diplomacy-graph, and religion link reports over representative install files only.
- Parsing, VFS, and domain logic should continue to live in the core
eu5minerlibrary.
The checked-in repo is now aligned to the coordinated eu5miner v0.6.0 release tag instead of a moving mainline revision.
The 0.6.0 preview line reflects the completed step-2 grouped-helper breadth for the current MCP surface: report-diplomacy-war-flow, report-diplomacy-graph, and report-religion-links are the shipped helper-tool families, and that scope remains the explicit preview boundary for helper-specific MCP work. The immediate post-release phase should keep validation, build, test, and contract coherence green before widening helper scope again.
Current Shell Behavior
The preview shell currently exposes a narrow tool registry:
describe-server: describe the runtime metadata, transports, tool and write-tool counts, stdio instructions, confirmation requirements, and current registered MCP tool descriptorsinspect-install: summarize discovered install roots and ordered content sourceslist-files: list merged visible files for one content phase and optional subpathlist-systems: list the stable system reports exposed by the core inspection facadereport-system: build a higher-level report for one supported systemlist-entity-systems: list the narrow browseable entity systems and their primary entity kindsfind-entity: browse one supported entity system with an optional case-insensitive name filterdescribe-entity: return the summary, fields, and linked references for one named entitylist-entity-links: return only the linked references for one named entityreport-diplomacy-war-flow: build the core diplomacy war-flow helper report from representative install filesreport-diplomacy-graph: build the core diplomacy graph helper report from representative install filesreport-religion-links: build the core religion link helper report from representative install filesplan-mod-update: plan a mod update and return both the formatted report and structured write metadata without applying changesapply-mod-update: apply a mod update and return both the formatted report and structured materialization result; requiresconfirm=truebecause it writes files under the target mod root
The entity-browsing slice is intentionally narrow. It wraps the core eu5miner.inspection browseable subset instead of inventing a generic graph API in the MCP layer, so the current real entity tools cover economy goods, diplomacy casus belli, government government types, religion religions, and map locations. For diplomacy, describe-entity and list-entity-links surface the same linked wargoal, peace-treaty, and country-interaction references already curated by the core inspection seam. The list-entity-links tool is only a convenience view over the same core reference list already returned by describe-entity; it does not introduce separate graph traversal behavior in the MCP layer.
The grouped-helper expansion stays similarly constrained. report-diplomacy-war-flow, report-diplomacy-graph, and report-religion-links read the representative install files already curated by GameInstall.representative_files(), then delegate report building to the stable grouped eu5miner.domains.diplomacy and eu5miner.domains.religion helper APIs. The MCP layer only shapes the tool contracts and serialization.
The mod workflow is also intentionally conservative at the MCP boundary: plan-mod-update remains the dry-run entrypoint, apply-mod-update requires an explicit confirm=true argument so hosted or interactive clients do not trigger writes accidentally, and describe-server exposes that same write-confirmation boundary together with the stdio startup instructions and active tool-name registry in a machine-readable form.
At this stage the package is best understood as a thin typed MCP-facing server and CLI entrypoint over a narrow inspection, entity-browsing, grouped-helper, runtime-description, and mod workflow surface, not as a broad production MCP integration.
Development
This repository is stored under OneDrive, so the recommended setup is to keep the uv environment outside the synced tree.
Initialize or refresh the centralized environment with:
.\scripts\setup-centralized-uv.ps1
That script points UV_PROJECT_ENVIRONMENT at %USERPROFILE%\.venvs\EU5MinerMCP and runs uv sync --extra dev there.
For local workspace validation, pyproject.toml also uses [tool.uv.sources] to resolve eu5miner from ../EU5Miner while keeping the published dependency pinned to the coordinated v0.6.0 release tag.
If you need a one-off local setup instead, install development dependencies with uv:
uv sync --extra dev
Run the standard checks:
$env:UV_PROJECT_ENVIRONMENT = "$env:USERPROFILE\.venvs\EU5MinerMCP"
uv run pytest
uv run ruff check .
uv run mypy src
uv build
CLI
The package currently ships a thin preview CLI:
eu5miner-mcp
eu5miner-mcp --describe
eu5miner-mcp --stdio
Documentation
- Planning entrypoint: ROADMAP.md
- Execution-ready specs: documents/specs/README.md
- Architecture notes: documents/architecture.md
- Environment notes: documents/development-environment.md
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。