Skip to main content
Glama
TylerIlunga

Procore MCP Server

Update Company File

update_company_file

Update an existing company file in Procore by modifying its name, description, permissions, or moving it to a different folder. Creates a new file version.

Instructions

Update a specific File (creates a new file version). Use this to update an existing Documents (only the supplied fields are changed). Updates the specified Documents and returns the modified object on success. Required parameters: company_id, id. Procore API: Core > Documents. Endpoint: PATCH /rest/v1.0/companies/{company_id}/files/{id}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
company_idYesURL path parameter — unique identifier for the company.
idYesURL path parameter — unique identifier of the Documents resource
parent_idNoJSON request body field — the ID of the parent folder to move the file to
nameNoJSON request body field — the Name of the file
checked_out_untilNoJSON request body field — check out a file until the specified time. Admins may reset checkout by sending "null"
is_trackedNoJSON request body field — status if a file should be tracked (true/false)
explicit_permissionsNoJSON request body field — set file to private (true/false)
descriptionNoJSON request body field — a description of the file
dataNoJSON request body field — [DEPRECATED] File to use as file data. Please use upload_uuid instead. Note that it's only possible to post a file using a multipart/form-data body (see RFC 2388). Most HTTP libraries will do the r...
upload_uuidNoJSON request body field — uUID referencing a previously completed Upload. This is the recommended approach for file uploads. See Company Uploads or Project Uploads endpoints for instructions on how to use uploads. You sho...
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?

The description adds behavioral context beyond annotations: it states that updating creates a new file version and only changes supplied fields (partial update). Annotations already indicate it is a write operation (readOnlyHint=false) and non-destructive, so the description adds moderate value but does not elaborate 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 three sentences, front-loaded with the core purpose, and uses minimal text. It avoids fluff but could be slightly more efficient by removing the repeated 'Documents' phrasing. Still appropriately sized.

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

Completeness2/5

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

Given the tool has 11 parameters, no output schema, and no error handling details, the description is insufficiently complete. It does not explain the flow of updating a file (e.g., need for a prior upload), the return value structure, or common use cases like moving or renaming. Many details are left to the schema or omitted.

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 coverage is 100%, so the schema already describes all parameters. The description only lists required parameters (company_id, id) and does not add semantic meaning for optional parameters like upload_uuid or parent_id. Hence it meets the baseline but provides no extra value.

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 the verb 'Update' and the resource 'File', and includes the nuance that it creates a new file version. However, it does not explicitly distinguish from sibling tools like create_company_file or create_company_file_version, which limits clarity for an agent deciding between tools.

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?

No explicit guidance on when to use this tool versus alternatives. It says 'Use this to update an existing Documents' which implies not for creation, but fails to mention when to use create_company_file or create_company_file_version, nor any prerequisites like needing an existing file or prior upload.

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