p6ai
Provides MCP tools to validate structured construction plan JSON and create projects in Primavera P6 Professional standalone SQLite databases, with automatic backup and rollback.
README
P6AI
AI 驱动的 Primavera P6 Professional(独立版 SQLite)计划建库工具。
👥 不熟悉程序的土木行业朋友,请看:给土木行业朋友的说明
P6AI 接收结构化的施工计划 JSON,先做完整性 / 业务 / 网络(DAG)校验,
再以单事务直接写入 P6 Professional 独立版的 PPMDBSQLite.db,自动备份、
自动回滚、自动对齐主键序列。写入后打开 P6 按 F9 即可完成进度计算。
⚠️ 非官方工具,与 Oracle 无关联。仅面向 P6 Professional 独立版(SQLite PMDB)。
Features
- 计划校验:字段完整性、WBS 引用、工期合法性、逻辑关系类型、循环依赖检测
- 结构自检:写入前核对数据库表 / 字段是否与当前 P6 版本兼容,防止误写 EPPM 库
- 安全写入:自动备份 + 单事务 + 失败整体回滚 +
NEXTKEY主键序列对齐 - 版本适配:针对 P6 Professional 23.12 独立版真实表结构编写(含 22 位 GUID、EPS 挂接)
- 无第三方运行时依赖(仅 Python 标准库)
Quick Start
# 1. 结构自检:确认目标库与本工具兼容
python -m p6ai check --db "C:\Users\<you>\Documents\PPMDBSQLite.db"
# 2. 校验计划 JSON(不写库)
python -m p6ai validate --plan plan.json
# 3. 写入 P6 数据库(自动备份)
python -m p6ai create --plan plan.json --db "C:\Users\<you>\Documents\PPMDBSQLite.db"
# 4. 打开 P6 Professional,打开新项目,按 F9 进度计算
Plan JSON Format
{
"project_code": "PRJ-2026-001",
"project_name": "某变电站土建及机电安装工程",
"start_date": "2026-09-01 08:00:00",
"calendar_name": "Corporate - Standard Full Time",
"wbs_tree": [
{ "wbs_code": "WBS.1", "wbs_name": "土建工程", "parent": null },
{ "wbs_code": "WBS.1.1", "wbs_name": "桩基与地基处理", "parent": "WBS.1" }
],
"tasks": [
{ "task_code": "A1010", "task_name": "场地平整及放线", "wbs_code": "WBS.1.1", "duration_days": 5 },
{ "task_code": "A1020", "task_name": "静压管桩施工及检测", "wbs_code": "WBS.1.1", "duration_days": 12.5 }
],
"relationships": [
{ "pred_code": "A1010", "succ_code": "A1020", "type": "PR_FS", "lag_days": 0 }
]
}
- 逻辑关系类型:
PR_FS/PR_SS/PR_FF/PR_SF duration_days可为小数,必须大于 0- 全网必须是有向无环图(DAG),禁止循环
Safety Notes
- 写入期间必须完全关闭 P6 Professional(数据库被占用时会拒绝写入并提示)
- 每次写入前自动生成
PPMDBSQLite.db.bak_时间戳备份 - 写入基于逆向验证的表结构,不同 P6 版本请先运行
check
MCP 接口(AI 工具)
p6ai 内置一个零依赖的 MCP 服务器(stdio 传输,仅使用 Python 标准库), 任何支持 MCP 的 AI 客户端(Claude Desktop、Codex、Cursor 等)都可以直接调用:
| 工具 | 说明 |
|---|---|
validate_plan |
校验计划 JSON(字段、WBS 引用、工期、关系类型、循环依赖) |
create_project |
校验并写入 P6 数据库(自动备份、单事务、失败回滚) |
list_projects |
只读列出数据库中的项目 |
check_database |
数据库结构自检与版本识别 |
启动服务器:
python -m p6ai serve
# 安装后也可直接:p6ai serve
Claude Desktop 配置示例(claude_desktop_config.json):
{
"mcpServers": {
"p6ai": {
"command": "python",
"args": ["-m", "p6ai", "serve"],
"cwd": "C:\\path\\to\\p6ai"
}
}
}
Codex CLI 配置示例(~/.codex/config.toml):
[mcp_servers.p6ai]
command = "python"
args = ["-m", "p6ai", "serve"]
cwd = "C:\\path\\to\\p6ai"
如果
python不在系统 PATH 中,请把command换成 Python 解释器的完整路径。 AI 客户端可以直接用自然语言驱动这些工具,例如:"校验这份计划"、"把这个施工方案 建到 P6 里"。
Supported Environments
- Primavera P6 Professional 23.12(独立版 SQLite,
PPMDB,2312.*) - Python 3.9+
Roadmap
- [x] MCP 服务器:向 AI 客户端(Claude / Codex / Cursor)暴露校验、建库、列表、自检工具
- [ ] XER 导出与 DCMA 质检集成
- [ ] 多版本 schema 适配层
License
MIT
Disclaimer
本工具为社区项目,与 Oracle Corporation 及其产品无任何关联或背书。 使用直接写入数据库的方式操作 P6 数据存在风险,请务必自行备份并在测试环境验证后使用。
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。