Skip to main content
Glama
TylerIlunga

Procore MCP Server

Update A Time And Material Entry

update_a_time_and_material_entry
Idempotent

Update a time and material entry in a project by sending only the fields to change; omitted fields stay unchanged and the modified record is returned.

Instructions

Updating a Time And Material Entry associated with the specified project. Send only the fields you intend to change; omitted fields keep their current values. Pass the record's fields as top-level arguments — they are nested under "time_and_material_entry" in the request payload for you. project_id defaults to the value set by procore_set_config when omitted, and id must identify an existing parent record — resolve it with the matching list tool first. Returns the modified time and material entry on success. Failures come back as an error payload carrying the HTTP status — commonly 401 when the token has expired, 403 without tool permission, and 404 when an id does not resolve. Required parameters: project_id, id. Procore API: Project Management > Field Productivity. Endpoint: PATCH /rest/v1.0/projects/{project_id}/time_and_material_entries/{id}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesURL path parameter — id of the Time And Material Entry
nameNoJSON request body field — the title of T&M ticket
numberNoJSON request body field — unique number for the T&M ticket
statusNoJSON request body field — current status of T&M ticket
privateNoJSON request body field — if the T&M ticket is private
form_idsNoJSON request body field — forms to attach to the response
image_idsNoJSON request body field — images to attach to the response
project_idYesURL path parameter — unique identifier for the project.
upload_idsNoJSON request body field — the specified array of upload ids is saved as Time And Material Entry Attachments.
descriptionNoJSON request body field — the description of job
file_version_idsNoJSON request body field — file Versions to attach to the response
reference_numberNoJSON request body field — the refrence number associate with T&M ticket
company_signature_idNoJSON request body field — the ID associate with company's signature
drawing_revision_idsNoJSON request body field — drawing Revisions to attach to the response
customer_signature_idNoJSON request body field — the ID associate with customer's signature
work_performed_on_dateNoJSON request body field — date work performed on
company_signee_party_idNoJSON request body field — the ID associate with company's signature party
customer_signee_party_idNoJSON request body field — the ID associate with customer's signature party
run_configurable_validationsNoQuery string parameter — if true, validations are run for the corresponding Configurable Field Set.
Behavior5/5

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

Beyond the annotations, the description discloses partial-update behavior, payload nesting, project_id defaulting, the requirement to resolve id first, success return value, and common HTTP error statuses. It also includes the API endpoint and category, giving the agent a complete behavioral model.

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 is dense but every sentence adds value: purpose, update semantics, parameter handling, prerequisites, return value, error behavior, and endpoint. It is front-loaded with the core action and then provides supporting detail without redundant fluff.

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

Completeness5/5

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

Given the tool's high parameter count (19), no output schema, and use of annotations, the description is remarkably complete. It covers the partial update model, required parameters, default behavior, prerequisite lookup, success/failure responses, and the exact Procore API endpoint, leaving little ambiguity for an agent.

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

Parameters5/5

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

Although the schema documents every parameter (100% coverage), the description adds crucial semantics: omitted fields keep current values, all entry fields are sent as top-level arguments nested under 'time_and_material_entry' in the payload, and project_id has a default from configuration. This is exactly the kind of contextual meaning the schema alone does not convey.

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 clearly states the action ('Updating a Time And Material Entry') and the resource scope ('associated with the specified project'), distinguishing it from create/delete/list operations. The partial-update semantics further reinforce that this is a modification tool.

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

Usage Guidelines4/5

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

The description gives explicit usage context: send only changed fields, fields are passed top-level, project_id defaults to procore_set_config, and id must be resolved via the matching list tool first. It does not explicitly name create/delete alternatives, but the usage guidance is clear enough for correct selection.

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