关于 MCP for Primavera P6
MCP for Primavera P6 是用于分析 Oracle Primavera P6 Professional 进度计划和 XER 文件的本地 MCP 服务。它面向项目控制与进度管理,提供路径、质量、比较、风险和报表计算,并支持受控的数据库编辑。
主要功能
- 01分析关键路径、驱动路径、时差和近期计划
- 02运行 DCMA 14 项及进度质量检查
- 03比较更新和基线,模拟假设情景
- 04在内存中运行蒙特卡洛进度风险分析
- 05生成 Excel 仪表板并检查 XER 文件
- 06预览、确认、备份并记录数据库编辑
适用场景
- 01找出影响项目完工日期的活动
- 02检查进度质量并比较历次检查结果
- 03评估工期或逻辑变更的影响
- 04将更新与基线比较并分析进度延误
MCP 相关
向 MCP 客户端提供 Primavera P6 和 XER 进度分析工具。可选写入工具会在试运行和备份后,将经确认的修改写入 P6 数据库。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍

Primavera P6 的 MCP:Primavera P6 MCP 服务
Primavera P6 的 MCP 是一个本地的 模型上下文协议(MCP) 服务,可将 Claude、ChatGPT、Cursor、VS Code 及任何其他 MCP 客户端连接到 Windows 上的 Oracle Primavera P6 Professional 进度计划。它会直接读取 P6 数据库(P6 Professional 独立版,SQLite),也可读取普通的 XER 文件,并通过实际计算回答进度计划相关问题:关键路径和驱动路径、总时差、DCMA 14 项检查、前瞻分析、基线和更新比较、CPM 假设分析以及 Monte Carlo 进度风险分析。与仅支持 XER 的 MCP 服务不同,它还能将更改写回 P6 数据库:工期、逻辑关系、约束、实际值、单位和 UDF 均可修改;每项修改都会先在试运行中预览,只有经你确认后才会应用,并且会先备份且记录在编辑日志中。
Primavera P6 的 MCP 是一个独立项目,与 Oracle 无关联,也未获其认可或赞助。 Oracle、Primavera 和 P6 是 Oracle 及/或其关联公司的商标。

