Procore MCP Server
Procore MCP 서버
Claude와 같은 AI 어시스턴트에게 전체 Procore REST API를 노출하는 MCP 서버입니다. TypeScript와 Model Context Protocol SDK로 구축되었습니다.
Claude Desktop, Claude Code 및 모든 MCP 호환 클라이언트와 함께 작동합니다.
기능
빌드 타임 파서가 Procore의 OpenAPI 사양을 소형 카탈로그로 변환한 다음, 모든 API 작업에 대한 개별 MCP 도구를 자동 생성합니다. 런타임에는 7개의 메타 도구를 통해 AI가 모든 Procore 엔드포인트를 검색하고 호출할 수 있습니다:
도구 | 목적 |
| 엔드포인트 개수가 포함된 API 카테고리 목록 |
| 카테고리 내 엔드포인트 목록 |
| 모든 엔드포인트에 대한 전체 텍스트 검색 |
| 엔드포인트에 대한 전체 매개변수 스키마 가져오기 |
| 모든 Procore API 호출 실행 |
| 현재 구성 및 인증 상태 표시 |
| 런타임 구성 설정 (company_id, project_id) |
사전 요구 사항
Node.js 18 이상
Authorization Code 권한 부여 유형을 사용하는 OAuth 앱
리디렉션 URI를
http://localhost로 설정
설정
git clone https://github.com/TylerIlunga/procore-mcp-server.git
cd procore-mcp-server
npm install예제 env 파일을 복사하고 자격 증명을 입력하세요:
cp .env.example .envPROCORE_CLIENT_ID=your_client_id
PROCORE_CLIENT_SECRET=your_client_secret
PROCORE_COMPANY_ID=your_company_idspecs/combined_OAS.json에 Procore의 OpenAPI 사양 파일이 있어야 합니다. 이 파일은 크기(~41MB) 때문에 저장소에 포함되어 있지 않습니다. Procore API 문서에서 얻을 수 있습니다.
카탈로그를 빌드하고 TypeScript를 컴파일하세요:
npm run buildProcore로 인증하세요(OAuth를 위해 브라우저가 열립니다):
npm run auth서버를 시작하세요:
npm startClaude 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)작동 원리
빌드 타임:
scripts/generate-catalog.ts가 41MB의 Procore OpenAPI 사양을 파싱하여 소형data/catalog.json과data/endpoint-details/내의 개별 엔드포인트 세부 정보 파일을 생성합니다. 그 후scripts/generate-tools-manifest.ts가 각 API 작업당 하나의 명명된 MCP 도구가 포함된 도구 매니페스트를 생성합니다.인증:
npm run auth를 한 번 실행하여 브라우저에서 OAuth 흐름을 완료하세요. 토큰은~/.procore-mcp/tokens.json에 저장되며 만료 시 자동으로 새로 고쳐집니다.런타임: MCP 서버가 카탈로그를 로드하고 모든 도구를 등록합니다. AI 어시스턴트가 도구를 호출하면 서버는 이를 올바른 Procore API 엔드포인트에 매핑하고, 인증 헤더를 주입하며, 속도 제한 및 페이지 매김을 처리하고 응답을 반환합니다.
영감
매일 Procore를 사용하는 건설 엔지니어인 여자친구를 돕기 위해 만들었습니다.
라이선스
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