Procore Mcp Server について
Procore Mcp Serverは、Procore REST APIをAIアシスタントやMCP対応クライアントに公開します。エンドポイントカタログと検索ツールを使い、操作を見つけてコンパクトなツール構成からAPIを呼び出せます。
主な機能
- 01APIカテゴリとエンドポイントの検出
- 02エンドポイント検索とスキーマ確認
- 03Procore API操作の呼び出し
- 04OAuth認証とトークン更新
- 05レート制限とページネーションへの対応
活用シーン
- 01Claude DesktopからのProcoreデータ利用
- 02Claude CodeでのProcore操作
- 03アシスタントからのAPIエンドポイント検索と呼び出し
MCP 対応
7つの検出・設定用メタツールを通じてProcore APIへのアクセスを提供し、API呼び出しは`procore_api_call`で実行します。オプション設定では各エンドポイント専用のMCPツールを登録できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Procore MCP サーバー
Claude などの AI アシスタントに、Procore REST API 全体を公開する MCP サーバーです。TypeScript と Model Context Protocol SDK を使用して構築されています。
Claude Desktop、Claude 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
デフォルトでは、サーバーは 7 つの検出ツールを公開し、すべての Procore エンドポイントには procore_api_call を通じてアクセスします。エンドポイントごとに専用ツールを登録すると、約 4.7 MB(約 120 万トークン)のツール定義が出力され、現在のどのモデルのコンテキストウィンドウも超えてしまうため、この方法はオプトイン方式です。
PROCORE_TOOL_MODE=all
どちらのモードでもカバレッジは同じです。異なるのは、公開されるツール一覧のサイズのみです。all に切り替える場合で、v2.0.0 より前のバージョンから移行する場合は、以前のツール名と新しいツール名の対応表 data/tool-renames.json を参照してください。
Procore の OpenAPI 仕様ファイルを specs/combined_OAS.json に配置する必要があります。このファイルはサイズが大きい(約 54 MB)ため、リポジトリには含まれていません。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 (committed): catalog.json, endpoint details, tools manifest
specs/ Source OAS file (gitignored — too large for the repo)
仕組み
-
ビルド時:
scripts/generate-catalog.tsが約 54 MB の Procore OpenAPI 仕様(3,155 個の操作)を解析し、コンパクトなdata/catalog.jsonと、data/endpoint-details/内の個々のエンドポイント詳細ファイルを生成します。続いてscripts/generate-tools-manifest.tsが、API 操作ごとに名前付きの MCP ツールを 1 つずつ含むツールマニフェストを生成します。同じパスの旧バージョンの重複を統合した結果、合計 2,929 個になります。生成される各ツールには、対象、利用するタイミング、最初に解決すべき親 ID、返される内容、失敗時の動作を説明する構造化された説明が付属します。Procore によって非推奨となったエンドポイントは、説明に廃止日を記載し、タイトルに
(Deprecated)を付けて登録されます。対話型の/oauth/*エンドポイントはツールとして登録されません。このフローはnpm run authが担いますが、procore_api_call経由で引き続き利用できます。 -
認証:
npm run authを一度実行し、ブラウザーで OAuth フローを完了します。トークンは~/.procore-mcp/tokens.jsonに保存され、有効期限が切れると自動的に更新されます。 -
実行時:MCP サーバーはカタログを読み込み、7 個のディスカバリーツールを登録します(
PROCORE_TOOL_MODE=allの場合は、すべてのエンドポイント用ツールも登録されます)。AI アシスタントがツールを呼び出すと、サーバーは適切な Procore API エンドポイントに割り当て、認証ヘッダーを追加し、レート制限とページネーションを処理して、レスポンスを返します。
開発のきっかけ
Procore を日常的に使う建設エンジニアの恋人を支援するために開発しました。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。