Skip to main content
Glama

Change the currency the user is charged in

set_currency
Idempotent

Changes the currency on the user's account, which every quote and order uses (renewals, new registrations, checkouts). Before quoting a price, ask the user which currency they want to be charged in, unless they already said; the account's current currency is in get_current_user and every currency's prices are in get_prices. Only call this when the user asked for another currency. It also changes the card payment provider (NETS or Stripe) for the new currency. Accounts with agreed partner prices can't change currency here.

Input Schema

NameRequiredDescriptionDefault
currencyCodeYesThe 3-letter currency code the user chose, e.g. EUR, DKK, SEK, NOK, GBP or USD.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior beyond that: switching currency also switches the card payment provider (NETS or Stripe), and accounts with agreed partner prices are blocked. It does not say what happens to in-flight quotes/orders or what an error looks like in the blocked case, so it falls just short of a 5.

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?

Four sentences, all substantive: definition and scope first, then the side effect, then the pre-call workflow guidance, then the limitation. No filler, and the most decision-relevant information is front-loaded.

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

Completeness5/5

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

For a one-parameter mutation tool with no output schema and rich annotations, the description covers everything an agent needs: what changes, the downstream effects, when to invoke it, which tools to consult first, and when it will fail. Nothing material is missing.

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 coverage is 100% and the single currencyCode parameter is already documented with format and examples (EUR, DKK, SEK, NOK, GBP, USD) in the schema. The description adds no format or validation detail beyond what the schema provides, so the baseline of 3 applies.

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?

States a specific verb+resource ('Changes the currency on the user's account') and immediately scopes it by explaining that every quote and order (renewals, new registrations, checkouts) uses it. No sibling tool performs currency changes, and the description also discloses the secondary effect on the card payment provider, so an agent can distinguish this from quoting/pricing tools like get_prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit both ways: 'ask the user which currency they want to be charged in, unless they already said' and 'Only call this when the user asked for another currency.' It routes the agent to supporting tools (get_current_user for the current currency, get_prices for prices) and states an exclusion case (accounts with agreed partner prices cannot change currency here).

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