Skip to main content
Glama

Veqen: AI cost monitoring and protection

Set an agent's mandate

set_agent_policy

What an agent may spend without a person (agent '*': the default for agents without their own): per_action_usd (refused above), monthly_usd and approval_over_usd (a person approves above), merchants (payees it may pay on its own; empty: any), blocked (never), paused, auto_freeze (freeze its cards when an incident needs action; the protection role). Only the fields given change; a limit of 0 removes it. remove true deletes it. Confirm with the user first.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "agent": "<agent>"
    },
    "name": "set_agent_policy"
  }
}

Input Schema

NameRequiredDescriptionDefault
noteNo
agentYes
ownerNo
pausedNo
removeNo
blockedNo
merchantsNo
auto_freezeNo
monthly_usdNo
per_action_usdNo
approval_over_usdNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

With annotations only declaring the mutation/idempotency profile, the description adds genuinely new behavior: merge semantics (“Only the fields given change”), zero-as-deletion for limits, whole-policy removal via remove=true, and a required user confirmation. It omits permission/ownership requirements and the blast radius of changing a policy while actions are in flight.

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?

A single dense but front-loaded paragraph where nearly every clause carries a distinct field rule; nothing is redundant filler. It is compressed to the edge of readability in places (“the protection role”, “never” as a standalone gloss for blocked).

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 an 11-parameter mutation tool with an output schema (so return values needn't be explained), it covers merge behavior, deletion, defaults, and the confirmation step. The remaining gap is that owner/note are unaddressed and there is no cross-reference to overlapping sibling tools, which matters for a policy tool in a crowded policy surface.

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

Parameters4/5

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

Schema description coverage is 0%, so the description carries the full burden, and it defines 9 of 11 parameters in concrete terms (per_action_usd “refused above”, approval_over_usd “a person approves above”, empty merchants = any, '*' default, 0 removes). It never explains owner or note, and its parentheticals are telegraphic, but it substantially compensates for the empty schema.

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?

Opens by defining the actual mandate (“What an agent may spend without a person”) and enumerates the specific knobs the policy controls, so the resource and effect are unmistakable. It never names a sibling it differs from, however, leaving the agent to distinguish it from set_budget, limits, or change_protection_settings on its own.

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?

Usage is only implied through field semantics; there is one procedural instruction (“Confirm with the user first”) but no statement of when to pick this over the many adjacent policy tools (set_budget, protection_settings, agent_cards). The '*' default hint gives partial routing help but no exclusions.

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