Skip to main content
Glama

DirectMailAmerica — Full

Update Workspace Settings

update_workspace_settings
DestructiveIdempotent

Update the acting member's display name, workspace name and/or default sender. fromAddressId must belong to this workspace; null clears it. Requires production write access. Cannot change authentication, membership, credits or permissions. Workspace authentication required.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "update_workspace_settings"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
orgNameNo
fromAddressIdNo

Output Schema

NameRequiredDescriptionDefault
nameNo
errorNo
orgNameNo
operationYes
fromAddressIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Read operation first for financial/mail state and recovery. Optional service fields are absent on failure. Unknown is not zero or permission to retry. Legacy service fields remain available.",
      +  "properties": {
      +    "error": {
      +      "type": "string"
      +    },
      +    "fromAddressId": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "operation": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "amountCents": {
      +          "description": "USD cents. Null means not applicable or not known; never interpret null as zero.",
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "code": {
      +          "type": "string"
      +        },
      +        "currency": {
      +          "const": "USD"
      +        },
      +        "expiresAt": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "fundsState": {
      +          "enum": [
      +            "none",
      +            "reserved",
      +            "debited",
      +            "captured",
      +            "credited",
      +            "refunded",
      +            "unknown",
      +            "simulated"
      +          ]
      +        },
      +        "mailingState": {
      +          "enum": [
      +            "none",
      +            "submitted",
      +            "pending",
      +            "unknown",
      +            "simulated"
      +          ]
      +        },
      +        "receiptId": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "recovery": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "action": {
      +              "enum": [
      +                "none",
      +                "retry_same_request",
      +                "check_existing_job",
      +                "fresh_approval",
      +                "requires_user_action"
      +              ]
      +            },
      +            "instructions": {
      +              "type": "string"
      +            },
      +            "nextTool": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "safeToRetry": {
      +              "type": "boolean"
      +            }
      +          },
      +          "required": [
      +            "action",
      +            "safeToRetry",
      +            "nextTool",
      +            "instructions"
      +          ],
      +          "type": "object"
      +        },
      +        "requestId": {
      +          "type": "string"
      +        },
      +        "status": {
      +          "enum": [
      +            "succeeded",
      +            "failed",
      +            "pending",
      +            "needs_review"
      +          ]
      +        },
      +        "tool": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "requestId",
      +        "tool",
      +        "status",
      +        "code",
      +        "amountCents",
      +        "currency",
      +        "expiresAt",
      +        "receiptId",
      +        "fundsState",
      +        "mailingState",
      +        "recovery"
      +      ],
      +      "type": "object"
      +    },
      +    "orgName": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "operation"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is known. The description adds meaningful context beyond them — the foreign-key constraint on fromAddressId, that null clears the sender, and the production-write/auth prerequisites — but it never explains what makes the call destructive or whether omitted fields are left untouched, which matters for an all-optional mutation.

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 actionable field list, then constraints, in three dense sentences with no filler. It is slightly over-packed into one run-on block, and the phrase 'acting member's display name' is ambiguous as to which parameter it corresponds to.

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, so return values need no explanation, and annotations cover the safety profile. The description supplies the access prerequisites and scope exclusions that structured fields don't, though for a fully-optional destructive mutation it should state partial-update semantics (unspecified fields unchanged) and what an empty call does.

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 0%, so the description must carry the load, and it partly does: it maps the three fields to display name, workspace name, and default sender, and pins down fromAddressId ('must belong to this workspace; null clears it'). However, the name-to-parameter mapping is loose (which field is `name` vs `orgName` is never explicit), and nothing is said about the minLength 1 / maxLength 256 bounds or the pattern constraint.

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 plus the exact editable resources: acting member's display name, workspace name, and default sender. The read/write pairing with sibling get_workspace_settings is inferable from the 'update' verb, but the description never names that alternative, so differentiation relies on the name alone.

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?

Gives real prerequisites ('Requires production write access', 'Workspace authentication required') and hard exclusions (cannot change authentication, membership, credits or permissions), which keeps the agent from attempting out-of-scope edits. It stops short of explicitly routing to siblings like get_workspace_settings for reads or delete_address for address management.

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.

Resources