Skip to main content
Glama
TylerIlunga

Procore MCP Server

List Project Permission Templates

list_project_permission_templates
Read-onlyIdempotent

Discover permission templates in use on a project. Retrieve a paginated list via this read-only endpoint to find template IDs for subsequent calls.

Instructions

Return a distinct list of permission templates in use on a project. Use this to discover project permission templates or to look up the id of one before calling a tool that needs it. project_id defaults to the value set by procore_set_config when omitted. Returns a JSON array of project permission templates; page and per_page control pagination and the response reports how many pages remain. 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. Procore API: Core > Directory. Endpoint: GET /rest/v1.0/projects/{project_id}/directory/filter_options/permission_templates

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for paginated results (default: 1, 1-indexed)
per_pageNoNumber of items per page (default: 100, max: 100)
project_idYesURL path parameter — unique identifier for the project.
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description adds rich behavior: it explicitly states it is read-only, explains error payloads with common HTTP statuses (401/403/404), describes pagination and the 'pages remain' response, and reveals that project_id defaults to a config value. This goes well beyond what annotations already declare and contains no contradiction.

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 dense and well-structured: purpose, usage, parameter default, return format, safety, error handling, required parameters, and endpoint are all covered in roughly five sentences. No filler or redundancy; each sentence earns its place.

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?

For a read-only list tool with no output schema, the description is highly complete. It covers the purpose, when to use it, the default project_id behavior, pagination controls and response count, the JSON array return type, error semantics, required parameters, and the exact API endpoint. An agent has enough to select and 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 coverage is 100% for all three parameters, so the baseline is 3. The description adds meaning by documenting that project_id defaults to procore_set_config when omitted, and clarifies that page and per_page control pagination. This extra context about parameter behavior exceeds what the schema alone provides, though it does not describe response item structure.

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 a specific verb and resource: 'Return a distinct list of permission templates in use on a project.' It clearly distinguishes from sibling tools by scoping to a project and noting 'distinct', and even states the intended use case of discovering templates or looking up an id. This is a clear, specific purpose.

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?

It explicitly says 'Use this to discover project permission templates or to look up the id of one before calling a tool that needs it,' giving clear when-to-use context. It does not name alternative tools or explicit exclusions, but the project scope and lookup purpose provide adequate guidance for selection.

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