目录: 功能 · 安装 · 连接 MCP 客户端 · 工具 · 与仅支持 XER 的服务比较 · 安全性 · 隐私 · P6 技能 · 常见问题 · 故障排除
功能
向助手询问“什么因素影响完工日期?”,“对 3 月更新运行 DCMA 健康检查”,“与上次更新相比有哪些变化?”或“如果采购再花四周会怎样?”。服务会根据进度计划计算答案;模型负责解释。日期和时差取自 P6 最近一次进度计算的结果(F9)。
- 进度计划分析:项目和 EPS、WBS 汇总、按状态、时差、日期、活动代码或 UDF 筛选活动;采用项目时滞日历规则的关系;关键路径(总时差或最长路径)、驱动路径、时差路径、活动时差的来源、时差分布、前瞻时间窗口。
- 进度计划质量:使用项目自身 P6 阈值进行 DCMA 14 项检查,检查逻辑密度并给出加权评级;与之前的检查结果比较;检查偏离逻辑顺序的进度、悬空端点和冗余链接。
- 比较、假设分析和风险:逐项活动、逐条链接比较两次更新或基线,并分析延误原因和时差消耗;审查更新与上次更新之间的数据完整性(提供待提出的问题,而非证据);与 P6 的 F9 结果进行校验的 CPM 引擎(
p6_cpm_validate报告匹配情况),用于假设分析和 Monte Carlo 风险分析;所有计算均在内存中运行,绝不写入数据。 - 进度和报告:基于数据日期生成 S 曲线和挣值;汇总资源与成本;按状态、WBS 或代码分组;生成一页式 Excel 仪表板,含原生图表。
- XER 文件:在仅支持 XER 的模式下检查、导入(新项目、基线、更新)、导出或分析 XER 文件,无需 P6 数据库或安装 P6。
- 编辑(默认关闭):工期、约束、实际日期、实际完成百分比、资源分配单位、活动 UDF 值、关系、进度选项、EPS、删除、备份和还原。
安装
适用于 Primavera P6 的 MCP 可在 Windows 10 或 11 上运行,与 P6 Professional 配合使用。无需安装其他内容:已随附 Python。
- 从 Releases 下载
P6MCP-Setup-<version>.exe,并使用SHA256SUMS.txt校验(certutil -hashfile P6MCP-Setup-2.0.0.exe SHA256)。 - 运行安装程序。它仅为你的 Windows 用户安装(无需管理员权限),并在最后一个页面提供选项,可将服务注册到它找到的所有 MCP 客户端(Claude Desktop、Claude Code、Cursor、VS Code、LM Studio、Cline)。取消勾选不需要的客户端。
- MCP for Primavera P6 Settings 随即打开。在 Database 下选择你的 P6 数据库(建议选项来自 P6 自带的连接列表),点击 Test connection(只读),然后点击 Use this database,再点击 Save。服务不会自行选择数据库:在你完成此操作之前,每个工具都会回复“No database configured”。
- 完全重启 MCP 客户端。
目前发布版本尚未进行代码签名:Windows SmartScreen 首次启动时可能会发出警告(“More info”,然后选择“Run anyway”)。请先检查 SHA-256。发布页面上还有其他安装包:便携版 zip(无需安装)以及 MCP bundle(.mcpb,仅含服务),Claude Desktop 可一键安装;该安装包也列在官方 MCP Registry 中,名称为 io.github.nizarhamza/p6-mcp。
连接 MCP 客户端
安装程序和 Settings > MCP clients 会为你写入客户端配置:它们会在创建带时间戳的备份后,仅添加(或修复、移除)p6mcp 条目,同时保留其他所有条目、注释和文件格式。以下手动步骤仅供参考。在每个代码片段中,将 <you> 替换为你的 Windows 用户名(或从 Settings > MCP clients > Other clients 复制代码片段,其中会填入实际路径)。
Claude Desktop
你可以让安装程序注册,也可以双击 .mcpb bundle(在 Settings > Extensions 中查看;在那里选择数据库),或者编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"p6mcp": {
"command": "C:\\Users\\<you>\\AppData\\Local\\Programs\\P6 MCP\\p6mcp-server.exe",
"args": []
}
}
}
完全退出 Claude Desktop(包括从通知区域退出),然后重新启动。P6 技能会作为提示词出现在 + 菜单中。
Cursor
安装程序会将其注册到 %USERPROFILE%\.cursor\mcp.json,或者将与上文 Claude Desktop 相同的 mcpServers 条目添加到该文件中。Cursor 会在 Settings > MCP 下列出这些工具。
VS Code(GitHub Copilot Agent 模式)
安装程序会将其注册到 %APPDATA%\Code\User\mcp.json(VS Code Insiders:...\Code - Insiders\User\mcp.json)。
手动配置时,运行 MCP: Open User Configuration 并添加:
{
"servers": {
"p6mcp": {
"type": "stdio",
"command": "C:\\Users\\<you>\\AppData\\Local\\Programs\\P6 MCP\\p6mcp-server.exe",
"args": []
}
}
}
然后在 Agent 模式下打开 Copilot Chat,并从工具菜单中选择工具。
ChatGPT
ChatGPT 无法在你的电脑上启动程序,因此有两种接入方式。目前维护者尚未测试这两种方式:请在 issue 中反馈使用情况。
-
Codex(在 ChatGPT 桌面应用或 Codex CLI 中)可从
%USERPROFILE%\.codex\config.toml启动本地 MCP 服务:[mcp_servers.p6mcp] command = 'C:\Users\<you>\AppData\Local\Programs\P6 MCP\p6mcp-server.exe' args = [] -
ChatGPT chat 只能通过 HTTPS 访问 MCP 服务。OpenAI 的安全 MCP Tunnel 会在你的电脑上运行一个轻量客户端,用于启动服务(上文的 stdio 命令)并将 ChatGPT 的请求转发给它,无需开放入站端口;随后,你需要在 ChatGPT 中添加一个自定义 MCP 服务,并将连接方式设为 Tunnel。这需要 OpenAI 平台 API 密钥,以及允许使用自定义 MCP 服务的 ChatGPT 套餐或工作区。之后,工具结果会像任何 ChatGPT 对话一样经由 OpenAI 的服务传递。
Claude Code、LM Studio、Cline 和其他客户端
安装程序也会为 Claude Code(%USERPROFILE%\.claude.json)、LM Studio(%USERPROFILE%\.lmstudio\mcp.json)
和 Cline 注册配置。手动配置 Claude Code:
claude mcp add --scope user p6mcp -- "$env:LOCALAPPDATA\Programs\P6 MCP\p6mcp-server.exe"
其他任何启动 stdio 服务的客户端都可以使用上面的 mcpServers 片段。需要 HTTP 的客户端可以使用
本地 HTTP 传输。在命令行中运行(安装程序使用相同的命令):
& "$env:LOCALAPPDATA\Programs\P6 MCP\p6mcp-server.exe" clients list
& "$env:LOCALAPPDATA\Programs\P6 MCP\p6mcp-server.exe" clients register cursor

