mcpField
P
Procore Mcp Server

Procore Mcp Server

ローカル
github.com/TylerIlungaビジネス・マーケティング1410 週間前に更新

Procore Mcp Server について

Procore Mcp Serverは、Procore REST APIをAIアシスタントやMCP対応クライアントに公開します。エンドポイントカタログと検索ツールを使い、操作を見つけてコンパクトなツール構成からAPIを呼び出せます。

主な機能

  1. 01APIカテゴリとエンドポイントの検出
  2. 02エンドポイント検索とスキーマ確認
  3. 03Procore API操作の呼び出し
  4. 04OAuth認証とトークン更新
  5. 05レート制限とページネーションへの対応

活用シーン

  1. 01Claude DesktopからのProcoreデータ利用
  2. 02Claude CodeでのProcore操作
  3. 03アシスタントからのAPIエンドポイント検索と呼び出し

MCP 対応

7つの検出・設定用メタツールを通じてProcore APIへのアクセスを提供し、API呼び出しは`procore_api_call`で実行します。オプション設定では各エンドポイント専用のMCPツールを登録できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Procore MCP サーバー

procore-mcp-server MCP server

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)

仕組み

  1. ビルド時: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 経由で引き続き利用できます。

  2. 認証:npm run auth を一度実行し、ブラウザーで OAuth フローを完了します。トークンは ~/.procore-mcp/tokens.json に保存され、有効期限が切れると自動的に更新されます。

  3. 実行時:MCP サーバーはカタログを読み込み、7 個のディスカバリーツールを登録します(PROCORE_TOOL_MODE=all の場合は、すべてのエンドポイント用ツールも登録されます)。AI アシスタントがツールを呼び出すと、サーバーは適切な Procore API エンドポイントに割り当て、認証ヘッダーを追加し、レート制限とページネーションを処理して、レスポンスを返します。

開発のきっかけ

Procore を日常的に使う建設エンジニアの恋人を支援するために開発しました。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。