Skip to main content
Glama

Precoro MCP by usefulapi

Create a purchase requisition (draft)

precoro_create_purchase_requisition
Destructive

WRITE: create a purchase requisition in draft (open) status for the key user; it is not submitted for approval until precoro_submit_document is called. Needs a location id, a currency, a delivery date and at least one item (a catalog item_id, or a name with quantity and price). Find ids with precoro_list_reference_data (locations, legal_entities, document_custom_fields) and precoro_list_items. All required document custom fields (for example department or project) must be passed in custom_fields. Returns the new idn and id. POST /purchaserequisitions.

Input Schema

NameRequiredDescriptionDefault
noteNoPlain-text note (stored as HTML).
itemsYes
currencyYes
budget_idNoBudget line id.
location_idYesLocation id (must be accessible to the key user).
custom_fieldsNoDocument custom field values (department, project, GL account...). Every required one must be given.
required_dateYesDelivery date, yyyy-mm-dd.
legal_entity_idNoRequired when the company uses legal entities.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: draft/open state, the approval lifecycle dependency, the exact endpoint, and the returned identifiers (idn and id). This is meaningful detail even though annotations already declare readOnlyHint=false and destructiveHint=true.

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?

Front-loaded with the 'WRITE:' marker and the draft-status outcome, with no filler sentences. It is dense and parenthetical-heavy, but every clause carries actionable information.

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?

Despite no output schema, the description states the return values (idn and id) and fully enumerates the required inputs and their sources. An agent could call this correctly without further exploration.

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 description adds real meaning the schema cannot express: the item line accepts either a catalog item_id or a name with quantity and price, and all required document custom fields must be supplied in custom_fields. It does not mention budget_id, legal_entity_id, note, or supplier_id, though the schema covers those at 75% coverage.

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?

Opens with 'WRITE: create a purchase requisition in draft (open) status', giving an explicit verb, resource, and resulting state. It immediately distinguishes itself from precoro_submit_document by saying the document is not submitted for approval until that tool is called.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states when to use this tool (creating a draft) and what to do next (call precoro_submit_document to submit). It also routes the agent to the correct helper tools for resolving ids (precoro_list_reference_data, precoro_list_items), which no schema field conveys.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.