工具
共有 58 个工具:37 个只读工具(其中 11 个包含在 Basic 配置文件中)、2 个文件写入工具、18 个写入工具(默认关闭;先试运行,再由你确认;并会先备份),以及 1 个用于更改应用自身设置的工具。由 tools/gen_docs.py 从代码生成。
项目和结构
| 工具 | 功能 | 访问权限 | Basic |
|---|---|---|---|
p6_list_projects | 列出项目,包含数据日期、开始日期、完成日期、状态、基准计划和 EPS;可按 EPS 筛选 | 读取 | 是 |
p6_list_eps | EPS 树,包含深度、路径和项目数量 | 读取 | |
p6_project_summary | 一次调用即可查看概览:日期、活动数量、关键活动数量、按单位、实物量和工期计算的完成百分比、基准计划偏差和 SPI | 读取 | 是 |
p6_list_wbs | 按 P6 顺序列出 WBS 树及汇总数据:活动、日期、时差、单位完成百分比和基准计划计划百分比 | 读取 | 是 |
p6_list_calendars | 日历,包含工作周、每日工时和节假日例外 | 读取 | |
p6_list_udfs | 用户自定义字段(UDF 列)及其使用情况 | 读取 | |
p6_schedule_options | 并排查看项目、XER 文件或两者的进度计划选项 | 读取 |
活动和关系
| 工具 | 功能 | 访问权限 | Basic |
|---|---|---|---|
p6_query_activities | 按名称、活动 ID、WBS、状态、总时差、日期、活动代码或 UDF 搜索活动,并可选择列 | 读取 | 是 |
p6_get_activity | 单个活动的所有信息:日期、工期、时差、约束、逻辑、资源、代码、UDF 和笔记本 | 读取 | 是 |
p6_get_relationships | 活动的紧前关系和紧后关系,时滞以小时和天为单位 | 读取 | 是 |
p6_lookahead | 查看未来几周开始、完成或正在进行的工作,并标记关键工作 | 读取 | 是 |
p6_milestones | 对照基准计划查看里程碑:工作日和日历日偏差、时差、关键性 | 读取 |
关键路径和时差
| 工具 | 功能 | 访问权限 | Basic |
|---|---|---|---|
p6_critical_path | 按项目定义的关键活动(总时差或最长路径) | 读取 | 是 |
p6_driving_path | 活动日期背后的驱动紧前活动链,可追溯至根本原因 | 读取 | |
p6_float_paths | 最近一次 P6 进度计划运行的时差路径,按 P6 顺序排列 | 读取 | |
p6_float_origin | 活动总时差的来源:决定其最晚日期的紧后活动链 | 读取 | |
p6_float_analysis | 按范围统计总时差和自由时差的分布 | 读取 | 是 |
进度计划质量
| 工具 | 功能 | 访问权限 | Basic |
|---|---|---|---|
p6_health_check | DCMA 14 项检查(如已设置,则采用项目自身的 P6 阈值)、关键路径测试、CPLI、BEI 和加权评分 | 读取 | 是 |
p6_health_check_compare | 将当前健康检查与早前的运行结果对比:查看哪些方面有所改善或恶化 | 读取 | |
p6_dangling | 未开放的开始和未开放的完成,以及每项建议添加的闭合关系 | 读取 | |
p6_redundant_links | 候选移除关系(传递关系、重复关系、指向已完成工作的关系) | 读取 | |
p6_progress_check | 非顺序进度和状态不一致 | 读取 |
进度和报告
| 工具 | 功能 | 访问权限 | 基础 |
|---|---|---|---|
p6_progress_curve | 按月或按周绘制与基准计划对比的 S 曲线(单位或成本),并显示数据日期的挣值 | 读取 | |
p6_group_summary | 按状态、类型、WBS 层级或活动代码分组显示活动、单位和日期 | 读取 | |
p6_resource_summary | 按资源显示单位和成本,并按状态显示活动 | 读取 | |
p6_export_dashboard | Excel 项目控制仪表板:一页 A3,包含图表和明细工作表 | 写入文件 |
比较、假设分析与风险
| 工具 | 功能 | 访问权限 | 基础 |
|---|---|---|---|
p6_compare_projects | 逐项活动、逐条关系对比两次更新或基准计划,并分析延期原因和总浮时损耗 | 读取 | |
p6_update_integrity | 对比本次更新与上一次更新,审查可能需要质疑的变更 | 读取 | |
p6_cpm_validate | 运行内置 CPM 引擎,并逐项活动与 P6 上次按 F9 计算的结果对比 | 读取 | |
p6_schedule_whatif | 在内存中进行假设分析:添加或删除关系、修改工期或约束,并查看新的完工日期 | 读取 | |
p6_schedule_risk | 在内存中进行蒙特卡洛进度风险分析:完工百分位数、按时完工概率、关键性指数 | 读取 |
XER 文件
| 工具 | 功能 | 访问权限 | 基础 |
|---|---|---|---|
p6_inspect_xer | 读取 XER 文件但不导入,并运行导入前检查 | 读取 | |
p6_import_xer | 将 XER 导入为新项目、基准计划或现有项目的更新 | 写入 | |
p6_export_xer | 将项目导出为 XER 文件,并包含进度计划选项 | 写入文件 |
编辑(默认关闭)
| 工具 | 功能 | 访问权限 | 基础 |
|---|---|---|---|
p6_update_activity | 编辑活动:名称、工期、约束、实际日期、实际完成百分比 | 写入 | |
p6_update_assignment | 设置一项资源分配的预算、实际或剩余单位 | 写入 | |
p6_update_assignments | 在一项全有或全无的更改中设置多项分配的单位 | 写入 | |
p6_update_udf | 设置或清除一个活动 UDF 值 | 写入 | |
p6_update_udfs | 在一项更改中设置或清除多个活动 UDF 值 | 写入 | |
p6_add_relationship | 添加关系(FS、SS、FF、SF,含时滞) | 写入 | |
p6_add_relationships | 在一项全有或全无的更改中添加多个关系 | 写入 | |
p6_update_relationship | 更改关系的类型或时滞 | 写入 | |
p6_update_relationships | 在一项更改中更改多个关系 | 写入 | |
p6_delete_relationship | 删除关系 | 写入 | |
p6_delete_relationships | 在一项更改中删除多个关系 | 写入 | |
p6_set_schedule_options | 写入项目的进度计划选项,或从 XER 文件中复制这些选项 | 写入 | |
p6_create_eps | 创建 EPS 节点 | 写入 | |
p6_delete_activity | 按照 P6 的方式删除活动及其所有关联内容 | 删除或替换 | |
p6_delete_project | 按照 P6 的方式删除一个或多个项目 | 删除或替换 |
备份、日志和诊断
| 工具 | 功能 | 访问权限 | 基础 |
|---|---|---|---|
p6_backup_database | 立即备份 P6 数据库 | 写入 | |
p6_list_backups | 列出自动备份(写入前创建)和手动备份 | 读取 | |
p6_restore_backup | 在安全备份当前数据库后,恢复某个备份 | 删除或替换 | |
p6_edit_log | 记录每次已确认的写入操作及其参数、修改前后的值 | 读取 | |
p6_diagnose | 一目了然地查看配置、数据库、P6 版本和 P6 运行状态 | 读取 | 是 |
p6_sql_select | 在必要时对 P6 数据库执行只读 SQL 查询 | 读取 |
技能库
| 工具 | 功能 | 访问权限 | 基础 |
|---|---|---|---|
p6_shop_search | 搜索技能商店(在 GitHub 上共享的现成 P6 工作流) | 读取 | |
p6_shop_get | 完整显示商店中的一项技能 | 读取 | |
p6_shop_install | 经你确认后,从商店安装或更新技能 | 应用设置 |
与仅支持 XER 的 MCP 服务相比
多个 MCP 服务可读取 Primavera P6 XER 文件;其中一些还可以编辑 XER 并导出新文件,以便重新导入 P6。MCP for Primavera P6 直接操作 P6 Professional 数据库本身,也可以读取 XER 文件。
| MCP for Primavera P6 | 典型的 XER 文件 MCP 服务 | |
|---|---|---|
| 读取 XER 文件 | 是:检查、导入、导出、仅 XER 模式 | 是 |
| 直接读取 P6 Professional 数据库(每个项目、基线、EPS、代码、UDF、进度计划选项) | 是 | 否:需先导出 XER |
| 将更改写回 P6 | 是,写入数据库:打开 P6 并按 F9 | 否,或编辑 XER 后再重新导入 |
| 预览、确认令牌、每次写入前备份、还原、编辑日志 | 是 | 不适用,或因服务而异 |
| 在 P6 运行时或遇到未经测试的 P6 架构时拒绝写入 | 是 | 不适用 |
经 P6 自身的 F9 日期验证的 CPM 引擎(p6_cpm_validate),用于假设分析和 Monte Carlo 风险分析 | 是 | 因服务而异 |
| 使用 P6 中设置的阈值进行 DCMA 14 点检查 | 是,未设置阈值时使用 DCMA 默认值 | 因服务而异 |
| Excel 仪表板、P6 技能(现成工作流) | 是 | 因服务而异 |
| 安装 | 带设置窗口的 Windows 安装程序;注册你的 MCP 客户端 | 通常是 Python 软件包(pip、uvx) |
| 在 macOS 或 Linux 上运行 | 否:仅限 Windows,与 P6 Professional 一样 | 通常可以 |
| P6 EPPM,或运行在 SQL Server 或 Oracle 上的 P6 | 否 | 否(仅限 XER) |
“因服务而异”表示有些 XER 服务支持,有些不支持:请查看你所关注的服务。
安全性

