Procore MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROCORE_CLIENT_ID | Yes | Your Procore OAuth client ID from the Procore Developer Portal | |
| PROCORE_COMPANY_ID | Yes | Your Procore company ID | |
| PROCORE_CLIENT_SECRET | Yes | Your Procore OAuth client secret from the Procore Developer Portal |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| procore_discover_categoriesA | List every Procore API category with its modules and endpoint counts. Use this as the first step when exploring what Procore can do — it returns a hierarchical map (Category > Module > endpoint count) that scopes any follow-up discovery or search call. Returns a JSON object; takes no inputs. |
| procore_discover_endpointsA | List every Procore endpoint within a specific category (and optional module). Use after |
| procore_get_endpoint_detailsA | Fetch the full parameter schema, request body shape, and response format for a single Procore endpoint. Pass an |
| procore_api_callA | Execute any Procore REST API call. This is the workhorse — first use the discover/search tools to find the right endpoint, then call it here. Handles OAuth automatically (uses the saved tokens), substitutes path placeholders, encodes nested query brackets ( |
| procore_search_endpointsA | Full-text search across every Procore API endpoint summary, tag, and path. Use to quickly locate the right endpoint when you know roughly what you're looking for — e.g. 'RFI', 'budget', 'punch list', 'submittal'. Returns a JSON array of matches ranked by relevance. |
| procore_get_configA | Show the current MCP server configuration: OAuth/auth status, default company_id, the active runtime project_id, and other persisted settings. Use this to debug context issues or before switching projects. Takes no inputs. |
| procore_set_configA | Set a runtime configuration key (e.g. company_id or project_id) for the current session. The change persists until the server restarts. Use this to switch the default company/project context without restarting the MCP server. Returns a confirmation message. |
| list_tools_enabled_for_workflowsA | Returns a list of workflowable tools for a given company. Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/tools |
| list_workflow_templatesA | Returns a list of all workflow templates for a given company. Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/templates |
| get_a_workflow_template_versionB | Returns the details of a specific workflow template version. Use this to fetch the full details of a specific Workflows by its identifier. Returns a JSON object describing the requested Workflows. Required parameters: company_id, id. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/templates/versions/{id} |
| list_workflow_presets_projectA | List Workflow Presets (Project). Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, filters[tool_type]. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/presets |
| list_workflow_presets_companyA | List Workflow Presets (Company). Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, filters[tool_type]. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/presets |
| get_workflow_preset_projectA | Get details of a specific workflow preset. Use this to fetch the full details of a specific Workflows by its identifier. Returns a JSON object describing the requested Workflows. Required parameters: company_id, project_id, id. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/presets/{id} |
| update_workflow_preset_projectB | Updates a workflow preset for a project tool. Use this to update an existing Workflows (only the supplied fields are changed). Updates the specified Workflows and returns the modified object on success. Required parameters: company_id, project_id, id. Procore API (v2.0): Core > Workflows. Endpoint: PATCH /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/presets/{id} |
| get_workflow_preset_companyA | Get details of a specific workflow preset. Use this to fetch the full details of a specific Workflows by its identifier. Returns a JSON object describing the requested Workflows. Required parameters: company_id, id. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/presets/{id} |
| update_workflow_preset_companyA | Updates a workflow preset for a company tool. Use this to update an existing Workflows (only the supplied fields are changed). Updates the specified Workflows and returns the modified object on success. Required parameters: company_id, id. Procore API (v2.0): Core > Workflows. Endpoint: PATCH /rest/v2.0/companies/{company_id}/workflows/presets/{id} |
| update_assignees_and_workflow_manager_projectA | Updates assignees and workflow manager for a workflow preset for a project tool. Use this to update an existing Workflows (only the supplied fields are changed). Updates the specified Workflows and returns the modified object on success. Required parameters: company_id, project_id, id. Procore API (v2.0): Core > Workflows. Endpoint: PATCH /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/presets/{id}/assignees |
| update_assignees_and_workflow_manager_companyA | Updates assignees and workflow manager for a workflow preset for a company tool. Use this to update an existing Workflows (only the supplied fields are changed). Updates the specified Workflows and returns the modified object on success. Required parameters: company_id, id. Procore API (v2.0): Core > Workflows. Endpoint: PATCH /rest/v2.0/companies/{company_id}/workflows/presets/{id}/assignees |
| list_possible_assignees_projectA | Returns a list of all workflows possible assignees for a given project and tool. Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, tool_type. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/possible_assignees |
| list_possible_assignees_companyB | Returns a list of all workflows possible assignees for a given company and tool. Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, tool_type. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/possible_assignees |
| list_workflow_managers_projectA | Returns a list of all workflow managers for a given project and tool. Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, tool_type. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/workflow_managers |
| list_workflow_managers_companyA | Returns a list of all workflow managers for a given company and tool. Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, tool_type. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/workflow_managers |
| list_workflow_instances_projectA | Returns a list of workflow instances for a given project. Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, filters[tool_type]. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances |
| create_a_workflow_instance_projectA | Creates a new workflow instance for a given project. The template_id and preset_id options can be used to specify a specific template. If neither are specified, the default preset will be used. If both are specified, the preset_id will be used. Use this to create a new Workflows in Procore. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: company_id, project_id, tool_type, item_id. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances |
| list_workflow_instances_companyA | Returns a list of workflow instances for a given company. Use this to enumerate Workflows when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, filters[tool_type]. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/instances |
| create_a_workflow_instance_companyA | Creates a new workflow instance for a given company. The template_id and preset_id options can be used to specify a specific template. If neither are specified, the default preset will be used. If both are specified, the preset_id will be used. Use this to create a new Workflows in Procore. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: company_id, tool_type, tool_subtype, item_id. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/workflows/instances |
| get_a_workflow_instance_projectA | Returns a single instance for a given project. Use this to fetch the full details of a specific Workflows by its identifier. Returns a JSON object describing the requested Workflows. Required parameters: company_id, project_id, id. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances/{id} |
| get_a_workflow_instance_companyA | Returns a single workflow instance for a given company. Use this to fetch the full details of a specific Workflows by its identifier. Returns a JSON object describing the requested Workflows. Required parameters: company_id, id. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/instances/{id} |
| respond_to_a_workflow_instance_projectB | Respond to a Workflow Instance (Project). Use this to perform the respond to action on Workflows. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: project_id, company_id, id, current_step_occurrence_id, selected_response_option_id, attachments. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances/{id}/responses |
| respond_to_a_workflow_instance_companyB | Respond to a Workflow Instance (Company). Use this to perform the respond to action on Workflows. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: company_id, id, current_step_occurrence_id, selected_response_option_id, attachments. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/workflows/instances/{id}/responses |
| get_workflow_instance_history_projectC | Returns an ordered list of history events for a given project workflow instance. Each event in the |
| get_workflow_instance_history_companyB | Returns an ordered list of history events for a given company workflow instance. Each event in the |
| add_additional_assignees_to_a_workflow_instance_projectC | Adds additional assignees to a step occurrence on a project workflow instance. Use this to create a new Workflows in Procore. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: company_id, project_id, id, step_occurrence_id, required, reason, assignee_ids. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances/{id}/additional_assignees |
| add_additional_assignees_to_a_workflow_instance_companyC | Adds additional assignees to a step occurrence on a company workflow instance. Use this to create a new Workflows in Procore. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: company_id, id, step_occurrence_id, required, reason, assignee_ids. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/workflows/instances/{id}/additional_assignees |
| restart_a_workflow_instance_projectB | Terminates the current instance and restarts a new instance from the beginning. Returns the new instance information. Use this to perform the restart a action on Workflows. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: company_id, project_id, id. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances/{id}/restart |
| restart_a_workflow_instance_companyB | Terminates the current instance and restarts a new instance from the beginning. Returns the new instance information. Use this to perform the restart a action on Workflows. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: company_id, id. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/workflows/instances/{id}/restart |
| terminate_a_workflow_instance_project_publicC | Terminate a Workflow Instance (Project) (Public). Use this to perform the terminate a action on Workflows. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: company_id, project_id, id. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances/{id}/terminate |
| terminate_a_workflow_instance_company_publicC | Terminate a Workflow Instance (Company) (Public). Use this to perform the terminate a action on Workflows. Creates a new Workflows and returns the created object on success (HTTP 201). Required parameters: company_id, id. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/workflows/instances/{id}/terminate |
| bulk_create_workflow_instances_project_publicA | Asynchronously bulk create workflow instances for a list of project-level items. If an active instance already exists for an item, a failure will be returned for that item. The returned async operation id can be used to query for status using the |
| bulk_create_workflow_instances_company_publicA | Asynchronously bulk create workflow instances for a list of company-level items. If an active instance already exists for an item, a failure will be returned for that item. The returned async operation id can be used to query for status using the |
| list_company_webhooks_resourcesA | Returns a List of webhooks resources for the company. Use this to enumerate Webhooks when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Webhooks. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, payload_version. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: GET /rest/v2.0/companies/{company_id}/webhooks/resources |
| list_project_webhooks_resourcesA | Returns a List of webhooks resources for the project. Use this to enumerate Webhooks when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Webhooks. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, payload_version. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/webhooks/resources |
| get_configuration_for_uom_master_listA | Returns Configuration Data for Uom Master List. Use this to fetch the full details of a specific Units of Measure records by its identifier. Returns a paginated JSON array of Units of Measure records. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id. Procore API (v2.0): Construction Financials > Units of Measure. Endpoint: GET /rest/v2.0/companies/{company_id}/uoms/configuration |
| list_company_webhooks_triggersA | Returns an array of Triggers for the company webhook. Use this to enumerate Webhooks when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Webhooks. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, hook_id. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: GET /rest/v2.0/companies/{company_id}/webhooks/hooks/{hook_id}/triggers |
| create_company_webhooks_triggersB | Create Triggers for the Company Webhook. Use this to create a new Webhooks in Procore. Creates a new Webhooks and returns the created object on success (HTTP 201). Required parameters: company_id, hook_id, resource_name, event_type. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: POST /rest/v2.0/companies/{company_id}/webhooks/hooks/{hook_id}/triggers |
| list_project_webhooks_triggersA | Returns an array of Triggers for the project webhook. Use this to enumerate Webhooks when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Webhooks. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, hook_id. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/webhooks/hooks/{hook_id}/triggers |
| create_project_webhooks_triggersA | Create Triggers for the Project Webhook. Use this to create a new Webhooks in Procore. Creates a new Webhooks and returns the created object on success (HTTP 201). Required parameters: company_id, project_id, hook_id, resource_name, event_type. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/webhooks/hooks/{hook_id}/triggers |
| delete_company_webhooks_triggerB | Delete Company Webhooks Trigger. Use this to permanently delete the specified Webhooks. This cannot be undone. Permanently removes the specified Webhooks. This action cannot be undone. Required parameters: company_id, hook_id, id. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: DELETE /rest/v2.0/companies/{company_id}/webhooks/hooks/{hook_id}/triggers/{id} |
| delete_project_webhooks_triggerA | Delete Project Webhooks Trigger. Use this to permanently delete the specified Webhooks. This cannot be undone. Permanently removes the specified Webhooks. This action cannot be undone. Required parameters: company_id, project_id, hook_id, id. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: DELETE /rest/v2.0/companies/{company_id}/projects/{project_id}/webhooks/hooks/{hook_id}/triggers/{id} |
| bulk_create_company_webhooks_triggersA | Create multiple Triggers for the Company Webhook in a single request. Use this to create many Webhooks records in a single request. Creates many Webhooks records in one request and returns the created collection (HTTP 201). Partial failures may occur — check each item's status. Required parameters: company_id, hook_id. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: POST /rest/v2.0/companies/{company_id}/webhooks/hooks/{hook_id}/triggers/bulk |
| bulk_delete_company_webhooks_triggersA | Deletes multiple Triggers for the Company Webhook in a single request. Use this to permanently delete the specified Webhooks. This cannot be undone. Permanently removes the specified Webhooks. This action cannot be undone. Required parameters: company_id, hook_id. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: DELETE /rest/v2.0/companies/{company_id}/webhooks/hooks/{hook_id}/triggers/bulk |
| bulk_create_project_webhooks_triggersA | Create multiple Triggers for the Project Webhook in a single request. Use this to create many Webhooks records in a single request. Creates many Webhooks records in one request and returns the created collection (HTTP 201). Partial failures may occur — check each item's status. Required parameters: company_id, project_id, hook_id. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/webhooks/hooks/{hook_id}/triggers/bulk |
| bulk_delete_project_webhooks_triggersA | Deletes multiple Triggers for the Project Webhook in a single request. Use this to permanently delete the specified Webhooks. This cannot be undone. Permanently removes the specified Webhooks. This action cannot be undone. Required parameters: company_id, project_id, hook_id. Procore API (v2.0): Platform - Developer Tools > Webhooks. Endpoint: DELETE /rest/v2.0/companies/{company_id}/projects/{project_id}/webhooks/hooks/{hook_id}/triggers/bulk |
| list_task_items_distribution_member_optionsC | Returns options for distribution members that the current user can add to Task Items. Use this to enumerate Tasks when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Tasks. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id. Procore API (v2.0): Core > Tasks. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/task_items_project_distribution_members/options |
| list_default_task_items_project_distribution_membersA | Returns default distribution members for Task Items for the given project. Use this to enumerate Tasks when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Tasks. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id. Procore API (v2.0): Core > Tasks. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/task_items_project_distribution_members/default |
| fetch_active_support_pinB | Fetches active support pin for given company. Use this to fetch the full details of a specific Company Settings by its identifier. Returns a paginated JSON array of Company Settings. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id. Procore API (v2.0): Company Admin > Company Settings. Endpoint: GET /rest/v2.0/companies/{company_id}/support_pins |
| create_support_pinB | Creates a support pin for the given company. Use this to create a new Company Settings in Procore. Creates a new Company Settings and returns the created object on success (HTTP 201). Required parameters: company_id. Procore API (v2.0): Company Admin > Company Settings. Endpoint: POST /rest/v2.0/companies/{company_id}/support_pins |
| return_a_list_of_all_submittalsA | Return a list of all Submittals. Use this to read information about Submittals from Procore. Returns a paginated JSON array of Submittals. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Submittals. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/submittals |
| list_specification_configurationsA | Returns all specification settings in a specified Project. Use this to enumerate Specifications when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Specifications. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, specification_configuration. Procore API (v2.1): Project Management > Specifications. Endpoint: GET /rest/v2.1/companies/{company_id}/projects/{project_id}/specification_configuration |
| update_specification_configurationsB | Save changes in configurations and Returns all updated specification settings in a specified Project. Use this to update an existing Specifications (only the supplied fields are changed). Updates the specified Specifications and returns the modified object on success. Required parameters: company_id, project_id, specification_configuration. Procore API (v2.1): Project Management > Specifications. Endpoint: PATCH /rest/v2.1/companies/{company_id}/projects/{project_id}/specification_configuration |
| list_potential_distribution_members_for_specificationsB | This endpoint returns a paginated list potential distribution members for specifications. Use this to enumerate Specifications when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Specifications. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id. Procore API (v2.1): Project Management > Specifications. Endpoint: GET /rest/v2.1/companies/{company_id}/projects/{project_id}/specification_configuration/potential_distribution_members |
| list_distribution_groups_for_specificationsC | This endpoint returns a paginated list distribution groups with users for specifications. Use this to enumerate Specifications when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Specifications. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id. Procore API (v2.1): Project Management > Specifications. Endpoint: GET /rest/v2.1/companies/{company_id}/projects/{project_id}/specification_configuration/distribution_groups |
| list_specification_areas_for_a_projectA | This endpoint returns a paginated list of Specification Areas for a Project. Use this to enumerate Specifications when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Specifications. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id. Procore API (v2.1): Project Management > Specifications. Endpoint: GET /rest/v2.1/companies/{company_id}/projects/{project_id}/specification_areas |
| create_specification_areaB | Creates a new Specification Area in the specified Project. Use this to create a new Specifications in Procore. Creates a new Specifications and returns the created object on success (HTTP 201). Required parameters: company_id, project_id, name. Procore API (v2.1): Project Management > Specifications. Endpoint: POST /rest/v2.1/companies/{company_id}/projects/{project_id}/specification_areas |
| update_specification_areaA | Updates an existing Specification Area in the specified Project. Use this to update an existing Specifications (only the supplied fields are changed). Updates the specified Specifications and returns the modified object on success. Required parameters: company_id, project_id, specification_area_id. Procore API (v2.1): Project Management > Specifications. Endpoint: PUT /rest/v2.1/companies/{company_id}/projects/{project_id}/specification_areas/{specification_area_id} |
| delete_specification_areaA | Delete an existing Specification Area in the specified Project. Use this to permanently delete the specified Specifications. This cannot be undone. Permanently removes the specified Specifications. This action cannot be undone. Required parameters: company_id, project_id, specification_area_id. Procore API (v2.1): Project Management > Specifications. Endpoint: DELETE /rest/v2.1/companies/{company_id}/projects/{project_id}/specification_areas/{specification_area_id} |
| list_company_rolesA | Return a list of roles for a company. Use this to enumerate Company Settings when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Company Settings. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id. Procore API (v2.0): Company Admin > Company Settings. Endpoint: GET /rest/v2.0/companies/{company_id}/roles |
| post_company_roleC | POST Company Role. Use this to perform the post company action on Company Settings. Creates a new Company Settings and returns the created object on success (HTTP 201). Required parameters: company_id. Procore API (v2.0): Company Admin > Company Settings. Endpoint: POST /rest/v2.0/companies/{company_id}/roles |
| patch_company_roleB | PATCH Company Role. Use this to update an existing Company Settings (only the supplied fields are changed). Updates the specified Company Settings and returns the modified object on success. Required parameters: company_id, id. Procore API (v2.0): Company Admin > Company Settings. Endpoint: PATCH /rest/v2.0/companies/{company_id}/roles/{id} |
| delete_company_roleC | DELETE Company Role. Use this to permanently delete the specified Company Settings. This cannot be undone. Permanently removes the specified Company Settings. This action cannot be undone. Required parameters: company_id, id. Procore API (v2.0): Company Admin > Company Settings. Endpoint: DELETE /rest/v2.0/companies/{company_id}/roles/{id} |
| reorder_company_roleB | Reorder Company Role. Use this to perform the reorder company action on Company Settings. Creates a new Company Settings and returns the created object on success (HTTP 201). Required parameters: company_id, order. Procore API (v2.0): Company Admin > Company Settings. Endpoint: POST /rest/v2.0/companies/{company_id}/roles/reorder |
| update_the_due_date_for_a_requisition_subcontractor_invoiceB | Update the Due Date for a Requisition (Subcontractor Invoice). Use this to update an existing Commitments (only the supplied fields are changed). Updates the specified Commitments and returns the modified object on success. Required parameters: company_id, project_id, id. Procore API (v2.0): Construction Financials > Commitments. Endpoint: PATCH /rest/v2.0/companies/{company_id}/projects/{project_id}/requisitions/{id}/payment_details |
| list_requisition_compliance_documentsC | Lists the requisition compliance documents Procore Pay must be enabled to use this endpoint.. Use this to enumerate Payments when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Payments. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, invoice_id. Procore API (v2.0): Construction Financials > Payments. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/compliance/invoices/{invoice_id}/documents |
| create_compliance_documentC | Creates a compliance document Procore Pay must be enabled to use this endpoint.. Use this to create a new Payments in Procore. Creates a new Payments and returns the created object on success (HTTP 201). Required parameters: company_id, project_id, invoice_id. Procore API (v2.0): Construction Financials > Payments. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/compliance/invoices/{invoice_id}/documents |
| get_requisition_compliance_documentB | Gets the requisition compliance document Procore Pay must be enabled to use this endpoint.. Use this to fetch the full details of a specific Payments by its identifier. Returns a JSON object describing the requested Payments. Required parameters: company_id, project_id, invoice_id, document_id. Procore API (v2.0): Construction Financials > Payments. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/compliance/invoices/{invoice_id}/documents/{document_id} |
| update_requisition_compliance_documentA | Updates the requisition compliance document Procore Pay must be enabled to use this endpoint.. Use this to update an existing Payments (only the supplied fields are changed). Updates the specified Payments and returns the modified object on success. Required parameters: company_id, project_id, invoice_id, document_id. Procore API (v2.0): Construction Financials > Payments. Endpoint: PATCH /rest/v2.0/companies/{company_id}/projects/{project_id}/compliance/invoices/{invoice_id}/documents/{document_id} |
| delete_requisition_compliance_documentC | Deletes the requisition compliance document Procore Pay must be enabled to use this endpoint.. Use this to permanently delete the specified Payments. This cannot be undone. Permanently removes the specified Payments. This action cannot be undone. Required parameters: company_id, project_id, invoice_id, document_id. Procore API (v2.0): Construction Financials > Payments. Endpoint: DELETE /rest/v2.0/companies/{company_id}/projects/{project_id}/compliance/invoices/{invoice_id}/documents/{document_id} |
| list_requisition_compliance_attachmentsC | Lists the requisition compliance attachments Procore Pay must be enabled to use this endpoint.. Use this to enumerate Payments when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Payments. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, invoice_id. Procore API (v2.0): Construction Financials > Payments. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/compliance/invoices/{invoice_id}/documents/attachments |
| list_punch_item_assignee_filter_optionsB | Returns users assigned to punch items with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/assignees |
| list_punch_item_assignee_company_filter_optionsA | Returns vendor companies of punch item assignees with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/assignee_companies |
| list_punch_item_ball_in_court_filter_optionsC | Returns users who currently have ball in court on punch items with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/ball_in_court |
| list_punch_item_closed_by_contact_filter_optionsA | Returns users who have closed punch items with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/closed_by_contacts |
| list_punch_item_creator_filter_optionsB | Returns users who have created punch items with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/creators |
| list_punch_item_final_approver_filter_optionsA | Returns users assigned as final approvers on punch items with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/final_approvers |
| list_punch_item_manager_filter_optionsA | Returns users assigned as punch item managers with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/punch_item_managers |
| list_punch_item_trade_filter_optionsA | Returns trades associated with punch items with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/trades |
| list_punch_item_type_filter_optionsA | Returns punch item types with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/types |
| list_punch_item_location_filter_optionsA | Returns locations associated with punch items with pagination and optional search. Use this to enumerate Punch List records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a JSON array of available filter values for Punch List records. Required parameters: company_id, project_id. Procore API (v2.0): Project Management > Punch List. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/punch_list/locations |
| bulk_remove_project_membershipsA | Bulk Remove Project Memberships for many parties on the given Project. Currently, the maximum number of party IDs that can be processed in a single request is 1000. If more than 1000 party IDs are provided, only the first 1000 will be processed. This endpoint can currently only be used to remove reference users from a project. It cannot be used to remove a user who has a login or to remove vendors. Use this to permanently delete the specified Directory records. This cannot be undone. Permanently removes the specified Directory records. This action cannot be undone. Required parameters: company_id, project_id, party_ids. Procore API (v2.0): Core > Directory. Endpoint: DELETE /rest/v2.0/companies/{company_id}/projects/{project_id}/project_memberships/bulk_remove |
| show_a_project_inspection_template_item_evidence_configurationA | Show the specified Project Inspection Template Item Evidence Configuration. Use this to fetch the full details of a specific Inspections by its identifier. Returns a paginated JSON array of Inspections. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, template_item_id. Procore API (v2.0): Project Management > Inspections. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/inspection_template_items/{template_item_id}/evidence_configuration |
| updates_a_project_inspection_template_item_evidenceA | Updates the specified Project Inspection Template Item Evidence Configuration. Use this to update an existing Inspections (only the supplied fields are changed). Updates the specified Inspections and returns the modified object on success. Required parameters: company_id, project_id, template_item_id. Procore API (v2.0): Project Management > Inspections. Endpoint: PATCH /rest/v2.0/companies/{company_id}/projects/{project_id}/inspection_template_items/{template_item_id}/evidence_configuration |
| list_project_dates_companyA | List project dates associated with a project. Use this to enumerate Project records when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Project records. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id. Procore API (v2.0): Core > Project. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/project_dates |
| list_prime_contractsA | Returns a list of Prime Contracts for a given project. Use this to enumerate Prime Contracts when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Prime Contracts. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id. Procore API (v2.0): Construction Financials > Prime Contracts. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/prime_contracts |
| create_prime_contract_projectB | Creates a new Prime Contract for a given project. Use this to create a new Prime Contracts in Procore. Creates a new Prime Contracts and returns the created object on success (HTTP 201). Required parameters: company_id, project_id. Procore API (v2.0): Construction Financials > Prime Contracts. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/prime_contracts |
| show_prime_contract_projectA | Returns a Prime Contract for a given project. Use this to fetch the full details of a specific Prime Contracts by its identifier. Returns a JSON object describing the requested Prime Contracts. Required parameters: company_id, project_id, prime_contract_id. Procore API (v2.0): Construction Financials > Prime Contracts. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/prime_contracts/{prime_contract_id} |
| update_prime_contract_projectA | Updates a Prime Contract for a given project. Use this to update an existing Prime Contracts (only the supplied fields are changed). Updates the specified Prime Contracts and returns the modified object on success. Required parameters: company_id, project_id, prime_contract_id. Procore API (v2.0): Construction Financials > Prime Contracts. Endpoint: PATCH /rest/v2.0/companies/{company_id}/projects/{project_id}/prime_contracts/{prime_contract_id} |
| delete_prime_contract_projectA | Deletes a Prime Contract for a given project. Use this to permanently delete the specified Prime Contracts. This cannot be undone. Permanently removes the specified Prime Contracts. This action cannot be undone. Required parameters: company_id, project_id, prime_contract_id. Procore API (v2.0): Construction Financials > Prime Contracts. Endpoint: DELETE /rest/v2.0/companies/{company_id}/projects/{project_id}/prime_contracts/{prime_contract_id} |
| check_pdf_generation_status_projectA | Check the status of a PDF document generation for a prime contract. Note: This endpoint is currently only supported in Procore Zones US01 && US02. Use this to retrieve a downloadable file or export URL for Prime Contracts. Returns a JSON object with the file contents or download URL for Prime Contracts. Required parameters: company_id, project_id, prime_contract_id. Procore API (v2.0): Construction Financials > Prime Contracts. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/prime_contracts/{prime_contract_id}/pdf |
| create_pdf_export_for_a_prime_contractA | Creates a PDF export for a given Prime Contract. Note: This endpoint is currently only supported in Procore Zones US01 && US02. Use this to create a new Prime Contracts in Procore. Generates the export and returns a download URL or async job handle. Required parameters: company_id, project_id, prime_contract_id. Procore API (v2.0): Construction Financials > Prime Contracts. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/prime_contracts/{prime_contract_id}/pdf |
| show_prime_contract_summaryC | Returns a combined summary of change order and invoicing information for a specific prime contract. summary endpoints. Use this to fetch the full details of a specific Prime Contracts by its identifier. Returns a paginated JSON array of Prime Contracts. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, project_id, contract_id. Procore API (v2.0): Construction Financials > Prime Contracts. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/prime_contracts/{contract_id}/summary |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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