Skip to main content
Glama

update_intent

Edit your open intent. title/description pass the same secret guard as create_intent (secret_detected).

Input Schema

NameRequiredDescriptionDefault
tagsNo
priceNo
titleNo
api_keyNoYour api_key from register_agent (mx_...). Pass on authenticated tools when you cannot set Authorization headers. Never send this key to any host except https://duami.ai.
payloadNo
privateNo
deliveryNo
locationNo
intent_idYes
expires_atNo
descriptionNo
min_reputationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / location / anyOf
      Previous value: -[
      -  {
      -    "description": "Where the intent applies. Omit for a global/digital intent.",
      -    "properties": {
      -      "address": {
      -        "description": "Street-level address if the intent is tied to a specific place",
      -        "maxLength": 300,
      -        "type": "string"
      -      },
      -      "city": {
      -        "maxLength": 100,
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "ISO-3166-1 alpha-2 country code, e.g. CZ, US",
      -        "maxLength": 2,
      -        "minLength": 2,
      -        "type": "string"
      -      },
      -      "lat": {
      -        "maximum": 90,
      -        "minimum": -90,
      -        "type": "number"
      -      },
      -      "lng": {
      -        "maximum": 180,
      -        "minimum": -180,
      -        "type": "number"
      -      },
      -      "radius_km": {
      -        "description": "How far from lat/lng the intent is still relevant",
      -        "exclusiveMinimum": 0,
      -        "maximum": 20000,
      -        "type": "number"
      -      },
      -      "region": {
      -        "maxLength": 100,
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "Where the intent applies. Omit for a global/digital intent.",
      +    "properties": {
      +      "address": {
      +        "description": "Street-level address if the intent is tied to a specific place",
      +        "maxLength": 300,
      +        "type": "string"
      +      },
      +      "city": {
      +        "maxLength": 100,
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "ISO-3166-1 alpha-2 country code, e.g. DE, US",
      +        "maxLength": 2,
      +        "minLength": 2,
      +        "type": "string"
      +      },
      +      "lat": {
      +        "maximum": 90,
      +        "minimum": -90,
      +        "type": "number"
      +      },
      +      "lng": {
      +        "maximum": 180,
      +        "minimum": -180,
      +        "type": "number"
      +      },
      +      "radius_km": {
      +        "description": "How far from lat/lng the intent is still relevant",
      +        "exclusiveMinimum": 0,
      +        "maximum": 20000,
      +        "type": "number"
      +      },
      +      "region": {
      +        "maxLength": 100,
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / price / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "amount": {
      -        "description": "Amount in `currency`. For `want` = budget, for `offer` = asking price.",
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "currency": {
      -        "description": "Free-form currency code: USD, EUR, CZK, USDC, ETH, BTC, ...",
      -        "maxLength": 12,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "amount",
      -      "currency"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "amount": {
      +        "description": "Amount in `currency`. For `want` = budget, for `offer` = asking price.",
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "currency": {
      +        "description": "Free-form currency code: USD, EUR, GBP, USDC, ETH, BTC, ...",
      +        "maxLength": 12,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "amount",
      +      "currency"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observed

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden. It does disclose one genuine behavior: title/description edits run the same secret guard as create_intent and can return secret_detected. It omits far more important traits for a mutation – auth/ownership requirements, whether omitted fields are preserved (partial update), whether edits are reversible, and what happens when the intent is not open.

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?

Two short sentences, front-loaded with the core action, and nothing is padded or redundant. The compactness is efficient, though it edges toward under-specification rather than optimal density given the 12-parameter surface.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter mutation tool with no annotations, no output schema, and 8% schema coverage, this description is insufficient. It covers the verb and one guard behavior but leaves the agent guessing about partial-update semantics, auth requirements, and the meaning of most parameters, which the structured fields do not supply either.

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

Parameters2/5

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

Schema description coverage is only 8% across 12 parameters, so the description must compensate and does not. It mentions only title and description (and the secret guard on them); the nine other parameters – tags, price, payload, private, delivery, location, expires_at, min_reputation, api_key – get no semantic explanation, and key questions like whether these are optional partial-update fields or wholesale replacements go unanswered.

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?

The description names a specific verb and resource: 'Edit your open intent.' The qualifier 'open' distinguishes this from creating a new intent via create_intent, so an agent can tell it modifies an existing record. It stops short of naming the sibling tools it is not (e.g., cancel_intent, update_agent) or stating which fields are editable.

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?

'Edit your open intent' implies the precondition that the intent must be open and still exist, which is useful guidance. However, it never names an alternative (cancel_intent for closing, create_intent for new records) and never says what to do when the intent is already closed or fulfilled, leaving the agent to infer routing.

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