Skip to main content
Glama
TylerIlunga

Procore MCP Server

Accessible Tools

accessible_tools
Read-onlyIdempotent

Return the set of Procore item types (tools) the current user can act on for a company and project. Provides the complete field set for each accessible tool.

Instructions

Returns the set of Procore item types (tools) the current user is permitted to act on for the given company and project. Use this when you already know which accessible tool 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 accessible tool. 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 Markup. Endpoint: GET /rest/v2.0/companies/{company_id}/projects/{project_id}/viewer_documents/accessible_tools

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
company_idYesURL path parameter — unique identifier of the company
project_idYesURL path parameter — unique identifier of the project
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive nature. The description adds valuable behavioral context beyond those: it explicitly states 'Read-only — it changes nothing in Procore,' explains default behavior for omitted parameters, and details common error statuses (401, 403, 404). This is meaningful but not exhaustive (e.g., no rate limits or side effects), so a 4 is appropriate.

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 front-loaded with purpose and includes multiple useful details (when to use, defaults, read-only, errors, endpoint). It is slightly long and contains some redundancy (e.g., repeat of 'read-only' and 'Required parameters'), but each sentence contributes relevant information. Not as lean as the highest bar, but well-structured.

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

Completeness4/5

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

Given there is no output schema, the description adequately covers the return type ('a single JSON object describing the accessible tool') and error payload format. It also includes API version, endpoint, and parameter defaults, providing a fairly complete picture for selecting and invoking the tool. A minor gap is the lack of detail about the object's fields or structure, but that is not strictly required given the context.

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?

Input schema has 100% coverage with descriptions for both parameters. The description adds the key insight that company_id and project_id default to procore_set_config values when omitted, which is not present in the schema. It also repeats the required status, reinforcing schema info. This adds value beyond the structured fields.

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 description states a specific verb and resource ('Returns the set of Procore item types...'), but is internally inconsistent: it says 'set of tools' yet later 'Returns a single JSON object describing the accessible tool' and 'when you already know which accessible tool you want.' This ambiguity about whether it returns a collection or a single item weakens clarity, though it clearly relates to accessible tools.

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 when you already know which accessible tool you want and need its full field set,' giving a clear usage context. It does not enumerate alternatives or exclusions, but the condition 'when you already know' implies discovery is done elsewhere. This satisfies 'clear context, no exclusions' rather than merely implied usage.

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