Skip to main content
Glama
TylerIlunga

Procore MCP Server

Procore MCP-Server

procore-mcp-server MCP server

MCP-Server, der die vollständige Procore-REST-API für KI-Assistenten wie Claude bereitstellt. Erstellt mit TypeScript und dem Model Context Protocol SDK.

Funktioniert mit Claude Desktop, Claude Code und jedem MCP-kompatiblen Client.

Was er macht

Ein Build-Time-Parser konvertiert die OpenAPI-Spezifikation von Procore in einen kompakten Katalog und generiert dann automatisch individuelle MCP-Tools für jeden API-Vorgang. Zur Laufzeit ermöglichen 7 Meta-Tools der KI, jeden Procore-Endpunkt zu entdecken und aufzurufen:

Tool

Zweck

procore_discover_categories

API-Kategorien mit Endpunkt-Anzahl auflisten

procore_discover_endpoints

Endpunkte in einer Kategorie auflisten

procore_search_endpoints

Volltextsuche über alle Endpunkte

procore_get_endpoint_details

Vollständiges Parameterschema für einen Endpunkt abrufen

procore_api_call

Jeden Procore-API-Aufruf ausführen

procore_get_config

Aktuelle Konfiguration und Authentifizierungsstatus anzeigen

procore_set_config

Laufzeitkonfiguration festlegen (company_id, project_id)

Voraussetzungen

  • Node.js 18+

  • Ein Konto im Procore Developer Portal

  • Eine OAuth-App mit dem Grant-Typ Authorization Code

  • Setzen Sie Ihre Redirect-URI auf http://localhost

Einrichtung

git clone https://github.com/TylerIlunga/procore-mcp-server.git
cd procore-mcp-server
npm install

Kopieren Sie die Beispiel-Umgebungsdatei und tragen Sie Ihre Anmeldedaten ein:

cp .env.example .env
PROCORE_CLIENT_ID=your_client_id
PROCORE_CLIENT_SECRET=your_client_secret
PROCORE_COMPANY_ID=your_company_id

Sie benötigen die OpenAPI-Spezifikationsdatei von Procore, die unter specs/combined_OAS.json abgelegt werden muss. Diese Datei ist aufgrund ihrer Größe (~41 MB) nicht im Repository enthalten. Sie können sie aus der Procore-API-Dokumentation beziehen.

Erstellen Sie den Katalog und kompilieren Sie TypeScript:

npm run build

Authentifizieren Sie sich bei Procore (öffnet den Browser für OAuth):

npm run auth

Starten Sie den Server:

npm start

Claude Desktop-Konfiguration

Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu (~/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-Konfiguration

Fügen Sie dies zu .mcp.json in Ihrem Projektstammverzeichnis hinzu:

{
  "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"
      }
    }
  }
}

Projektstruktur

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)

Funktionsweise

  1. Build-Zeit: scripts/generate-catalog.ts analysiert die 41 MB große Procore-OpenAPI-Spezifikation und erstellt einen kompakten data/catalog.json sowie individuelle Endpunkt-Detaildateien in data/endpoint-details/. scripts/generate-tools-manifest.ts generiert dann ein Tool-Manifest mit einem benannten MCP-Tool pro API-Vorgang.

  2. Authentifizierung: Führen Sie einmal npm run auth aus, um den OAuth-Vorgang in Ihrem Browser abzuschließen. Token werden unter ~/.procore-mcp/tokens.json gespeichert und bei Ablauf automatisch aktualisiert.

  3. Laufzeit: Der MCP-Server lädt den Katalog und registriert alle Tools. Wenn ein KI-Assistent ein Tool aufruft, ordnet der Server es dem korrekten Procore-API-Endpunkt zu, fügt Authentifizierungs-Header ein, verarbeitet Ratenbegrenzungen und Paginierung und gibt die Antwort zurück.

Inspiration

Entwickelt, um meiner Freundin zu helfen, einer Bauingenieurin, die Procore täglich nutzt.

Lizenz

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