Skip to main content
Glama
TylerIlunga

Procore MCP Server

Update Injury

update_injury

Update attributes of an existing injury record in Procore, including filing type, description, affected body parts, or treatment details.

Instructions

Update an Injury's attributes NOTE: The afflictions and affected_body_part keys are deprecated. Please disregard and use the affected_body_parts and affliction_type keys as documented below. 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/injuries/{id}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYesURL path parameter — unique identifier for the project.
idYesURL path parameter — unique identifier of the Incidents resource
incident_idNoQuery string parameter — unique identifier of the incident
run_configurable_validationsNoQuery string parameter — whether or not Configurable validations from the Injury Configurable Field Set should be run (default: false). See (https://developers.procore.com/reference/configurable-field-sets#list-project-con...
date_of_deathNoJSON request body field — the date of death for this Incidents operation
descriptionNoJSON request body field — description of event in Rich Text format
filing_typeNoJSON request body field — filing Type - The 'recordable' filing_type value is deprecated. When a filing type of 'recordable' is provided, the `recordable` attribute of the Injury will instead be set to 'true'.
hospitalized_overnightNoJSON request body field — represents whether the injured person was hospitalized overnight
recordableNoJSON request body field — represents whether the Injury record is recordable
treated_in_erNoJSON request body field — represents whether the injured person was treated in the ER
treatment_facility_addressNoJSON request body field — the street address of the treatment facility
treatment_facilityNoJSON request body field — the name of the treatment facility
treatment_providerNoJSON request body field — the name of the treatment provider
work_days_absentNoJSON request body field — the number of days absent from work
work_days_restrictedNoJSON request body field — the number of days on restricted work
work_days_transferredNoJSON request body field — the number of days transferred
affliction_type_idNoJSON request body field — the ID of the Affliction Type. This cannot be cleared if there is an affected_body_part.
body_diagram_typeNoJSON request body field — the body diagram type for this Incidents operation
affected_body_partsNoJSON request body field — dEPRECATED - Use body_part_ids instead. The body parts affected by the affliction. This requires an affliction_type to be set.
affected_person_idNoJSON request body field — the ID of the Affected Person. This only supports full Users from the Users endpoints.
affected_party_idNoJSON request body field — the ID of the Affected Person. This supports full and reference Users from the People endpoints.
body_part_idsNoJSON request body field — the IDs of body parts affected by the affliction. This requires an affliction_type to be set.
harm_source_idNoJSON request body field — the ID of the Harm Source
affected_company_idNoJSON request body field — the ID of the Affected Company
managed_equipment_idNoJSON request body field — the ID of the Managed Equipment
work_activity_idNoJSON request body field — the ID of the Work Activity
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 ...
Behavior3/5

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

Annotations are present (readOnlyHint=false, destructiveHint=false), so the bar is lower. The description adds behavioral context about partial updates ('only the supplied fields are changed') and the return of the modified object. However, it lacks details on side effects, permissions, or rate limits.

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

Conciseness4/5

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

The description is concise (3-4 sentences) and front-loaded with the action. It includes a deprecation note and key details. However, the structure could be improved by separating the deprecation note more clearly, but overall it is efficient.

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?

Given no output schema, the description mentions 'returns the modified object', which is minimal. It does not explain response structure, error handling, or relationships to other resources. With 27 parameters, the schema covers their descriptions, but the description does not provide additional operational context beyond the deprecation note.

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

Parameters4/5

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

Schema description coverage is 100%, but the description adds value by noting deprecated keys (afflictions, affected_body_part) and directing to replacements (affected_body_parts, affliction_type). It also identifies required parameters and groups parameters by location (path, query, body). This goes beyond the schema descriptions.

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

Purpose4/5

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

The description clearly states 'Update an Injury's attributes' and specifies updating existing Incidents. It identifies the resource and action. However, the phrasing 'existing Incidents' may cause slight confusion as the tool is named 'update_injury', but overall purpose is clear.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives like create_injury or update_incident. It does not mention when not to use it or list alternative tools. The only implicit guideline is that it is for existing records.

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