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 Developer Portalアカウント

  • 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.jsondata/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