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以上
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_idProcoreのOpenAPI仕様ファイル specs/combined_OAS.json が必要です。このファイルはサイズが大きいため(約41MB)、リポジトリには含まれていません。ProcoreのAPIドキュメントから入手してください。
カタログをビルドし、TypeScriptをコンパイルします:
npm run buildProcoreで認証します(ブラウザで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