Skip to main content
Glama
TylerIlunga

Procore MCP Server

Procore MCP Server

procore-mcp-server MCP server

MCP-сервер, который предоставляет полный REST API Procore для ИИ-ассистентов, таких как Claude. Создан с использованием TypeScript и Model Context Protocol SDK.

Работает с Claude Desktop, Claude Code и любым клиентом, совместимым с MCP.

Что он делает

Парсер времени сборки преобразует спецификацию OpenAPI от Procore в компактный каталог, а затем автоматически генерирует отдельные инструменты MCP для каждой операции API. Во время выполнения 7 мета-инструментов позволяют ИИ находить и вызывать любую конечную точку Procore:

Инструмент

Назначение

procore_discover_categories

Список категорий API с количеством конечных точек

procore_discover_endpoints

Список конечных точек в категории

procore_search_endpoints

Полнотекстовый поиск по всем конечным точкам

procore_get_endpoint_details

Получение полной схемы параметров для конечной точки

procore_api_call

Выполнение любого вызова API Procore

procore_get_config

Отображение текущей конфигурации и статуса авторизации

procore_set_config

Установка конфигурации во время выполнения (company_id, project_id)

Предварительные требования

  • Node.js 18+

  • Учетная запись на портале разработчиков Procore

  • OAuth-приложение с типом предоставления Authorization Code

  • Установите URI перенаправления на http://localhost

Настройка

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

Скопируйте пример файла env и заполните свои учетные данные:

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

Вам понадобится файл спецификации OpenAPI от Procore, размещенный в specs/combined_OAS.json. Этот файл не включен в репозиторий из-за его размера (~41 МБ). Вы можете получить его из документации API Procore.

Соберите каталог и скомпилируйте 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 (gitignored): catalog.json, endpoint details
specs/        Source OAS file (gitignored)

Как это работает

  1. Время сборки: scripts/generate-catalog.ts анализирует спецификацию OpenAPI Procore размером 41 МБ и создает компактный data/catalog.json, а также отдельные файлы сведений о конечных точках в data/endpoint-details/. Затем scripts/generate-tools-manifest.ts генерирует манифест инструментов с одним именованным инструментом MCP для каждой операции API.

  2. Авторизация: Запустите npm run auth один раз, чтобы завершить процесс OAuth в браузере. Токены сохраняются в ~/.procore-mcp/tokens.json и автоматически обновляются по истечении срока действия.

  3. Время выполнения: MCP-сервер загружает каталог и регистрирует все инструменты. Когда ИИ-ассистент вызывает инструмент, сервер сопоставляет его с правильной конечной точкой API Procore, внедряет заголовки авторизации, обрабатывает ограничения скорости и пагинацию, а затем возвращает ответ.

Вдохновение

Создано, чтобы помочь моей девушке, инженеру-строителю, которая ежедневно использует Procore.

Лицензия

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