Skip to main content
Glama
TylerIlunga

Procore MCP Server

Procore MCP 服务器

procore-mcp-server MCP server

这是一个将完整的 Procore REST API 暴露给 Claude 等 AI 助手的 MCP 服务器。使用 TypeScript 和 Model Context Protocol SDK 构建。

适用于 Claude DesktopClaude Code 以及任何兼容 MCP 的客户端。

功能

构建时解析器会将 Procore 的 OpenAPI 规范转换为紧凑的目录,然后为每个 API 操作自动生成单独的 MCP 工具。在运行时,7 个元工具允许 AI 发现并调用任何 Procore 端点:

工具

用途

procore_discover_categories

列出 API 类别及端点数量

procore_discover_endpoints

列出类别中的端点

procore_search_endpoints

在所有端点中进行全文搜索

procore_get_endpoint_details

获取端点的完整参数架构

procore_api_call

执行任何 Procore API 调用

procore_get_config

显示当前配置和认证状态

procore_set_config

设置运行时配置 (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 .env
PROCORE_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 start

Claude 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)

工作原理

  1. 构建时scripts/generate-catalog.ts 解析 41MB 的 Procore OpenAPI 规范,并生成一个紧凑的 data/catalog.json 以及 data/endpoint-details/ 中的各个端点详细信息文件。随后,scripts/generate-tools-manifest.ts 会生成一个工具清单,每个 API 操作对应一个命名的 MCP 工具。

  2. 认证:运行一次 npm run auth 以在浏览器中完成 OAuth 流程。令牌将保存到 ~/.procore-mcp/tokens.json,并在过期时自动刷新。

  3. 运行时:MCP 服务器加载目录并注册所有工具。当 AI 助手调用工具时,服务器会将其映射到正确的 Procore API 端点,注入认证头,处理速率限制和分页,并返回响应。

灵感来源

旨在帮助我的女朋友,她是一名每天使用 Procore 的建筑工程师。

许可证

MIT

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