Skip to main content
Glama
TylerIlunga

Procore MCP Server

Servidor MCP de Procore

procore-mcp-server MCP server

Servidor MCP que expone la API REST completa de Procore a asistentes de IA como Claude. Construido con TypeScript y el SDK del Protocolo de Contexto de Modelo (MCP).

Funciona con Claude Desktop, Claude Code y cualquier cliente compatible con MCP.

Qué hace

Un analizador en tiempo de compilación convierte la especificación OpenAPI de Procore en un catálogo compacto y, a continuación, genera automáticamente herramientas MCP individuales para cada operación de la API. En tiempo de ejecución, 7 metaherramientas permiten a la IA descubrir y llamar a cualquier endpoint de Procore:

Herramienta

Propósito

procore_discover_categories

Listar categorías de API con recuento de endpoints

procore_discover_endpoints

Listar endpoints en una categoría

procore_search_endpoints

Búsqueda de texto completo en todos los endpoints

procore_get_endpoint_details

Obtener el esquema de parámetros completo para un endpoint

procore_api_call

Ejecutar cualquier llamada a la API de Procore

procore_get_config

Mostrar la configuración actual y el estado de autenticación

procore_set_config

Establecer la configuración en tiempo de ejecución (company_id, project_id)

Requisitos previos

  • Node.js 18+

  • Una cuenta en el Portal de Desarrolladores de Procore

  • Una aplicación OAuth con tipo de concesión Authorization Code

  • Establecer tu URI de redirección en http://localhost

Configuración

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

Copia el archivo de ejemplo de entorno y rellena tus credenciales:

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

Necesitarás el archivo de especificación OpenAPI de Procore ubicado en specs/combined_OAS.json. Este archivo no se incluye en el repositorio debido a su tamaño (~41 MB). Puedes obtenerlo de la documentación de la API de Procore.

Construye el catálogo y compila TypeScript:

npm run build

Autentícate con Procore (abre el navegador para OAuth):

npm run auth

Inicia el servidor:

npm start

Configuración de Claude Desktop

Añade esto a tu configuración de 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"
      }
    }
  }
}

Configuración de Claude Code

Añade esto a .mcp.json en la raíz de tu proyecto:

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

Estructura del proyecto

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)

Cómo funciona

  1. Tiempo de compilación: scripts/generate-catalog.ts analiza la especificación OpenAPI de Procore de 41 MB y produce un data/catalog.json compacto además de archivos de detalles de endpoints individuales en data/endpoint-details/. scripts/generate-tools-manifest.ts genera entonces un manifiesto de herramientas con una herramienta MCP nombrada por cada operación de la API.

  2. Autenticación: Ejecuta npm run auth una vez para completar el flujo OAuth en tu navegador. Los tokens se guardan en ~/.procore-mcp/tokens.json y se actualizan automáticamente cuando caducan.

  3. Tiempo de ejecución: El servidor MCP carga el catálogo y registra todas las herramientas. Cuando un asistente de IA llama a una herramienta, el servidor la asigna al endpoint correcto de la API de Procore, inyecta los encabezados de autenticación, gestiona los límites de tasa y la paginación, y devuelve la respuesta.

Inspiración

Creado para ayudar a mi novia, una ingeniera de construcción que utiliza Procore a diario.

Licencia

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