Skip to main content
Glama
TylerIlunga

Procore MCP Server

Update Company Segment Item

update_company_segment_item
Idempotent

Update a company segment item in Procore, including activating or deactivating cost types. Send only changed fields; omitted values stay unchanged.

Instructions

Update a specific Company Segment Item. For cost types (line item types), the status attribute can be used to activate or deactivate the cost type when the cost type deactivation feature is enabled. Deactivating the default cost type (Other) or the last remaining active cost type will return a 422 error. Send only the fields you intend to change; omitted fields keep their current values. company_id defaults to the value set by procore_set_config when omitted, and segment_id, id must identify existing parent records — resolve them with the matching list tool first. Returns the modified company segment item 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: company_id, segment_id, id. Procore API: Construction Financials > Work Breakdown Structure. Endpoint: PATCH /rest/v1.0/companies/{company_id}/work_breakdown_structure/segments/{segment_id}/segment_items/{id}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesURL path parameter — unique identifier of the Work Breakdown Structure resource
codeNoJSON request body field — segment Item Code
nameNoJSON request body field — segment Item Name
statusNoJSON request body field — segment Item Status
company_idYesURL path parameter — unique identifier for the company.
segment_idYesURL path parameter — unique identifier of the segment
default_uom_idNoJSON request body field — iD of the Unit of Measure to set as the default for this Cost type (line item type) segment item. Pass null to remove the existing default. Part of the Units of Measure Validation beta.
standard_cost_code_list_idNoQuery string parameter — standard Cost Code List ID (required for cost codes only)
Behavior5/5

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

The description goes well beyond the annotations by detailing behavior such as the 422 error specifically for deactivating the default or last remaining cost type, PATCH semantics where omitted fields retain values, and a clear error handling map (401, 403, 404). It also notes the return value (modified company segment item) and the API category and endpoint. This is substantial context beyond the structured hints.

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 a single dense paragraph, but every sentence contributes necessary information: core action, conditional status behavior, partial update semantics, parameter defaults/resolution, response details, error mapping, required parameters, and API endpoint. It is front-loaded with the primary purpose and efficiently packs in all critical behavioral and error information without redundancy.

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 complexity (8 parameters, no output schema), the description is remarkably complete. It states the return value, explains success/failure modes with HTTP statuses, clarifies required parameters, names the API category and exact endpoint, and provides prerequisite guidance for resolving parent records. This leaves few gaps for an agent to invoke the tool correctly.

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 descriptions cover 100% of parameters, giving a baseline of 3. The description adds meaningful semantics for key parameters: status (activation/deactivation with specific error conditions), company_id (default from procore_set_config), and segment_id/id (must resolve existing parent records via list tool). These enrich understanding beyond the raw schema, but the added value is limited to a subset of the 8 parameters.

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 opens with 'Update a specific Company Segment Item,' which clearly identifies the verb (update) and resource (specific company segment item). It further distinguishes from sibling tools by specifying it operates at the company level and notes the special status behavior for cost types, making it distinct from create/delete/bulk or project segment item tools.

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 provides clear context for use: it explains partial update semantics ('Send only the fields you intend to change'), gives prerequisites ('segment_id, id must identify existing parent records — resolve them with the matching list tool first'), and documents default behavior for company_id via procore_set_config. However, it does not explicitly name alternative tools for comparable operations (e.g., update_all_company_segment_items, update_project_segment_item), so the guidance is solid but not exhaustive.

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