Skip to main content
Glama
TylerIlunga

Procore MCP Server

Creates A New Receipt.

creates_a_new_receipt

Create a new material receipt in Procore by providing company and project IDs, along with receipt details like vendor, shipment, and receiving location.

Instructions

This endpoint handles HTTP POST requests and returns different response types based on the outcome of the operation. A successful creation returns a 200 OK response with the receipt header details, while various error conditions return appropriate error responses. company_id and project_id default to the values set by procore_set_config when omitted. Acts on the receipt and returns Procore's response for the operation. 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): Resource Management > Materials Management. Endpoint: POST /rest/v2.0/companies/{company_id}/projects/{project_id}/materials_mgmt/receipts

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoJSON request body field — the name of the receipt.
notesNoJSON request body field — additional notes for the receipt.
vendorNoJSON request body field — name of vendor for receipt.
signatureNoJSON request body field — the signature associated with the receipt.
company_idYesURL path parameter — the company identifier
project_idYesURL path parameter — the project identifier
descriptionNoJSON request body field — the description of the receipt.
destinationNoJSON request body field — the destination for this Materials Management operation
received_atNoJSON request body field — the timestamp when the receipt was received.
received_byNoJSON request body field — the name of the user who received the receipt.
shipment_idNoJSON request body field — the ID of the shipment associated with the receipt.
inspected_byNoJSON request body field — the name of the user who inspected the receipt.
received_by_idNoJSON request body field — the name of the user who received the receipt.
purchase_order_idNoJSON request body field — the ID of the purchase order associated with the receipt.
receiving_locationNoJSON request body field — the receiving location for this Materials Management operation
shipment_referenceNoJSON request body field — reference to the parent shipment
receiving_location_idNoJSON request body field — the ID of the location where the receipt was received.
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses HTTP method, success/error status codes (200, 401, 403, 404), defaulting behavior for company_id/project_id, and the Procore API version and resource path. This gives the agent a rich understanding of the operation's behavior without contradicting any annotations.

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 somewhat long but front-loaded with the core purpose and HTTP method, followed by response handling, defaults, and API endpoint. Each sentence adds meaningful information, though a few phrases like 'Acts on the receipt' are vague and could be trimmed.

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?

For a complex tool with 17 parameters, no output schema, and mutation semantics, the description covers HTTP method, response codes, defaults, and endpoint. It lacks explicit information about the request body format (e.g., JSON) and whether any body fields are conditionally required beyond company_id/project_id, but the schema compensates for field-level details.

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?

The input schema covers all 17 parameters with descriptions, so baseline is 3. The description adds value by naming company_id and project_id as required and explaining that these default to procore_set_config values when omitted, which is useful contextual information. However, it does not elaborate on the request body structure, relying on the schema's parameter descriptions.

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 clearly states this endpoint creates a new receipt via HTTP POST, with the verb 'creates' and resource 'receipt' explicitly named. It also provides the full endpoint path, making it distinct from sibling tools for updating, recycling, or getting receipts.

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?

The description clearly implies this tool is for creating a receipt (successful creation returns receipt header details), and the endpoint method POST confirms it. However, it does not explicitly mention when not to use it or contrast it with alternative receipt tools like 'updates_a_receipt_header' or 'recycles_a_receipt'.

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