Primavera P6 MCP服务器
一个干净、专业结构的基于FastAPI的模型上下文协议(MCP)服务器,用于Oracle Primavera P6集成。
🎯 目的
该服务器将ChatGPT、Claude和其他MCP客户端连接到Oracle Primavera P6 REST API,用于项目管理数据访问。
🏗️ 建筑
src/
├── main.py # FastAPI application with MCP endpoints
├── models/ # Pydantic models for P6 data structures
└── utils/ # Helper functions and utilities
tests/
├── test_endpoints.py # Comprehensive endpoint tests
└── README.md # Test documentation
docker/
├── Dockerfile # Multi-stage containerization
└── docker-compose.yml # Development environment
docs/ # Project documentation🚀 快速开始
发展
# Install dependencies
pip install -r requirements.txt
# Run development server
python -m uvicorn src.main:app --reload --host 0.0.0.0 --port 8000
# Run tests
python -m pytest tests/ -v码头工人
# Build and run with Docker Compose
cd docker/
docker-compose up --build
# Or build directly
docker build -f docker/Dockerfile -t p6-mcp-server .
docker run -p 8000:8000 p6-mcp-serverVS Code
使用命令面板中的“运行P6 MCP服务器”任务(Ctrl+Shift+P → Tasks: Run Task)
🔌 MCP集成
端点
- 健康:
GET /health-服务器状态和配置 - MCP清单:
GET /.well-known/mcp.json-MCP协议清单 - 工具架构:
GET /tool_schema.json-可用工具和端点 - 登录:
POST /login-使用P6进行身份验证 - OBS搜索:
GET /obs/find-搜索组织结构 - 项目:
GET /projects/by_obs-按OBS列出项目
MCP客户端配置
对于ChatGPT或Claude,添加此MCP连接器:
{
"name": "Primavera P6",
"url": "http://localhost:8000/.well-known/mcp.json"
}🧪 测试
该项目包括全面的测试覆盖范围:
# Run all tests
python -m pytest tests/ -v
# Run with coverage
python -m pytest tests/ --cov=src --cov-report=html🛠️ 发展
主要特点
- ✅ 清洁建筑:适当分离关注点
- ✅ 类型安全:Pydantic模型的完整类型提示
- ✅ CORS支持:处理了跨来源请求
- ✅ 缓存:高效的清单缓存策略
- ✅ 安全:内容安全策略标头
- ✅ 测试:全面的端点覆盖
- ✅ 码头工人:生产就绪的集装箱化
MCP协议合规性
- ✅ 舱单送达时间
/.well-known/mcp.json - ✅ 工具架构端点可用
- ✅ 正确的HTTP方法(GET、POST、OPTIONS、HEAD)
- ✅ web客户端的CORS标头
- ✅ 一致的响应标头和缓存
📚 API文档
跑步时,请访问 http://localhost:8000/docs 用于交互式API文档(FastAPI自动文档)。
🔧 配置
环境变量:
P6_BASE_URL:Oracle Primavera P6 REST API基本URLPORT:服务器端口(默认值:8000)
📝 许可证
该项目是Primavera P6 MCP集成套件的一部分。
