Skip to main content
Glama
TylerIlunga

Procore MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROCORE_CLIENT_IDYesYour Procore OAuth client ID from the Procore Developer Portal
PROCORE_COMPANY_IDYesYour Procore company ID
PROCORE_CLIENT_SECRETYesYour Procore OAuth client secret from the Procore Developer Portal

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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_discover_categories to drill into a focused area such as RFIs, Submittals, or Budgets. Filter further by free-text summary or HTTP method. Returns a JSON array of endpoint metadata (operationId, summary, method, path).

procore_get_endpoint_detailsA

Fetch the full parameter schema, request body shape, and response format for a single Procore endpoint. Pass an operation_id from procore_discover_endpoints. Use this right before calling procore_api_call so you know exactly which path/query/body parameters to provide. Returns a JSON object.

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 (__ becomes [/]), and returns the parsed JSON response with pagination + rate-limit metadata.

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 history array has a type field and a details object. The following event types are supported: WorkflowStarted — emitted when the workflow begins. json { "type": "WorkflowStarted", "details": { "started_at": "2024-01-15T10:00:00Z" } } WorkflowTerminated — emitted when the workflow is terminated before completion. ```json { "type": "WorkflowTerminated", "detai... Use this to fetch the full details of a specific Workflows by its identifier. 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, id. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances/{id}/history

get_workflow_instance_history_companyB

Returns an ordered list of history events for a given company workflow instance. Each event in the history array has a type field and a details object. The following event types are supported: WorkflowStarted — emitted when the workflow begins. json { "type": "WorkflowStarted", "details": { "started_at": "2024-01-15T10:00:00Z" } } WorkflowTerminated — emitted when the workflow is terminated before completion. ```json { "type": "WorkflowTerminated", "detai... Use this to fetch the full details of a specific Workflows by its identifier. Returns a paginated JSON array of Workflows. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: company_id, id. Procore API (v2.0): Core > Workflows. Endpoint: GET /rest/v2.0/companies/{company_id}/workflows/instances/{id}/history

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 GET /rest/v2.0/companies/{company_id}/async_operations/{operation_id} API. The result field of the operation contains a list of completed and failed i... Use this to create many Workflows records in a single request. Creates many Workflows 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, tool_type, items. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances/bulk_create

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 GET /rest/v2.0/companies/{company_id}/async_operations/{operation_id} API. The result field of the operation contains a list of completed and failed i... Use this to create many Workflows records in a single request. Creates many Workflows records in one request and returns the created collection (HTTP 201). Partial failures may occur — check each item's status. Required parameters: company_id, tool_type, items. Procore API (v2.0): Core > Workflows. Endpoint: POST /rest/v2.0/companies/{company_id}/workflows/instances/bulk_create

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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