Skip to main content
Glama
TylerIlunga

Procore MCP Server

List Purchase Order Contract Line Items

list_purchase_order_contract_line_items
Read-onlyIdempotent

Retrieve a paginated list of purchase order contract line items, with optional filters for IDs, dates, cost codes, and line item types. Returns line items with associated change event information if available.

Instructions

Return a list of all Purchase Order Contract Line Items. Change Event Line Item information is only returned if a line item is associated to a change event line item and user can view change events. See Filtering on List Actions for information on using the filtering capabilities provided by this endpoint. Use this to enumerate Commitments when you need a paginated overview, to find IDs, or to filter by query parameters. Returns a paginated JSON array of Commitments. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: purchase_order_contract_id, project_id. Procore API: Construction Financials > Commitments. Endpoint: GET /rest/v1.0/purchase_order_contracts/{purchase_order_contract_id}/line_items

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
purchase_order_contract_idYesURL path parameter — purchase Order Contract ID
project_idYesQuery string parameter — unique identifier for the project.
pageNoQuery string parameter — page number for paginated results (default: 1)
per_pageNoQuery string parameter — number of items per page (default: 100, max: 100)
filters__idNoQuery string parameter — return item(s) with the specified IDs.
filters__created_atNoQuery string parameter — return item(s) created within the specified ISO 8601 datetime range. Formats: `YYYY-MM-DD`...`YYYY-MM-DD` - Date `YYYY-MM-DDTHH:MM:SSZ`...`YYYY-MM-DDTHH:MM:SSZ` - DateTime with UTC Offset `YYYY-MM-...
filters__updated_atNoQuery string parameter — return item(s) last updated within the specified ISO 8601 datetime range. Formats: `YYYY-MM-DD`...`YYYY-MM-DD` - Date `YYYY-MM-DDTHH:MM:SSZ`...`YYYY-MM-DDTHH:MM:SSZ` - DateTime with UTC Offset `YYY...
filters__cost_code_idNoQuery string parameter — cost Code ID. Returns item(s) with the specified Cost Code ID or within the specified range of Cost Code IDs.
filters__line_item_type_idNoQuery string parameter — line Item Type ID. Returns item(s) with the specified Line Item Type ID or range of Line Item Type IDs.
viewNoQuery string parameter — specifies which view (which attributes) of the resource is going to be present in the response. 'default' view will be rendered by default if the parameter is not provided. For the 'ssov_source_lin...
Behavior4/5

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

The description adds important context beyond annotations, such as conditional inclusion of Change Event Line Item information based on user permissions. It also notes pagination metadata in the response. This complements the readOnlyHint and idempotentHint annotations.

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 structured and efficient, starting with the core purpose, then usage guidance, behavioral notes, and API details. It includes a documentation link but avoids redundancy. The mention of endpoint and method could be condensed, but overall it is concise.

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?

The description lacks completeness because it refers to the return as 'Commitments' while the tool is for line items, which may confuse. There is no output schema, and the description does not detail the structural fields or possible values in the array. Given the complexity of the schema, more information about the response would be beneficial.

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?

The input schema has 100% coverage, so the description does not need to add much. It mentions required parameters and pagination controls, which are already in the schema but provides a brief overview. No significant new semantics beyond what is already in the parameter 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 the tool returns a list of Purchase Order Contract Line Items and mentions pagination and filtering. It distinguishes from siblings by specifying it lists line items for a particular contract, but does not explicitly differentiate from other list tools like list_commitment_contract_line_items.

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 explains when to use the tool (for paginated overview, finding IDs, filtering) and provides a link to filtering documentation. However, it does not mention when not to use it or provide alternative tools for specific use cases, such as retrieving a single line item.

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