Procore MCP Server
Procore MCP 服务器
这是一个将完整的 Procore REST API 暴露给 Claude 等 AI 助手的 MCP 服务器。使用 TypeScript 和 Model Context Protocol SDK 构建。
适用于 Claude Desktop、Claude Code 以及任何兼容 MCP 的客户端。
功能
构建时解析器会将 Procore 的 OpenAPI 规范转换为紧凑的目录,然后为每个 API 操作自动生成单独的 MCP 工具。在运行时,7 个元工具允许 AI 发现并调用任何 Procore 端点:
工具 | 用途 |
| 列出 API 类别及端点数量 |
| 列出类别中的端点 |
| 在所有端点中进行全文搜索 |
| 获取端点的完整参数架构 |
| 执行任何 Procore API 调用 |
| 显示当前配置和认证状态 |
| 设置运行时配置 (company_id, project_id) |
先决条件
Node.js 18+
一个 Procore 开发者门户 账户
一个具有 授权码 (Authorization Code) 授权类型的 OAuth 应用
将重定向 URI 设置为
http://localhost
设置
git clone https://github.com/TylerIlunga/procore-mcp-server.git
cd procore-mcp-server
npm install复制示例环境变量文件并填入您的凭据:
cp .env.example .envPROCORE_CLIENT_ID=your_client_id
PROCORE_CLIENT_SECRET=your_client_secret
PROCORE_COMPANY_ID=your_company_id您需要将 Procore 的 OpenAPI 规范文件放置在 specs/combined_OAS.json。由于文件较大(约 41MB),该文件未包含在仓库中。您可以从 Procore API 文档 获取它。
构建目录并编译 TypeScript:
npm run build使用 Procore 进行身份验证(在浏览器中打开 OAuth):
npm run auth启动服务器:
npm startClaude Desktop 配置
添加到您的 Claude Desktop 配置 (~/Library/Application Support/Claude/claude_desktop_config.json) 中:
{
"mcpServers": {
"procore": {
"command": "node",
"args": ["/absolute/path/to/procore-mcp-server/dist/src/index.js"],
"env": {
"PROCORE_CLIENT_ID": "your_client_id",
"PROCORE_CLIENT_SECRET": "your_client_secret",
"PROCORE_COMPANY_ID": "your_company_id"
}
}
}
}Claude Code 配置
添加到项目根目录的 .mcp.json 中:
{
"mcpServers": {
"procore": {
"command": "node",
"args": ["/absolute/path/to/procore-mcp-server/dist/src/index.js"],
"env": {
"PROCORE_CLIENT_ID": "your_client_id",
"PROCORE_CLIENT_SECRET": "your_client_secret",
"PROCORE_COMPANY_ID": "your_company_id"
}
}
}
}项目结构
src/
auth/ OAuth token exchange, refresh, storage
api/ HTTP client with auth, rate limits, retries
catalog/ Endpoint catalog loading, search, filtering
tools/ MCP tool handlers and registration
scripts/
generate-catalog.ts Parse OAS into catalog
generate-tools-manifest.ts Generate per-endpoint MCP tools
validate-catalog.ts Validate catalog integrity
data/ Build output (gitignored): catalog.json, endpoint details
specs/ Source OAS file (gitignored)工作原理
构建时:
scripts/generate-catalog.ts解析 41MB 的 Procore OpenAPI 规范,并生成一个紧凑的data/catalog.json以及data/endpoint-details/中的各个端点详细信息文件。随后,scripts/generate-tools-manifest.ts会生成一个工具清单,每个 API 操作对应一个命名的 MCP 工具。认证:运行一次
npm run auth以在浏览器中完成 OAuth 流程。令牌将保存到~/.procore-mcp/tokens.json,并在过期时自动刷新。运行时:MCP 服务器加载目录并注册所有工具。当 AI 助手调用工具时,服务器会将其映射到正确的 Procore API 端点,注入认证头,处理速率限制和分页,并返回响应。
灵感来源
旨在帮助我的女朋友,她是一名每天使用 Procore 的建筑工程师。
许可证
MIT
Tools
- add_additional_assignees_to_a_workflow_instance_company_v2_0C
- add_additional_assignees_to_a_workflow_instance_project_v2_0C
- add_alternative_response_set_to_project_checklist_templateC
- add_a_new_markupC
- add_an_existing_response_to_an_item_response_setC
- add_attachments_to_punch_itemC
- add_attachments_to_punch_item_v1_1C
- add_category_to_projectC
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TylerIlunga/procore-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server