Skip to main content
Glama
TylerIlunga

Procore MCP Server

List Project Fields

list_project_fields
Read-onlyIdempotent

Get all fields for a Procore project by specifying company and project IDs. Returns a read-only JSON payload with the complete field set.

Instructions

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoQuery string parameter — page number for paginated results (default: 1)
localeNoQuery string parameter — language for the response to be translated into
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: active, can_affect_per...
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
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds valuable context beyond these: it explicitly states 'Read-only — it changes nothing in Procore', describes common error payloads (401, 403, 404), and mentions defaults from procore_set_config. This exceeds the baseline but does not cover every behavioral aspect (e.g., pagination behavior is absent).

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 mostly well-organized and front-loaded with the core purpose. It includes useful information about defaults, errors, and endpoint. However, sentence 'Required parameters: company_id, project_id' is redundant with the schema's required list, and the description is slightly longer than necessary, which prevents a perfect score.

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

Completeness3/5

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

No output schema exists, so the description should clarify return shape, but it is ambiguous ('single JSON object' vs 'Fields for a Project') and does not address pagination despite page/per_page parameters existing. The error and default information is helpful, but the ambiguous response description leaves a gap in completeness for a tool with multiple parameters and no output schema.

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 description coverage is 100%, so the schema fully describes all parameters. The description only repeats that company_id and project_id are required and mentions default values, which adds little beyond the schema. It does not explain page, locale, filters, or per_page in a way that enriches the schema 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 it returns project fields and provides a usage scenario ('when you already know which project field you want and need its full field set'). However, there is slight ambiguity: it says 'Returns the Fields for a Project' (plural) but later 'Returns a single JSON object describing the project field' (singular), which could confuse whether the return is a list or a single object. It does not explicitly differentiate from sibling tools but the usage context helps.

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?

Provides a clear use case ('Use this when you already know which project field you want and need its full field set') and mentions default behavior for company_id/project_id when omitted. There are no explicit 'when not to use' or alternative tool references, but the context is sufficient for most selection scenarios.

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