Skip to main content
Glama

engine_request

POST a JSON body to any engine endpoint, validating against OpenAPI first and returning the response plus the exact request for custom pricing calls.

Instructions

POST a JSON body to any engine endpoint (the raw escape hatch).

Args: endpoint: one of the engine's POST paths (see list_endpoints), e.g. /price-ois-swap. body: the full request object exactly as the engine expects it (engine_schema and the quantra://examples/* resources show the shape). The engine does not default omitted fields. validate: check body against the vendored OpenAPI schema first (default True). On failure nothing is sent and problems lists each JSON-pointer path with a message. request_id: optional X-Request-Id to forward; one is generated when absent and reported in engine.request_id.

Returns {ok, endpoint, request, response, engine}; on an engine error ok=false with the HTTP status and the engine's error text verbatim (400 = request wrong, 422 = well-formed but unpriceable).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
endpointYes
validateNo
request_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.4

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: the engine does not default omitted fields, validate=True blocks sending on schema failure with per-JSON-pointer problems, request_id is auto-generated and echoed in engine.request_id, and error semantics are given verbatim (400 = request wrong, 422 = well-formed but unpriceable). This is exactly the kind of behavioral context annotations would otherwise supply.

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 one-line summary is front-loaded before the Args and Returns sections, and every sentence carries actionable information – no filler, no restatement of the name. Dense but well-organized with clear sectioning.

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 generic passthrough tool with a nested free-form body, the description covers input discovery, validation, error taxonomy, and return shape. Although an output schema exists (so return values needn't be explained), the added ok/status/error semantics are useful and nothing required for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it documents all four parameters: endpoint with a concrete path example, body as the full request object with pointers to where its shape is defined, validate's default and failure behavior, and request_id's optional X-Request-Id forwarding. No parameter is left ambiguous.

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?

Opening sentence gives a specific verb (POST), resource (JSON body to an engine endpoint), and positions it precisely among siblings as 'the raw escape hatch', immediately distinguishing it from the high-level price_* tools. An agent can tell what this is without opening the schema.

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 'raw escape hatch' framing plus pointers to list_endpoints, engine_schema, and quantra://examples/* resources tell the agent how to discover valid inputs and when this low-level tool is the right call. It stops short of an explicit when-not (e.g. 'prefer price_ois_swap for standard swaps'), leaving that inference to the agent.

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