mcpField
P
P6XER MCP Server

P6XER MCP Server

本地服务
pypi.org生产力1231 周前更新

关于 P6XER MCP Server

P6XER MCP Server 让兼容 MCP 的 AI 客户端解析和分析 Primavera P6 XER 进度文件。它基于 PyP6XER,提供项目活动、资源、进度质量和挣值分析相关的工具、资源与提示词。

主要功能

  1. 01解析 XER 项目文件
  2. 02查询活动和关键路径
  3. 03分析资源使用与分配
  4. 04检查进度质量
  5. 05计算挣值指标
  6. 06提供项目资源与提示词

适用场景

  1. 01汇总 XER 文件中的项目
  2. 02检查关键路径活动
  3. 03检查进度质量和资源分配
  4. 04计算项目挣值指标

MCP 相关

向 MCP 客户端提供 13 个工具、3 项资源和 2 个提示词,用于解析、查询和分析 .xer 进度文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"p6xer": {
"command": "uvx",
"args": [
"p6xer-mcp-server"
],
"env": {
"P6XER_API_KEY": "<P6XER_API_KEY>",
"P6XER_ENDPOINT": "<P6XER_ENDPOINT>",
"P6XER_LOG_LEVEL": "<P6XER_LOG_LEVEL>"
}
}
}
}
启动命令uvx p6xer-mcp-server
需要配置的环境变量
P6XER_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypip6xer-mcp-server0.1.3

工具

13

收录的工具列表 · 更新于 3 周前

参数类型必填说明
file_pathstring是

详细介绍

P6XER MCP 服务

mcp-name: io.github.osama-ata/p6xer-mcp-server

PyPI version Python 3.12+ License: MIT MCP

一个功能齐全的 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_qualityDCMA 风格检查:缺失逻辑、工期过长、浮时过高、未分配资源的任务
get_resources列出资源,可按类型筛选
get_resource_assignments资源–活动分配,包含补充的名称和成本信息
get_wbs工作分解结构层级
get_relationships补充了任务代码的紧前/紧后关系
get_calendars日历定义,包含每个周期的工时数据
get_schedule_summary一目了然的统计信息:数量、日期范围、关键活动数
get_earned_valueEVM:每个项目的 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_projectgeneral · schedule · resources · progress · quality
xer_reporting_promptexecutive · 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.0
  • pyp6xer >= 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:

使用以下值:

  • 所有者:osama-ata
  • 仓库:p6xer-mcp-server
  • 工作流文件:publish-to-pypi.yml
  • 环境:pypi(用于 PyPI),testpypi(用于 TestPyPI)
  • 项目名称:p6xer-mcp-server
2) 创建 GitHub 环境

在仓库设置中创建两个环境:

  • pypi
  • testpypi

建议的安全设置:

  • 要求 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。