- 工具配置文件:Basic(11 个只读工具,适合小型本地模型)或 Full(全部 58 个工具)。
- 默认关闭写入。 使用 Full 配置文件并启用“Allow write operations”后,每次写入都需要两次调用: 首先进行试运行,显示计划并返回一个一次性确认令牌;然后,在你明确同意后,使用该令牌进行相同的 调用。删除项目或活动以及还原备份也需要确认文本。如果期间数据库发生了更改,则会拒绝写入。
- 每次写入前都会创建备份(保留期限由你选择);P6 运行时会拒绝写入;每次写入都会记录到 编辑日志中,并附上相关参数。
- 对于服务器未经测试的 P6 架构版本,会拒绝写入,除非你明确选择信任它。
- 这些规则由服务器本身在每次调用时强制执行,而不仅仅由设置窗口执行。
写入会直接修改数据库,并绕过 P6 自身的应用逻辑。服务器会像 P6 一样更新审核字段(update_date、update_user、create_*),并且绝不会写入计划、提前或延后日期,也不会写入时差:写入前请关闭 P6,然后重新打开并按 F9。可在 SECURITY.md 中查看写入工具可以更改的内容。
隐私
服务器仅在你的电脑上运行:没有云端组件,也没有遥测。它唯一的网络请求会发送到 GitHub: 更新(此仓库的版本发布),你可以在 Logs and updates 下将其关闭;以及技能商店 (在你打开技能商店页面或提出请求时读取公开目录;设置应用首次启动时读取核心技能集;在“Restore core skills”时读取;以及启用自动更新后获取较新版本的技能),你可以在 Tools and safety 下将其关闭(此时核心技能集将使用应用内附带的副本)。
工具返回的数据会发送给 MCP 客户端使用的 AI 模型,该模型可能是云服务。对于机密进度计划,请使用本地模型(例如 LM Studio)。
P6 技能
P6 技能是现成的工作流,可将工具串联起来,生成一份固定报告:每周更新审查、进度计划质量审计、安全更新导入、更新完整性审计、进度计划风险、延期假设分析、基准偏差、Excel 仪表板等。它们都来自 技能商店。首次启动时,Settings 应用会从商店安装核心技能集(如果无法连接 GitHub,则安装应用随附的核心技能集副本,之后再从商店更新)。恢复核心技能(在 Skills 或 Skill shop 页面中)会再次安装核心技能集:缺失的技能会恢复,编辑过的技能会替换为商店版本。启用自动更新(Logs and updates)后,托盘应用也会安装商店中较新的技能版本,但不会覆盖你在此处编辑过的技能:这些技能会在 Skill shop 页面显示有可用更新,点击 Update 后会先询问是否替换你的更改。
大多数技能需要 Full 工具配置文件(导入也需要写入权限)。MCP 客户端 > 安装技能会将每项技能写入一个 Agent Skills 文件夹 p6-<name>(包含 SKILL.md 及其参考文件);当你的请求符合技能描述时,客户端的 AI 会使用该技能,Claude Code 也可以通过 /p6-<name> 运行它:
| 客户端 | 技能文件夹 |
|---|---|
| Claude Code、Cursor、VS Code / VS Code Insiders | %USERPROFILE%\.claude\skills(这三个客户端共用一个文件夹) |
| Cline | %USERPROFILE%\.cline\skills |
更新技能会在更新或更改工具设置后刷新技能;移除技能(以及卸载应用)只会删除应用写入的文件。通过命令行:
& "$env:LOCALAPPDATA\Programs\P6 MCP\p6mcp-server.exe" clients skills install --detected
服务还会将这些技能作为 MCP 提示词提供:Claude Desktop 会在 + 菜单中列出它们,VS Code 中的格式为 /mcp.p6mcp.<name>,Claude Code 中的格式为 /mcp__p6mcp__<name>。Claude Desktop 没有技能文件夹:将技能导出为 zip 文件(Skills > Export),然后在 Claude Desktop 的设置中上传,即可将其添加为技能。
Settings 应用的 Skills 页面会列出这些技能、当前工具设置是否支持这些技能,以及它们的来源(Shop、Shop edited here、Yours)。你可以关闭技能、编辑技能或添加自己的技能(点击 New,或点击 Copy to my skills,以商店技能为基础创建):设置名称、标题、说明(描述技能的功能和适用场景,客户端会据此选择技能)、在指令中以 {input} 格式编写输入、选择要使用的 P6 工具,以及添加最多 5 个文本参考文件(清单、阈值、示例;不能是脚本)。P6 规则会附加到你的指令中。Instructions 页面会显示每个客户端连接时收到的指令;你可以关闭内置语句(两步写入规则除外),也可以添加自己的语句,例如“显示活动时,请按 Activity ID - Activity name 的格式书写”。点击 Save,然后在 MCP clients 页面点击 Update skills,最后重启 MCP 客户端以应用提示词。
技能商店
技能商店页面会列出公共目录 nizarhamza/p6-mcp-shop 中的 P6 技能:随应用维护的核心技能,以及其他用户分享的技能。无需账户即可浏览;应用只会在你打开此页面或向 AI 客户端发出请求时读取该目录(Full profile 下的工具 p6_shop_search、p6_shop_get 和 p6_shop_install;安装前会显示完整技能内容,并需要你确认)。安装前请先阅读技能:它包含给 AI 的指令,而使用写入工具的技能在你确认更改后可能会修改你的进度计划。你可以在工具与安全中关闭技能商店。
若要分享技能,请在“技能”页面选中该技能,然后点击在 GitHub 上分享:应用会将技能复制到剪贴板,并在浏览器中打开 GitHub 分享表单;如果系统提示,请登录(需要免费的 GitHub 账户),将技能粘贴到 Skill 字段,然后点击 Create(应用本身不会发送任何内容)。维护者会审核该技能;审核通过后,GitHub Action 会检查并以 Apache-2.0 许可证将其发布到目录中。若没有 GitHub 账户,可将技能导出为 zip 文件并发送;导入会在你审核后添加 zip 文件(或包含 SKILL.md 和文本文件的任意技能文件夹)。
本地 HTTP 传输
默认情况下,每个客户端都会启动自己的服务器(stdio)。你可以在服务器中切换为由通知区域应用托管的本地 HTTP 服务器,供需要 HTTP 的客户端使用,或供多个客户端共用:
- 仅监听
127.0.0.1(http://127.0.0.1:<port>/mcp),并检查端口; - 每个请求都需要
Authorization: Bearer <token>;令牌保存在 Windows 凭据管理器中(可查看掩码值、复制或重新生成); - 检查 Host 和 Origin 标头,以阻止 DNS 重绑定。
Excel 仪表板
例如,可以请求“将 DEMO-A 的仪表板导出到 D:\Reports\DEMO-A.xlsx”(Full profile)。模板内置于服务器中:p6_export_dashboard 会读取上次 F9 计算结果并写入完整的工作簿(值和 Excel 原生图表,不含公式),因此请先在 P6 中按 F9。只有在你明确要求时,才会替换现有文件(overwrite)。
| 工作表 | 内容 |
|---|---|
| Dashboard | 一页 A3 横向页面,受保护(无密码),图表位置固定:7 张卡片(总体进度、关键和延误活动、进度计划偏差、预测完成时间、剩余工期、逾期里程碑);S 曲线;按一级 WBS 划分的完成时间偏差(工作日);WBS 进度(一级)和二级进度,以及实际值与基线计划值的对比;里程碑;关键和延误活动 |
| Schedule Overview | 按 WBS 分组列出所有活动(默认折叠至二级):基线、当前和实际日期、完成百分比、人工单位、原始工期、剩余工期和实际工期 |
| Critical Path | 上次 F9 计算的 P6 浮时路径,路径之间以粗线分隔(若未存储路径,则列出总浮时不超过 near_critical_days 的活动) |
| Reports | DCMA 14 项检查、来源、设置和定义 |
选项:baseline(默认为项目基线)、baseline_dates(planned 或 current)、milestones(活动 ID)、near_critical_days(10:超过此值为延误,不超过此值为有风险)、period(month 或 week)、prepared_by、revision,以及仅适用于此导出的 company(显示在侧边栏中)和 colors(十六进制的 "primary,accent")。延误和偏差均按工作日计算,与 P6 偏差列一致。
仅 XER 模式
在数据库 > 数据源中,选择仅 XER 文件,添加一个或多个 XER 文件,然后点击加载并检查。文件会被读入私有的只读副本;所有读取工具都可在其中运行。加载同一进度计划的两个版本即可比较;若 Project ID 已被第一个文件使用,后续文件中的 ID 会加上 ~2 后缀。
常见问题
Primavera P6 的 MCP 服务是什么? MCP(模型上下文协议)是 AI 助手用于调用工具的开放标准。此服务提供 58 个工具,用于读取和分析 Primavera P6 进度计划,因此你可以用日常语言提问,并获得根据进度计划计算出的答案,而不是模型猜测的结果。
AI 能更改我的进度计划吗? 只有在你允许的情况下才可以。默认禁用写入;启用后,每次写入都会先进行试运行预览,并且只有在你明确确认后,才会使用一次性令牌执行;同时会先创建备份,并且必须关闭 P6。计划日期和时差永远不会被写入:按下 F9 时,P6 会计算这些数据。
我的进度计划会离开我的电脑吗? 此服务在本地运行,不会向任何地方发送数据。工具返回的内容会发送给 MCP 客户端使用的 AI 模型;如果使用云端模型,数据就会发送给该模型的提供商。对于机密项目,请使用本地模型,例如在 LM Studio 中运行的模型。
支持哪些 P6 版本和数据库? 支持 P6 Professional 独立版(SQLite),已针对 25.12 测试;其他版本在经过测试或确认可靠之前均为只读。支持来自 P6 Professional 24.12 的 XER 文件,以及由此服务自行导出的 XER 文件。不支持 P6 EPPM,也不支持运行于 SQL Server 或 Oracle 上的 P6 Professional。
我需要安装 P6 吗? 处理 XER 文件时不需要:仅 XER 模式无需 P6 或 P6 数据库即可分析文件。
DCMA 14 点检查如何工作?
p6_health_check 会根据上次 F9 计算结果运行 DCMA 的 14 项检查;如果项目中设有 P6 进度计划检查设置阈值,则使用这些阈值,否则使用 DCMA 默认值。关键路径测试会在此服务的 CPM 引擎中延迟一项活动,并且只有在该引擎计算结果与 P6 日期一致时才会运行。请参阅DCMA 14 点检查指南。
日期是由 AI 计算的吗?
不是。日期和时差来自 P6 上次的进度计划计算结果。假设情景和风险分析使用此服务的 CPM 引擎;在依赖该引擎之前,p6_cpm_validate 会显示它在你的项目中与 P6 自身日期的匹配程度。
哪些 AI 客户端可以使用? Claude Desktop、Claude Code、Cursor、VS Code、LM Studio 和 Cline 会自动注册;任何能够启动 stdio 服务或使用 Streamable HTTP 的 MCP 客户端也可以使用。ChatGPT 可通过 Codex 或 OpenAI Secure MCP Tunnel 使用(请参阅 ChatGPT)。
可以在 macOS 或 Linux 上运行吗? 不可以。P6 Professional 是 Windows 程序,此服务专为 Windows 10 和 11 构建。
免费吗? 是,采用 Apache License 2.0 授权。
已测试版本
| 组件 | 已测试 |
|---|---|
| Windows | Windows 11 |
| P6 Professional 独立版(SQLite) | 25.12(p6mcp/schema.py 中的架构指纹);其他版本在经过测试或确认可靠之前均为只读 |
| XER 文件 | 由 P6 Professional 24.12 和此服务自行导出 |
| MCP 客户端 | 已针对上述每个客户端的示例配置文件测试注册;已使用 MCP Python SDK 客户端测试 stdio 和 HTTP;每个客户端的端到端使用情况均列入发布检查清单。Codex 和 ChatGPT tunnel 尚未测试 |
| MCP SDK | mcp 2.3(支持 1.8 或更高版本) |
故障排除
- “未配置数据库”:打开 MCP for Primavera P6 设置,选择数据库,点击“测试连接”,再点击“使用此数据库”和“保存”。
- 工具“在 Basic 配置文件中不可用”:在“工具和安全”下切换到 Full,点击“保存”,然后重启客户端。
- 客户端未显示工具:完全重启客户端(也从通知区域退出),然后检查 MCP 客户端:该条目可能需要修复。请助手运行
p6_diagnose。 - “P6 (PM.exe) 正在运行”:执行写入操作前关闭 P6。
- “未知的 P6 架构”:你的 P6 版本未经测试;读取功能可用。你可以信任“数据库”下的架构(请先备份)。
- HTTP 服务错误:服务会显示最后一次错误(通常是端口被占用:请选择其他端口)。
- 日志:日志和更新 > 打开日志文件夹(
%LOCALAPPDATA%\P6MCP\logs)。设置位于%APPDATA%\P6MCP\config.json;备份、编辑日志和 XER 副本位于%LOCALAPPDATA%\P6MCP。
1.x 版本称为 P6 MCP:安装文件夹、程序名称和设置文件夹都保留了这个名称,因此更新和客户端注册信息都能沿用。
卸载
Windows 设置 > 应用 > MCP for Primavera P6。卸载程序会移除程序、MCP 客户端中的 p6mcp 条目以及启动项。你的设置、备份和日志会保留。
开发
python -m venv .venv
.venv\Scripts\pip install -e .[dev]
.venv\Scripts\python -m pytest -q
.venv\Scripts\python -m p6mcp.settings_app # Settings window
.venv\Scripts\python tools\gen_docs.py # tool tables of README.md and site/llms.txt
测试使用由测试构建的合成 P6 数据库和合成 XER 文件(tests/fixtures/make_db.py)。
切勿提交真实进度计划、数据库、XER 文件或日志。构建安装程序和发布:
docs/RELEASING.md。项目主页位于 site/。
如需贡献,请先创建 issue:参阅 CONTRIBUTING.md 和 行为准则。无障碍支持:ACCESSIBILITY.md。
许可证
Apache License 2.0。版权所有 2026 Nizar Hamza。参见 NOTICE。
Primavera 和 P6 是 Oracle 的商标。本项目与 Oracle 无关,也未获 Oracle 背书。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。