Skip to main content
Glama

Lovie Company Formation

Update Card Spend Limit

card_update_card_spend_limit
Idempotent

Replace a card's spend limit at the issuer. amount_cents is in CENTS, not dollars — a $500 limit is 50000 — and interval chooses the window the limit resets over. The new limit replaces the old one outright, so this raises spending authority as readily as it lowers it: send the exact amount the user asked for and never round up. Use SPEND_INTERVAL_MONTHLY, SPEND_INTERVAL_DAILY, or SPEND_INTERVAL_TRANSACTION; SPEND_INTERVAL_YEARLY is not supported by the default issuer and is rejected, so convert a yearly figure to a monthly amount and say so.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cardIdYesUUID value wrapper.
intervalNo
amountCentsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cardNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / card / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "accountId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "address": {
      -        "type": "string"
      -      },
      -      "assignedTo": {
      -        "type": "string"
      -      },
      -      "cardholder": {
      -        "type": "string"
      -      },
      -      "companyId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "createdAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "currentSpendCents": {
      -        "type": "string"
      -      },
      -      "expiry": {
      -        "type": "string"
      -      },
      -      "fullAddress": {
      -        "type": "string"
      -      },
      -      "id": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "last4": {
      -        "type": "string"
      -      },
      -      "network": {
      -        "type": "string"
      -      },
      -      "nickname": {
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "spendInterval": {
      -        "enum": [
      -          "SPEND_INTERVAL_UNSPECIFIED",
      -          "SPEND_INTERVAL_DAILY",
      -          "SPEND_INTERVAL_MONTHLY",
      -          "SPEND_INTERVAL_YEARLY",
      -          "SPEND_INTERVAL_TRANSACTION"
      -        ],
      -        "type": "string"
      -      },
      -      "spendLimitCents": {
      -        "type": "string"
      -      },
      -      "status": {
      -        "enum": [
      -          "CARD_STATUS_UNSPECIFIED",
      -          "CARD_STATUS_ACTIVE",
      -          "CARD_STATUS_FROZEN",
      -          "CARD_STATUS_CANCELLED"
      -        ],
      -        "type": "string"
      -      },
      -      "terminatedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "updatedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "userId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "zip": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "companyId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "accountId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "address": {
      +        "type": "string"
      +      },
      +      "assignedTo": {
      +        "type": "string"
      +      },
      +      "cardholder": {
      +        "type": "string"
      +      },
      +      "companyId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "createdAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "expiry": {
      +        "type": "string"
      +      },
      +      "fullAddress": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "last4": {
      +        "type": "string"
      +      },
      +      "network": {
      +        "type": "string"
      +      },
      +      "nickname": {
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "spendInterval": {
      +        "enum": [
      +          "SPEND_INTERVAL_UNSPECIFIED",
      +          "SPEND_INTERVAL_DAILY",
      +          "SPEND_INTERVAL_MONTHLY",
      +          "SPEND_INTERVAL_YEARLY",
      +          "SPEND_INTERVAL_TRANSACTION"
      +        ],
      +        "type": "string"
      +      },
      +      "spendLimitCents": {
      +        "type": "string"
      +      },
      +      "status": {
      +        "enum": [
      +          "CARD_STATUS_UNSPECIFIED",
      +          "CARD_STATUS_ACTIVE",
      +          "CARD_STATUS_FROZEN",
      +          "CARD_STATUS_CANCELLED"
      +        ],
      +        "type": "string"
      +      },
      +      "terminatedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "updatedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "userId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "zip": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "companyId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed5 schema fields changed
    • changedInput schema / properties / interval / enum
      Previous value: -[
      -  "SPEND_INTERVAL_UNSPECIFIED",
      -  "SPEND_INTERVAL_DAILY",
      -  "SPEND_INTERVAL_MONTHLY",
      -  "SPEND_INTERVAL_YEARLY",
      -  "SPEND_INTERVAL_TRANSACTION"
      -]New value: +[
      +  "SPEND_INTERVAL_DAILY",
      +  "SPEND_INTERVAL_MONTHLY",
      +  "SPEND_INTERVAL_YEARLY",
      +  "SPEND_INTERVAL_TRANSACTION"
      +]
    • addedOutput schema / properties / card / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "accountId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "address": {
      +        "type": "string"
      +      },
      +      "assignedTo": {
      +        "type": "string"
      +      },
      +      "cardholder": {
      +        "type": "string"
      +      },
      +      "companyId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "createdAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "currentSpendCents": {
      +        "type": "string"
      +      },
      +      "expiry": {
      +        "type": "string"
      +      },
      +      "fullAddress": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "last4": {
      +        "type": "string"
      +      },
      +      "network": {
      +        "type": "string"
      +      },
      +      "nickname": {
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "spendInterval": {
      +        "enum": [
      +          "SPEND_INTERVAL_UNSPECIFIED",
      +          "SPEND_INTERVAL_DAILY",
      +          "SPEND_INTERVAL_MONTHLY",
      +          "SPEND_INTERVAL_YEARLY",
      +          "SPEND_INTERVAL_TRANSACTION"
      +        ],
      +        "type": "string"
      +      },
      +      "spendLimitCents": {
      +        "type": "string"
      +      },
      +      "status": {
      +        "enum": [
      +          "CARD_STATUS_UNSPECIFIED",
      +          "CARD_STATUS_ACTIVE",
      +          "CARD_STATUS_FROZEN",
      +          "CARD_STATUS_CANCELLED"
      +        ],
      +        "type": "string"
      +      },
      +      "terminatedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "updatedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "userId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "zip": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "companyId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / card / properties
      Removed value: -{
      -  "accountId": {
      -    "description": "UUID value wrapper.",
      -    "properties": {
      -      "value": {
      -        "format": "uuid",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "address": {
      -    "type": "string"
      -  },
      -  "assignedTo": {
      -    "type": "string"
      -  },
      -  "cardholder": {
      -    "type": "string"
      -  },
      -  "companyId": {
      -    "description": "UUID value wrapper.",
      -    "properties": {
      -      "value": {
      -        "format": "uuid",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "createdAt": {
      -    "format": "date-time",
      -    "type": "string"
      -  },
      -  "currentSpendCents": {
      -    "type": "string"
      -  },
      -  "expiry": {
      -    "type": "string"
      -  },
      -  "fullAddress": {
      -    "type": "string"
      -  },
      -  "id": {
      -    "description": "UUID value wrapper.",
      -    "properties": {
      -      "value": {
      -        "format": "uuid",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "last4": {
      -    "type": "string"
      -  },
      -  "network": {
      -    "type": "string"
      -  },
      -  "nickname": {
      -    "type": "string"
      -  },
      -  "provider": {
      -    "type": "string"
      -  },
      -  "spendInterval": {
      -    "enum": [
      -      "SPEND_INTERVAL_UNSPECIFIED",
      -      "SPEND_INTERVAL_DAILY",
      -      "SPEND_INTERVAL_MONTHLY",
      -      "SPEND_INTERVAL_YEARLY",
      -      "SPEND_INTERVAL_TRANSACTION"
      -    ],
      -    "type": "string"
      -  },
      -  "spendLimitCents": {
      -    "type": "string"
      -  },
      -  "status": {
      -    "enum": [
      -      "CARD_STATUS_UNSPECIFIED",
      -      "CARD_STATUS_ACTIVE",
      -      "CARD_STATUS_FROZEN",
      -      "CARD_STATUS_CANCELLED"
      -    ],
      -    "type": "string"
      -  },
      -  "terminatedAt": {
      -    "format": "date-time",
      -    "type": "string"
      -  },
      -  "updatedAt": {
      -    "format": "date-time",
      -    "type": "string"
      -  },
      -  "userId": {
      -    "description": "UUID value wrapper.",
      -    "properties": {
      -      "value": {
      -        "format": "uuid",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "zip": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / card / required
      Removed value: -[
      -  "id",
      -  "companyId"
      -]
    • removedOutput schema / properties / card / type
      Removed value: -"object"
  3. Added

TDQS

A4.5/5.0
Behavior4/5

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

Beyond the annotations (openWorldHint, idempotentHint, destructiveHint), the description explains that the new limit replaces the old one outright, that this raises or lowers spending authority equally, and that SPEND_INTERVAL_YEARLY is rejected by the default issuer. This is valuable behavioral context that the annotations do not provide.

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?

The description front-loads the purpose in the first sentence, then follows with only essential caveats. Each sentence earns its place: the cents warning, the replacement behavior, and the interval limitation are all critical for correct usage, and nothing is redundant.

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?

A 3-parameter mutation tool with 'above' annotations and an output schema, the description covers the most critical operational details: exact amount semantics, interval values, replace semantics, and unsupported-yearly handling. It could also mention auth/rate-limit caveats, but those are not present in the schema or annotations and are not essential for basic invocation.

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

Parameters5/5

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

Schema description coverage is only 33% (only cardId has a trivial wrapper description), and the description fully compensates: it explains amount_cents is in CENTS with an example, what interval means, which enum values are supported, and that SPEND_INTERVAL_YEARLY requires conversion to monthly. This goes well beyond the schema's bare property definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: "Replace a card's spend limit at the issuer." This clearly distinguishes it from sibling read/freeze/unfreeze card tools, and the title 'Update Card Spend Limit' is consistent with the described action.

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?

The description gives concrete usage context: tells the agent that amount_cents is in cents, that the limit replaces the old one, that exact amounts should be sent, and that SPEND_INTERVAL_YEARLY is unsupported and should be converted to monthly. It does not explicitly name alternative tools, but the guidance is specific and clear enough for a caller.

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.