Skip to main content
Glama

create_soap_message_function

Add a SOAP function (operation) to an existing SOAP Message in sys_soap_message_function (requires WRITE_ENABLED=true)

Instructions

Add a SOAP function (operation) to an existing SOAP Message in sys_soap_message_function (requires WRITE_ENABLED=true)

Input Schema

NameRequiredDescriptionDefault
envelopeNoSOAP XML request envelope template with ${variable} placeholders
soap_actionNoFull SOAP Action header value
function_nameYesWSDL operation name (matches the SOAP operation; used in scripts to call it)
soap_endpointNoSOAP service endpoint URL for this operation
soap_message_sys_idYesParent SOAP Message sys_id

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv1.15.1
    • removedInput schema / properties / active
      Removed value: -{
      -  "description": "Make active immediately (default: true)",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / envelope
      Added value: +{
      +  "description": "SOAP XML request envelope template with ${variable} placeholders",
      +  "type": "string"
      +}
    • changedInput schema / properties / function_name / description
      Previous value: -"WSDL operation name (matches the SOAP operation)"New value: +"WSDL operation name (matches the SOAP operation; used in scripts to call it)"
    • removedInput schema / properties / name
      Removed value: -{
      -  "description": "Function name (used in scripts to call this operation)",
      -  "type": "string"
      -}
    • addedInput schema / properties / soap_endpoint
      Added value: +{
      +  "description": "SOAP service endpoint URL for this operation",
      +  "type": "string"
      +}
    • removedInput schema / properties / soap_message_template
      Removed value: -{
      -  "description": "SOAP XML request body template with ${variable} placeholders",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "soap_message_sys_id",
      -  "name",
      -  "function_name"
      -]New value: +[
      +  "soap_message_sys_id",
      +  "function_name"
      +]
  2. First observedv1.0.2

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and idempotentHint=false, so the mutation profile is covered. The description adds the WRITE_ENABLED=true flag requirement, which is real operational value, but says nothing about duplicate function names, whether an existing function is overwritten, or what is returned.

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?

A single sentence that front-loads the action and resource, then appends the table and the precondition in a tight parenthetical. No filler.

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?

With full schema coverage and annotations carrying the safety/idempotency profile, the description covers purpose and the write gate adequately. Minor gaps remain around the parent-child requirement and the absence of an output schema leaves return behavior unexplained, but nothing essential to invoking it is missing.

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 description coverage is 100%, so envelope, soap_action, function_name, soap_endpoint, and soap_message_sys_id are all documented in the schema. The description adds no semantics beyond that, so the baseline of 3 applies.

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 ('Add'), resource ('SOAP function (operation)'), and parent ('an existing SOAP Message'), plus the target table sys_soap_message_function. It implicitly distinguishes itself from create_soap_message and list_soap_message_functions, though it never names those siblings explicitly.

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?

The 'requires WRITE_ENABLED=true' precondition is a useful gate that tells the agent when the call will fail. However, there is no guidance on choosing this tool over create_soap_message or list_soap_message_functions, and no note on whether the parent message must be created first.

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

Deploy Server

Other Tools