Skip to main content
Glama
TylerIlunga

Procore MCP Server

List Document Uploads V2

list_document_uploads_v2
Read-onlyIdempotent

Retrieve a paginated list of document uploads for a Procore project, with options to search, filter, and sort. Use to view upload metadata and status.

Instructions

Returns Document Uploads for a Project. Use this when you already know which document uploads v2 you want and need its full field set. project_id and company_id default to the values set by procore_set_config when omitted. Returns a single JSON object describing the document uploads v2. Read-only — it changes nothing in Procore. 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, company_id. Procore API (v2.0): Project Management > Document Management. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/document_management/document_uploads

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoQuery string parameter — page number for paginated results (default: 1)
sortNoQuery string parameter — comma-separated set of attributes to sort the list of records by. Format: :primary_sort_attribute,:secondary_sort_attribute Valid sort attribute options are [<field_id>, id]
localeNoQuery string parameter — language for the response to be translated into
searchNoQuery string parameter — search records by [original_filename, file_format, format, type, name, description, revision, status, classification, project_stage, project, originator, volume, location, discipline, number, creat...
filtersNoQuery string parameter — object with whitelisted Field ids as keys and their corresponding MetadataValue id, MetadataValue ids array, or primitive string value as values. Valid filterable fields are: original_filename, fil...
per_pageNoQuery string parameter — number of items per page (default: 100, max: 100)
company_idYesURL path parameter — unique identifier for the Procore company
project_idYesURL path parameter — unique identifier for the Procore project
Behavior2/5

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

While the description confirms the read-only nature (redundant with annotations) and lists useful failure codes (401, 403, 404), it makes a questionable claim that it returns a 'single JSON object' for a list operation. This is misleading about the output shape and does not disclose pagination behavior despite having page/per_page parameters. The annotation also already provides the read-only hint, so the description adds limited value beyond error context.

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 contains multiple pieces of information (purpose, usage, defaults, error codes, API path) but is somewhat repetitive and internally contradictory ('Returns Document Uploads' vs 'Returns a single JSON object'). It is front-loaded with purpose, but the confusion and redundancy hurt its conciseness.

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?

With no output schema, the description should clarify the return value, but it claims a 'single JSON object' which is ambiguous for a list tool. It does not mention that the response is likely an array or describe pagination. While error handling is covered, the lack of output shape and pagination info leaves the description incomplete for an agent to understand the result.

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 parameters are already well-documented. The description adds that project_id and company_id default to values from procore_set_config, which is useful behavioral context not in the schema. However, it does not elaborate on the filter/search/sort parameters beyond what the schema provides, so the added value is marginal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence clearly states the tool returns Document Uploads for a Project, but the second sentence claims 'Use this when you already know which document uploads v2 you want and need its full field set' and 'Returns a single JSON object describing the document uploads v2', which contradicts the 'list' in the name. This muddles the purpose and fails to clearly distinguish from a show operation.

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 gives a usage context ('when you already know which document uploads v2 you want and need its full field set') but this seems more appropriate for a show tool, not a list tool. It does not explicitly mention alternatives like show_document_upload or when to prefer this tool over others. The default behavior of project_id and company_id is noted, but the guidance is somewhat misleading.

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