Skip to main content
Glama
TylerIlunga

Procore MCP Server

Update Incident

update_incident

Update an existing Procore incident by specifying the project ID and incident ID. Modify fields such as title, status, assignees, and more. Returns the updated incident.

Instructions

Updates the specified Incident. Use this to update an existing Incidents (only the supplied fields are changed). Updates the specified Incidents and returns the modified object on success. Required parameters: project_id, id. Procore API: Project Management > Incidents. Endpoint: PATCH /rest/v1.0/projects/{project_id}/incidents/{id}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYesURL path parameter — unique identifier for the project.
idYesURL path parameter — unique identifier of the Incidents resource
run_configurable_validationsNoQuery string parameter — whether or not Configurable validations from the Incident/Injury Configurable Field Set should be run (default: false). See (https://developers.procore.com/reference/configurable-field-sets#list-pr...
descriptionNoJSON request body field — description of the Incident
event_dateNoJSON request body field — iso8601 datetime of Incident occurrence. If time is unknown, send in the date at 0:00 project time converted to UTC.
type_idNoJSON request body field — the ID of the Incident Type. Defaults to the company's General type if not provided. The type must be active.
custom_status_idNoJSON request body field — the ID of the Custom Status. Mutually exclusive with the status field — setting one sets the other. Not updatable if the Incident has a workflows instance.
assignee_idsNoJSON request body field — an array of Login Information IDs to assign to the Incident. Assignees gain visibility into the Incident and its related records. Not updatable if the Incident has a workflows instance.
distribution_member_idsNoJSON request body field — an Array of the IDs of the Distribution Members (Not updatable if an incident has a workflows instance)
privateNoJSON request body field — indicates whether an Incident is private
recordableNoJSON request body field — indicates whether an Incident is recordable
statusNoJSON request body field — status (Not updatable if an incident has a workflows instance)
time_unknownNoJSON request body field — indicates that the time of the Incident occurrence is unknown
titleNoJSON request body field — incident Title
contributing_behavior_idNoJSON request body field — the ID of a Contributing Behavior
contributing_condition_idNoJSON request body field — the ID of a Contributing Condition
hazard_idNoJSON request body field — unique identifier of the hazard
location_idNoJSON request body field — the ID of a Location
environmentalsNoJSON request body field — associated Environmentals to create
injuriesNoJSON request body field — associated Injuries to create
near_missesNoJSON request body field — associated Near Misses to create
property_damagesNoJSON request body field — associated Property Damages to create
witness_statements_attributesNoJSON request body field — associated Witness Statement to create
upload_uuidsNoJSON request body field — array of uploaded file UUIDs.
custom_field_%{custom_field_definition_id}NoJSON request body field — value of the custom field. The data type of the value passed in corresponds with the data_type of the Custom Field Definition. For a lov_entry data_type the value passed in should be the ID of one ...
drawing_revision_idsNoJSON request body field — drawing Revisions to attach to the response
file_version_idsNoJSON request body field — file Versions to attach to the response
form_idsNoJSON request body field — forms to attach to the response
image_idsNoJSON request body field — images to attach to the response
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are present (readOnlyHint: false, destructiveHint: false) and the description adds that only supplied fields change and returns the modified object. There is no contradiction with annotations. The description does not mention authorization requirements, rate limits, or any side effects beyond the update. The added value is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of four sentences, each adding value: purpose, usage instruction, return statement, and API reference. It is front-loaded with the core action and contains no superfluous information. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description correctly states 'returns the modified object'. However, it does not detail the return structure, error handling, or side effects. For a tool with 29 parameters, more context on typical usage or prerequisites would improve completeness, but the schema covers parameter details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 29 parameters with 100% description coverage, so baseline is 3. The description reinforces partial update semantics ('only the supplied fields are changed'), which is helpful but does not add new meaning beyond what the schema already provides for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with 'Updates the specified Incident' providing a clear verb+resource. It specifies partial update behavior ('only the supplied fields are changed') and states it returns the modified object. This clearly distinguishes it from sibling tools like create_incident or bulk_update_incident_action_types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Use this to update an existing Incidents' and lists required parameters, but it does not explicitly tell when to use this tool versus alternatives like bulk_update_incident_action_types or other update tools. The usage context is implied but no exclusion or alternative guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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