Procore MCP Server
Servidor MCP de Procore
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 |
| Listar categorías de API con recuento de endpoints |
| Listar endpoints en una categoría |
| Búsqueda de texto completo en todos los endpoints |
| Obtener el esquema de parámetros completo para un endpoint |
| Ejecutar cualquier llamada a la API de Procore |
| Mostrar la configuración actual y el estado de autenticación |
| 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 installCopia el archivo de ejemplo de entorno y rellena tus credenciales:
cp .env.example .envPROCORE_CLIENT_ID=your_client_id
PROCORE_CLIENT_SECRET=your_client_secret
PROCORE_COMPANY_ID=your_company_idNecesitará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 buildAutentícate con Procore (abre el navegador para OAuth):
npm run authInicia el servidor:
npm startConfiguració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
Tiempo de compilación:
scripts/generate-catalog.tsanaliza la especificación OpenAPI de Procore de 41 MB y produce undata/catalog.jsoncompacto además de archivos de detalles de endpoints individuales endata/endpoint-details/.scripts/generate-tools-manifest.tsgenera entonces un manifiesto de herramientas con una herramienta MCP nombrada por cada operación de la API.Autenticación: Ejecuta
npm run authuna vez para completar el flujo OAuth en tu navegador. Los tokens se guardan en~/.procore-mcp/tokens.jsony se actualizan automáticamente cuando caducan.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
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