关于 P6XER MCP Server
P6XER MCP Server 让兼容 MCP 的 AI 客户端解析和分析 Primavera P6 XER 进度文件。它基于 PyP6XER,提供项目活动、资源、进度质量和挣值分析相关的工具、资源与提示词。
主要功能
- 01解析 XER 项目文件
- 02查询活动和关键路径
- 03分析资源使用与分配
- 04检查进度质量
- 05计算挣值指标
- 06提供项目资源与提示词
适用场景
- 01汇总 XER 文件中的项目
- 02检查关键路径活动
- 03检查进度质量和资源分配
- 04计算项目挣值指标
MCP 相关
向 MCP 客户端提供 13 个工具、3 项资源和 2 个提示词,用于解析、查询和分析 .xer 进度文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx p6xer-mcp-serverP6XER_API_KEY密钥API key used to authenticate with p6xer service.P6XER_ENDPOINTOptional p6xer endpoint URL (default uses local p6xer daemon).P6XER_LOG_LEVELOptional log verbosity level (e.g., DEBUG, INFO, WARN, ERROR).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
13收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file_path | string | 是 |
详细介绍
P6XER MCP 服务
mcp-name: io.github.osama-ata/p6xer-mcp-server
一个功能齐全的 Model Context Protocol (MCP) 服务,用于处理 Primavera P6 XER 文件,基于 PyP6XER 构建。
提供 13 个工具、3 个资源和 2 个提示词,让任何兼容 MCP 的 AI 客户端(Claude Desktop、Claude Code、Cursor 等)都能交互式解析、查询和分析 .xer 计划文件。
🚀 功能
🔧 工具(13 个)
| 工具 | 描述 |
|---|---|
parse_xer_file | 解析 XER 文件 — 项目列表、总计和状态细分 |
get_project_activities | 活动及其筛选条件:project_id、project_short_name、status、task_type |
get_critical_path | 关键路径活动(总浮时 ≤ 0),按最早开始时间排序 |
analyze_resource_utilization | 每项资源的计划/实际工时和成本;超额分配标记 |
check_schedule_quality | DCMA 风格检查:缺失逻辑、工期过长、浮时过高、未分配资源的任务 |
get_resources | 列出资源,可按类型筛选 |
get_resource_assignments | 资源–活动分配,包含补充的名称和成本信息 |
get_wbs | 工作分解结构层级 |
get_relationships | 补充了任务代码的紧前/紧后关系 |
get_calendars | 日历定义,包含每个周期的工时数据 |
get_schedule_summary | 一目了然的统计信息:数量、日期范围、关键活动数 |
get_earned_value | EVM:每个项目的 PV、EV、AC、CV、SV、CPI、SPI、EAC |
get_activity_detail | 单项活动的完整详情(紧前活动 + 紧后活动 + 资源) |
📋 资源(3 个)
| URI | 描述 |
|---|---|
xer-project://{file_path}/{project_id} | 特定项目的详细文本摘要 |
xer-activities://{file_path} | 活动摘要,包含状态细分和工期统计 |
xer-resources://{file_path} | 资源摘要,包含类型细分和分配统计 |
💬 提示词(2 个)
| 提示词 | 类型 |
|---|---|
analyze_xer_project | general · schedule · resources · progress · quality |
xer_reporting_prompt | executive · detailed · critical_path · resource · milestone |
� 从商店安装
通过 PyPI(uvx — 无需安装)
uvx p6xer-mcp-server
通过 PyPI(pip)
pip install p6xer-mcp-server
p6xer-mcp-server
通过 Smithery
在 smithery.ai 上搜索 p6xer-mcp-server,然后点击 Install。
它会自动生成正确的 Claude Desktop 配置。
通过 GitHub MCP Registry
此服务已列入 GitHub MCP Registry。在 Claude Code 中:
claude mcp add p6xer -- uvx p6xer-mcp-server
Claude Desktop 配置(通过 PyPI 安装后)
{
"mcpServers": {
"p6xer": {
"command": "uvx",
"args": ["p6xer-mcp-server"]
}
}
}
�📦 安装
# Clone the repo
git clone https://github.com/osama-ata/p6xer-mcp-server.git
cd p6xer-mcp-server
# Install with uv (recommended)
uv sync
# Or with pip
pip install "mcp[cli]>=1.6.0,<2.0.0" pyp6xer
🏃 运行
开发 / MCP Inspector:
uv run mcp dev src/p6xer_mcp_server/server.py
Stdio(Claude Desktop / Claude Code):
uv run p6xer-mcp-server
🔌 Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"p6xer": {
"command": "uvx",
"args": ["p6xer-mcp-server"]
}
}
}
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
🔌 Claude Code(CLI)
claude mcp add p6xer -- uvx p6xer-mcp-server
💬 提示词示例
连接后:
Parse project.xer and give me an overview of all projects
What are all the critical path activities, sorted by start date?
Run a DCMA schedule quality check on project.xer
Calculate earned value metrics — what are the CPI and SPI?
Show all resource assignments for "John Smith"
What are the predecessors and successors of activity A1000?
List all over-allocated labor resources
Generate an executive summary report for project.xer
📊 工具参考
筛选参数(大多数工具均支持)
project_id– P6 数字项目 ID(例如"1234")project_short_name– 项目简称字符串(例如"PROJ1")
状态代码
TK_NotStart · TK_Active · TK_Complete
任务类型
TT_Task · TT_Mile · TT_FinMile · TT_WBS
资源类型
RT_Labor · RT_Mat · RT_Equip
🗂️ 项目结构
p6xer-mcp-server/
├── src/
│ └── p6xer_mcp_server/
│ ├── __init__.py
│ └── server.py # All tools, resources, and prompts
├── manifest.json # MCPB bundle manifest
├── mcp.json # MCP registry metadata
├── smithery.yaml # Smithery registry configuration
├── pyproject.toml
└── README.md
📋 要求
- Python ≥ 3.10
mcp[cli] >= 1.6.0, < 2.0.0pyp6xer >= 1.16.0
📄 许可证
MIT
🚢 发布到 PyPI(GitHub Actions + Trusted Publishing)
此仓库包含一个位于 .github/workflows/publish-to-pypi.yml 的发布工作流,该工作流基于 PyPA 指南和 pypa/gh-action-pypi-publish。
1) 配置 Trusted Publishers
为此确切的工作流文件创建 Trusted Publishers:
- PyPI:https://pypi.org/manage/account/publishing/
- TestPyPI:https://test.pypi.org/manage/account/publishing/
使用以下值:
- 所有者:
osama-ata - 仓库:
p6xer-mcp-server - 工作流文件:
publish-to-pypi.yml - 环境:
pypi(用于 PyPI),testpypi(用于 TestPyPI) - 项目名称:
p6xer-mcp-server
2) 创建 GitHub 环境
在仓库设置中创建两个环境:
pypitestpypi
建议的安全设置:
- 要求
pypi进行手动审批 testpypi无需审批
3) 在本地构建(可选的健全性检查)
python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
4) 发布流程
- 推送到
main:发布到 TestPyPI - 推送标签
v*(例如v0.1.1):发布到 PyPI
git tag v0.1.1
git push origin v0.1.1
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。