Skip to main content
Glama
TylerIlunga

Procore MCP Server

Retrieve A List Of Markups

retrieve_a_list_of_markups
Read-onlyIdempotent

Retrieve a paginated list of markups for a Contract or Potential Change Order using project, holder type, and holder ID. Requires admin permissions. Supports optional ERP data view.

Instructions

Retrieves a list of markups associated with the specified holder. This endpoint supports the Contract and Potential Change Order tools. Access requires the user to have admin permissions for the relevant tool. Use this to fetch the full details of a specific Contracts by its identifier. Returns a paginated JSON array of Contracts. Use page and per_page to control pagination; the response includes pagination metadata. Required parameters: project_id, holder_type, holder_id. Procore API: Construction Financials > Contracts. Endpoint: GET /rest/v1.0/financials/markups

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYesQuery string parameter — iD of the Markup's Project
holder_typeYesQuery string parameter — type of the Markup's Holder
holder_idYesQuery string parameter — iD of the Markup's Holder
viewNoQuery string parameter — when set to `with_erp_data`, includes the `prime_line_item_id` field in the response.
pageNoPage number for paginated results (default: 1)
per_pageNoNumber of items per page (default: 100, max: 100)
Behavior2/5

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

Annotations already indicate read-only and idempotent behavior. The description adds permission requirements and pagination details, but it contains a significant internal contradiction: it says 'list of markups' yet later says 'returns a paginated JSON array of Contracts'. This inconsistency undermines trust in the described behavior.

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

Conciseness3/5

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

The description starts with the core purpose but includes a confusing sentence about 'fetch the full details of a specific Contracts' that is tangential and potentially misleading. It also includes verbose API reference details that could be condensed. It is not maximally 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?

Given the complexity (6 parameters, no output schema), the description should explain the return structure beyond 'pagination metadata' and 'array of Contracts'. It fails to describe the markup object itself, leaving the agent without enough context on what the response contains. The mention of 'Contracts' instead of 'Markups' further harms completeness.

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?

Schema coverage is 100%, so every parameter already has a description. The description only reiterates that project_id, holder_type, and holder_id are required and that page/per_page control pagination, adding no new semantic meaning beyond the schema.

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 retrieves a list of markups for a specified holder, distinguishing it from single-markup or mutation siblings. However, it includes a confusing sentence about fetching 'full details of a specific Contracts', which could mislead the agent into thinking this is a single-record retrieval tool.

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 mentions support for Contract and Potential Change Order tools and lists required parameters, but does not explicitly state when to use this tool over alternatives like 'retrieve_details_for_the_markup'. The misleading sentence about 'specific Contracts' harms clarity on usage context.

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