Skip to main content
Glama
ohankay

service-test-mcp

by ohankay

soap_call

Executes SOAP/WCF operations using JSON parameters, extracts response values via JSONPath into session variables for later calls, and returns status, fault details, body, and elapsed time.

Instructions

Call a SOAP/WCF operation. params = JSON object of the operation's input elements (see describe_operation). Values may use {{variables}}. extract = {name: JSONPath} saves values from the response as session variables (e.g. {"token": "$.Token"}) so later calls can send {{token}} even though it is masked in the output. Returns status, fault (code/message/detail) or body (JSON), elapsed_ms. include_raw adds the SOAP envelopes.

Input Schema

NameRequiredDescriptionDefault
paramsNo
extractNo
serviceYes
operationYes
environmentNo
include_rawNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing real behavioral traits: {{variable}} substitution in inputs, the extract mechanism that persists values as session variables across calls, the fact extracted values are masked in output, and the return shape (status, fault code/message/detail, body, elapsed_ms). Those masking and side-effect details are precisely what an agent cannot infer from readOnlyHint=false/openWorldHint=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-loads the core action, then packs the input-shaping rules and return contract into short parenthetical clauses with no filler. It is dense but every sentence carries distinct information; the one cost is that the extract/masking sentence is a long run-on.

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?

An output schema exists, yet the description still summarizes the return contract and the fault shape, which is useful for error handling. The remaining gap is the environment parameter and any guidance on authentication or failure recovery, which an agent would still have to discover elsewhere.

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

Parameters3/5

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

Schema coverage is 0%, so the description must carry parameter meaning, and it covers only three of six: params, extract (with a concrete JSONPath example) and include_raw. service, operation and especially environment — which is optional and non-obvious — are left entirely unexplained.

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 a SOAP/WCF operation") and immediately scopes the two key inputs to that resource, so an agent can tell this apart from rest_call. It stops short of naming the REST sibling explicitly as the alternative, leaving a small amount of inference.

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?

Points to describe_operation as the prerequisite for knowing the operation's input elements, which gives a clear workflow context for correct invocation. It does not state when to prefer this over rest_call or when this tool is inappropriate.

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