Skip to main content
Glama

call_operation

Run a named service operation with only its params; the server handles login, session renewal, retry, variable extraction, and assertions, then returns status and body.

Instructions

Call an operation of a profile service by name. Pass only the operation's own params (see describe_operation); the server adds the envelope and headers, logs in with the test customer when needed, renews the session and retries once if the server ended it. Values may use {{variables}} and {{test_customer.Field}}. test_customer: name from list_test_customers (default: the profile's default). extract = {name: JSONPath} saves session variables; assertions = optional list checked on the response. fresh_session forces a new login. Returns business success/errors, status, body (masked), elapsed_ms.

Input Schema

NameRequiredDescriptionDefault
paramsNo
extractNo
serviceYes
operationYes
assertionsNo
environmentNo
fresh_sessionNo
test_customerNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A4/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that only the operation's own params are sent, the server adds envelope/headers, login-with-test-customer, session renewal with a single retry, body masking, and the exact return shape (success/errors, status, body, elapsed_ms). This is exactly the operational context the readOnly/destructive hints cannot convey.

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?

Dense but front-loaded — behavior, variable interpolation, and the per-parameter hints each appear once with no filler. Slightly compressed prose ('test_customer: name from list_test_customers') costs a little readability.

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 an 8-param, open-world proxy call with an output schema, the description covers mechanics, side effects, retries, and return fields. The one real hole is the unspecified 'environment' parameter, plus no mention of what assertions can express.

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?

With 0% schema coverage, the description carries the burden well: it explains params (operation-scoped only), extract as {name: JSONPath} saving session variables, assertions as a list checked on the response, fresh_session forcing a new login, and test_customer defaults. The 'environment' parameter is never mentioned, and the assertions object shape remains undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Call an operation of a profile service by name') and clarifies that params are the operation's own, with the server adding the envelope. It doesn't explicitly differentiate from the sibling rest_call/soap_call, which an agent could confuse for the same call.

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

Usage Guidelines3/5

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

Points the agent to describe_operation for params and list_test_customers for the test_customer value, and notes the default test customer — useful routing cues. But there is no explicit when-to-use-this-vs-rest_call/soap_call guidance or exclusion, which matters given three call-like siblings.

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