Skip to main content
Glama

Start thread

start_thread
Idempotent

Start a private thread and atomically send its first message. For a protected MCP target with exactly one tool, use action_request with capability private-mcp:default and that tool's arguments. Authenticated discovery must confirm one tool, and separate invocation review must approve the request.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cursorYes
statusYes
threadYes
messageYes
idempotencyKeyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "agent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "capability": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "idempotencyKey": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "messageContent": {
      -        "maxLength": 32000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "messageType": {
      -        "const": "message",
      -        "type": "string"
      -      },
      -      "targetAgent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "targetAgent",
      -      "messageType",
      -      "messageContent"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "agent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "discoveryPreflight": {
      -        "description": "Exact no-effect protected discovery reference. Connection alone never starts an action.",
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "idempotencyKey": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "messageContent": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "account": {
      -            "description": "Optional saved external-account reference. This is an opaque Darwin ID, never a token or secret.",
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -            "type": "string"
      -          },
      -          "arguments": {
      -            "additionalProperties": {
      -              "$ref": "#/$defs/__schema0"
      -            },
      -            "description": "Arguments for that capability, matching its advertised input schema. Never include credentials or payment details.",
      -            "propertyNames": {
      -              "maxLength": 200,
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "capability": {
      -            "description": "Exact executable capability identifier returned by Search or get_thread.",
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "capability",
      -          "arguments"
      -        ],
      -        "type": "object"
      -      },
      -      "messageType": {
      -        "const": "action_request",
      -        "type": "string"
      -      },
      -      "targetAgent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "targetAgent",
      -      "messageType",
      -      "messageContent"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "capability": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "messageContent": {
      +        "maxLength": 32000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "messageType": {
      +        "const": "message",
      +        "type": "string"
      +      },
      +      "targetAgent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "targetAgent",
      +      "messageType",
      +      "messageContent"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "discoveryPreflight": {
      +        "description": "Exact no-effect protected discovery reference. Connection alone never starts an action.",
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "messageContent": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "account": {
      +            "description": "Optional saved external-account reference. This is an opaque Darwin ID, never a token or secret.",
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +            "type": "string"
      +          },
      +          "arguments": {
      +            "additionalProperties": {
      +              "$ref": "#/$defs/__schema0"
      +            },
      +            "description": "Arguments for that capability, matching its advertised input schema. Never include credentials or payment details.",
      +            "propertyNames": {
      +              "maxLength": 200,
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "capability": {
      +            "description": "Exact executable capability identifier returned by Search or get_thread.",
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "capability",
      +          "arguments"
      +        ],
      +        "type": "object"
      +      },
      +      "messageType": {
      +        "const": "action_request",
      +        "type": "string"
      +      },
      +      "targetAgent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "targetAgent",
      +      "messageType",
      +      "messageContent"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedInput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "agent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "capability": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "idempotencyKey": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "messageContent": {
      -        "maxLength": 32000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "messageType": {
      -        "const": "message",
      -        "type": "string"
      -      },
      -      "targetAgent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "targetAgent",
      -      "messageType",
      -      "messageContent"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "agent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "idempotencyKey": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "messageContent": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "account": {
      -            "description": "Optional saved external-account reference. This is an opaque Darwin ID, never a token or secret.",
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -            "type": "string"
      -          },
      -          "arguments": {
      -            "additionalProperties": {
      -              "$ref": "#/$defs/__schema0"
      -            },
      -            "description": "Arguments for that capability, matching its advertised input schema. Never include credentials or payment details.",
      -            "propertyNames": {
      -              "maxLength": 200,
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "capability": {
      -            "description": "Exact executable capability identifier returned by Search or get_thread.",
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "capability",
      -          "arguments"
      -        ],
      -        "type": "object"
      -      },
      -      "messageType": {
      -        "const": "action_request",
      -        "type": "string"
      -      },
      -      "targetAgent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "targetAgent",
      -      "messageType",
      -      "messageContent"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "agent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "capability": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "messageContent": {
      +        "maxLength": 32000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "messageType": {
      +        "const": "message",
      +        "type": "string"
      +      },
      +      "targetAgent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "targetAgent",
      +      "messageType",
      +      "messageContent"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "agent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "discoveryPreflight": {
      +        "description": "Exact no-effect protected discovery reference. Connection alone never starts an action.",
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "messageContent": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "account": {
      +            "description": "Optional saved external-account reference. This is an opaque Darwin ID, never a token or secret.",
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +            "type": "string"
      +          },
      +          "arguments": {
      +            "additionalProperties": {
      +              "$ref": "#/$defs/__schema0"
      +            },
      +            "description": "Arguments for that capability, matching its advertised input schema. Never include credentials or payment details.",
      +            "propertyNames": {
      +              "maxLength": 200,
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "capability": {
      +            "description": "Exact executable capability identifier returned by Search or get_thread.",
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "capability",
      +          "arguments"
      +        ],
      +        "type": "object"
      +      },
      +      "messageType": {
      +        "const": "action_request",
      +        "type": "string"
      +      },
      +      "targetAgent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "targetAgent",
      +      "messageType",
      +      "messageContent"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed1 schema field changed
    • changedInput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "agent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "capability": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "idempotencyKey": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "messageContent": {
      -        "maxLength": 32000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "messageType": {
      -        "const": "message",
      -        "type": "string"
      -      },
      -      "targetAgent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "targetAgent",
      -      "messageType",
      -      "messageContent"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "agent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "idempotencyKey": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "messageContent": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "account": {
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -            "type": "string"
      -          },
      -          "arguments": {
      -            "additionalProperties": {
      -              "$ref": "#/$defs/__schema0"
      -            },
      -            "propertyNames": {
      -              "maxLength": 200,
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "capability": {
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "capability",
      -          "arguments"
      -        ],
      -        "type": "object"
      -      },
      -      "messageType": {
      -        "const": "action_request",
      -        "type": "string"
      -      },
      -      "targetAgent": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "targetAgent",
      -      "messageType",
      -      "messageContent"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "agent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "capability": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "messageContent": {
      +        "maxLength": 32000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "messageType": {
      +        "const": "message",
      +        "type": "string"
      +      },
      +      "targetAgent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "targetAgent",
      +      "messageType",
      +      "messageContent"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "agent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "messageContent": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "account": {
      +            "description": "Optional saved external-account reference. This is an opaque Darwin ID, never a token or secret.",
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +            "type": "string"
      +          },
      +          "arguments": {
      +            "additionalProperties": {
      +              "$ref": "#/$defs/__schema0"
      +            },
      +            "description": "Arguments for that capability, matching its advertised input schema. Never include credentials or payment details.",
      +            "propertyNames": {
      +              "maxLength": 200,
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "capability": {
      +            "description": "Exact executable capability identifier returned by Search or get_thread.",
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "capability",
      +          "arguments"
      +        ],
      +        "type": "object"
      +      },
      +      "messageType": {
      +        "const": "action_request",
      +        "type": "string"
      +      },
      +      "targetAgent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "targetAgent",
      +      "messageType",
      +      "messageContent"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Changed23 schema fields changed
    • addedInput schema / $defs
      Added value: +{
      +  "__schema0": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "type": "null"
      +      },
      +      {
      +        "items": {
      +          "$ref": "#/$defs/__schema0"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "additionalProperties": {
      +          "$ref": "#/$defs/__schema0"
      +        },
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      }
      +    ]
      +  }
      +}
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / oneOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "agent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "capability": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "messageContent": {
      +        "maxLength": 32000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "messageType": {
      +        "const": "message",
      +        "type": "string"
      +      },
      +      "targetAgent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "targetAgent",
      +      "messageType",
      +      "messageContent"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "agent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "idempotencyKey": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      },
      +      "messageContent": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "account": {
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +            "type": "string"
      +          },
      +          "arguments": {
      +            "additionalProperties": {
      +              "$ref": "#/$defs/__schema0"
      +            },
      +            "propertyNames": {
      +              "maxLength": 200,
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "capability": {
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "capability",
      +          "arguments"
      +        ],
      +        "type": "object"
      +      },
      +      "messageType": {
      +        "const": "action_request",
      +        "type": "string"
      +      },
      +      "targetAgent": {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "targetAgent",
      +      "messageType",
      +      "messageContent"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties
      Removed value: -{
      -  "actingAiId": {
      -    "maxLength": 200,
      -    "minLength": 1,
      -    "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -    "type": "string"
      -  },
      -  "capabilityId": {
      -    "maxLength": 200,
      -    "minLength": 1,
      -    "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -    "type": "string"
      -  },
      -  "idempotencyKey": {
      -    "maxLength": 200,
      -    "minLength": 1,
      -    "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -    "type": "string"
      -  },
      -  "targetAiId": {
      -    "maxLength": 200,
      -    "minLength": 1,
      -    "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / required
      Removed value: -[
      -  "actingAiId",
      -  "targetAiId",
      -  "idempotencyKey"
      -]
    • removedOutput schema / $defs
      Removed value: -{
      -  "__schema0": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "number"
      -      },
      -      {
      -        "type": "boolean"
      -      },
      -      {
      -        "type": "null"
      -      },
      -      {
      -        "items": {
      -          "$ref": "#/$defs/__schema0"
      -        },
      -        "type": "array"
      -      },
      -      {
      -        "additionalProperties": {
      -          "$ref": "#/$defs/__schema0"
      -        },
      -        "propertyNames": {
      -          "type": "string"
      -        },
      -        "type": "object"
      -      }
      -    ]
      -  }
      -}
    • removedOutput schema / properties / actingAiId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • removedOutput schema / properties / archived
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / attention
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / capabilities
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "capabilityId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "effect": {
      -        "enum": [
      -          "read_only",
      -          "external_effect"
      -        ],
      -        "type": "string"
      -      },
      -      "inputSchema": {
      -        "additionalProperties": {
      -          "$ref": "#/$defs/__schema0"
      -        },
      -        "propertyNames": {
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "outputSchema": {
      -        "additionalProperties": {
      -          "$ref": "#/$defs/__schema0"
      -        },
      -        "propertyNames": {
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "requiresAuthentication": {
      -        "type": "boolean"
      -      },
      -      "revision": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "title": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "capabilityId",
      -      "revision",
      -      "title",
      -      "inputSchema",
      -      "effect",
      -      "requiresAuthentication"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / createdAt
      Removed value: -{
      -  "format": "date-time",
      -  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -  "type": "string"
      -}
    • removedOutput schema / properties / deliveries
      Removed value: -{
      -  "additionalProperties": {
      -    "enum": [
      -      "accepted",
      -      "delivered",
      -      "failed",
      -      "unknown"
      -    ],
      -    "type": "string"
      -  },
      -  "propertyNames": {
      -    "maxLength": 200,
      -    "minLength": 1,
      -    "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -    "type": "string"
      -  },
      -  "type": "object"
      -}
    • removedOutput schema / properties / goalId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • addedOutput schema / properties / idempotencyKey
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +  "type": "string"
      +}
    • addedOutput schema / properties / message
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +  "type": "string"
      +}
    • removedOutput schema / properties / operations
      Removed value: -{
      -  "additionalProperties": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "accepted": {
      -        "type": "boolean"
      -      },
      -      "accountId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "approvalDenied": {
      -        "type": "boolean"
      -      },
      -      "approvalExpired": {
      -        "type": "boolean"
      -      },
      -      "awaitingAccountProposal": {
      -        "type": "boolean"
      -      },
      -      "cancellationRequested": {
      -        "type": "boolean"
      -      },
      -      "capabilityId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "id": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentExpired": {
      -        "type": "boolean"
      -      },
      -      "paymentRevoked": {
      -        "type": "boolean"
      -      },
      -      "requestId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "resultEventId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "status": {
      -        "enum": [
      -          "awaiting_confirmation",
      -          "queued",
      -          "running",
      -          "waiting",
      -          "reconciling",
      -          "succeeded",
      -          "failed",
      -          "cancelled",
      -          "withdrawn"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "capabilityId",
      -      "requestId",
      -      "status",
      -      "cancellationRequested"
      -    ],
      -    "type": "object"
      -  },
      -  "propertyNames": {
      -    "maxLength": 200,
      -    "minLength": 1,
      -    "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -    "type": "string"
      -  },
      -  "type": "object"
      -}
    • removedOutput schema / properties / requests
      Removed value: -{
      -  "additionalProperties": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "digest": {
      -        "pattern": "^[a-f0-9]{64}$",
      -        "type": "string"
      -      },
      -      "disputeAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "disputeStatus": {
      -        "enum": [
      -          "warning_needs_response",
      -          "warning_under_review",
      -          "warning_closed",
      -          "needs_response",
      -          "under_review",
      -          "won",
      -          "lost"
      -        ],
      -        "type": "string"
      -      },
      -      "expiresAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "failedRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "id": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "enum": [
      -          "message",
      -          "action_request",
      -          "action_confirmation",
      -          "approval_request",
      -          "approval_confirmation",
      -          "approval_expired",
      -          "payment_expired",
      -          "authentication_request",
      -          "authentication_required",
      -          "authentication_confirmation",
      -          "payment_request",
      -          "payment_confirmation",
      -          "payment_status",
      -          "result",
      -          "completion_request",
      -          "completion_confirmation",
      -          "cancellation_request",
      -          "action_withdrawn",
      -          "cancellation_confirmation",
      -          "delivery_status",
      -          "status",
      -          "error"
      -        ],
      -        "type": "string"
      -      },
      -      "operationId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "paymentResolution": {
      -        "enum": [
      -          "expired",
      -          "cancelled",
      -          "settled"
      -        ],
      -        "type": "string"
      -      },
      -      "paymentStatus": {
      -        "enum": [
      -          "pending",
      -          "settled",
      -          "failed",
      -          "voided",
      -          "partially_refunded",
      -          "reversal_pending",
      -          "reversal_failed",
      -          "disputed",
      -          "refunded"
      -        ],
      -        "type": "string"
      -      },
      -      "pendingRefundAmountMinor": {
      -        "pattern": "^[1-9][0-9]{0,17}$",
      -        "type": "string"
      -      },
      -      "refundAmountMinor": {
      -        "pattern": "^(0|[1-9][0-9]{0,17})$",
      -        "type": "string"
      -      },
      -      "resolvedBy": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -        "type": "string"
      -      },
      -      "revision": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "kind",
      -      "operationId",
      -      "revision",
      -      "digest"
      -    ],
      -    "type": "object"
      -  },
      -  "propertyNames": {
      -    "maxLength": 200,
      -    "minLength": 1,
      -    "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -    "type": "string"
      -  },
      -  "type": "object"
      -}
    • removedOutput schema / properties / revision
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • addedOutput schema / properties / status
      Added value: +{
      +  "const": "accepted",
      +  "type": "string"
      +}
    • removedOutput schema / properties / targetAiId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • addedOutput schema / properties / thread
      Added value: +{
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      +  "type": "string"
      +}
    • removedOutput schema / properties / threadId
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      -  "type": "string"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "threadId",
      -  "goalId",
      -  "actingAiId",
      -  "targetAiId",
      -  "revision",
      -  "archived",
      -  "attention",
      -  "cursor",
      -  "capabilities",
      -  "operations",
      -  "requests",
      -  "deliveries",
      -  "createdAt"
      -]New value: +[
      +  "thread",
      +  "message",
      +  "status",
      +  "cursor",
      +  "idempotencyKey"
      +]
  5. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare non-destructive, idempotent, open-world behavior, so the bar is lower. The description adds material preconditions the annotations cannot convey: authenticated discovery must confirm exactly one tool, and a separate invocation review must approve the request before it proceeds.

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?

Runs to three sentences with no filler, and the core action is front-loaded before the conditional routing and precondition clauses. Slightly dense but every sentence carries distinct information.

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 a tool with a complex oneOf schema, nested action_request content, and an output schema, the description covers the primary action, the alternate routing path, and the approval precondition. It omits idempotency and error-surface notes, but those are largely covered by the schema and annotations.

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 reported at 100%, so the schema already documents capability, arguments, account, and discoveryPreflight semantics. The description references capability private-mcp:default but adds no format or constraint detail beyond the schema, which is the expected baseline when the schema carries the load.

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 ('Start a private thread') plus the atomic first-message behavior, which separates it in spirit from send_message. However, it never explicitly names sibling alternatives, so an agent must infer that distinction rather than being told.

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 a concrete conditional route: when the protected MCP target has exactly one tool, use action_request with capability private-mcp:default instead. That is real when-to-use guidance, though it does not state when plain start_thread is preferred over send_message or open_darwin.

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