Skip to main content
Glama
AIWerk

Wise MCP Server

by AIWerk

@aiwerk/mcp-server-wise

Wise (TransferWise) Personal API MCP server. Read-only: profiles, balances, rates, transfers, recipients.

Tools (v0.1.4, 11 read-only)

  • wise_list_profiles, wise_get_profile

  • wise_list_balances, wise_get_balance

  • wise_get_exchange_rate, wise_get_exchange_rate_history

  • wise_list_transfers, wise_get_transfer

  • wise_list_recipients, wise_get_recipient, wise_get_account_requirements

Write tools (create/fund/cancel transfer, create/delete recipient, create quote) are intentionally not in v0.1.x — they require idempotency + SCA state-machine handling, planned for v0.2.0.

Related MCP server: t212-mcp-server

Configuration

Env var

Required

Default

Purpose

WISE_API_TOKEN

yes

Personal API token from https://wise.com/settings/api-tokens

WISE_API_BASE_URL

no

https://api.wise.com

Sandbox override: https://api.sandbox.transferwise.tech

WISE_API_TIMEOUT_MS

no

30000

Per-request timeout

WISE_API_ALLOW_UNSAFE_BASE_URL

no

Dangerous override — see below

Base URL safety

WISE_API_BASE_URL is locked down by default:

  • Must use https://

  • Host must be on the allowlist: api.wise.com or api.sandbox.transferwise.tech

Violation throws WiseConfigError before any Bearer token leaves the machine. This prevents token exfiltration via a misconfigured env, a bad CI value, or a malicious override.

Dangerous override: set WISE_API_ALLOW_UNSAFE_BASE_URL=1 to bypass both checks (allow http:// and arbitrary hosts). Only use for local testing against a mock server. Never enable this in production or with a real Wise token. The token will be sent to whatever host you configure.

Install

Two ways to run this server — pick the one that fits.

Option 1 — Hosted (zero setup)

No local runtime, no env vars on your machine — your Wise token is AES-256-GCM encrypted server-side via HashiCorp Vault.

  1. Sign up at aiwerkmcp.com.

  2. Install Wise from the catalog and paste your WISE_API_TOKEN.

  3. Point your MCP client (Claude.ai, Cursor, Hermes, …) at your hosted endpoint:

    https://bridge.aiwerk.ch/u/<your-user-id>/mcp

    with your Bearer token.

All 11 read-only tools appear. Install other AIWerk recipes from the same bridge.

Option 2 — Self-hosted (npx)

Run directly — you manage the token:

WISE_API_TOKEN=xxx npx @aiwerk/mcp-server-wise

Or install globally:

npm install -g @aiwerk/mcp-server-wise
WISE_API_TOKEN=xxx mcp-server-wise

Error taxonomy

Errors surface as MCP isError: true responses with distinct prefixes:

  • Timeout: … — request exceeded WISE_API_TIMEOUT_MS (wraps AbortController)

  • Network error: … — fetch rejected (DNS, connection reset, etc.)

  • Configuration error: … — missing token or invalid base URL

  • Wise API error <status> … — HTTP 4xx/5xx response from Wise

Typical flow

  1. wise_list_profiles → pick profileId

  2. wise_list_balances({profileId}) → see available currencies / amounts

  3. wise_get_exchange_rate({source, target}) → check rate

  4. wise_list_transfers({profileId, status}) → history / status lookup

Build / dev notes

  • src/version.ts is generated from package.json by scripts/gen-version.mjs (runs as prebuild / predev / pretest). The file IS committed so a fresh clone compiles immediately.

  • The generator is idempotent: it only writes when the version actually changes. So npm run build on an in-sync tree leaves the working copy clean.

  • Bumping package.json's version and running any of build / dev / test is enough to propagate — no separate manual step on src/version.ts.

About AIWerk MCP

Part of the AIWerk MCP platform — curated, signed MCP recipes served either as npm packages for self-hosting or through our multi-tenant hosted bridge (bridge.aiwerk.ch).

Other AIWerk MCP servers:

Browse the full catalog (20+ recipes including GitHub, Linear, Notion, Stripe, …) at aiwerkmcp.com.

Licence

MIT © 2026 AIWerk

Available Tools

11 tools
wise_get_account_requirementsA
Read-only

Get the required bank-account fields for creating a recipient in a given source→target currency + amount. Fields differ by country: USD routing number, EUR IBAN, GBP sort code, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource currency code (ISO-4217)
targetYesTarget currency code (ISO-4217)
sourceAmountYesSource amount (influences which requirement fields are needed)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint, which the description complements by explaining that fields differ by country (e.g., USD routing number, EUR IBAN). This adds behavioral context beyond the annotations without contradiction.

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 is extremely concise: a single focused sentence with an informative example. Every word adds value, and the core action is front-loaded.

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?

Given full schema coverage, readOnlyHint, openWorldHint, and no output schema, the description is complete for its purpose. It explains what is returned and why, though could mention it's a read operation explicitly (but annotations cover that).

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% with adequate parameter descriptions. The description reiterates the source→target currency+amount context but does not add new meaning beyond the schema. Score at baseline 3 as schema already handles parameter semantics.

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 clearly states the tool retrieves required bank-account fields for creating a recipient based on source/target currency and amount. It distinguishes itself from sibling tools by focusing on account requirements, not balances or transfers.

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 implies when to use the tool (when creating a recipient and needing required fields), but it does not provide explicit guidance on when not to use it or mention alternatives. The sibling list is provided, which helps context but lacks direct exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_get_balanceA
Read-only

Get a specific balance by ID (available amount, reserved amount, last updated).

ParametersJSON Schema
NameRequiredDescriptionDefault
balanceIdYesBalance ID (from list_balances)
profileIdYesProfile ID

TDQS

A4/5.0
Behavior4/5

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

The readOnlyHint annotation already indicates it's a safe read operation. The description adds value by specifying the returned fields (available amount, reserved amount, last updated), providing context beyond the annotation. No contradictions with annotations.

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 is a single sentence that is front-loaded with the core action and resource. Every word is meaningful, with no unnecessary repetition or filler.

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 simple retrieval tool with only two parameters and no output schema, the description adequately explains what the tool does and what it returns. However, it could mention that the return is a single balance object or that it includes more fields than listed (due to openWorldHint).

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?

The input schema has 100% description coverage, with clear descriptions for both parameters (balanceId, profileId). The tool description does not add additional semantic information beyond what the schema already provides, so a baseline score of 3 is appropriate.

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 clearly states the verb 'get', the resource 'specific balance by ID', and lists key fields returned (available amount, reserved amount, last updated). It distinguishes itself from the sibling 'wise_list_balances' which lists all balances, making the purpose unambiguous.

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?

The description implies that this tool is for retrieving a single balance when its ID is known, but it does not explicitly state when to use it over alternatives like 'wise_list_balances' or provide any exclusions or prerequisites. This leaves room for ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_get_exchange_rateA
Read-only

Get the current mid-market exchange rate between two currencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource currency code, ISO-4217 (e.g. EUR, USD, GBP)
targetYesTarget currency code, ISO-4217

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, so description carries low burden. Description adds that the rate is 'current mid-market', which is useful but does not elaborate on side effects, rate limits, or response structure.

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?

Single sentence of 12 words, highly efficient and front-loaded with the core purpose. No unnecessary details.

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?

Tool is simple with two well-documented parameters and no output schema. Description plus annotations provide adequate context, though a note about the return format would improve completeness.

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 covers both parameters with clear descriptions (ISO-4217 codes). Tool description does not add further meaning beyond what schema already provides, so baseline 3 is appropriate.

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?

Description clearly states the tool gets the current mid-market exchange rate between two currencies, specifying verb, resource, and key qualifications. It distinguishes itself from siblings like wise_get_exchange_rate_history and list tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as wise_get_exchange_rate_history or other rate-related tools. Does not mention prerequisites, filtering, or scenarios where this tool is or is not appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_get_exchange_rate_historyB
Read-only

Get historical mid-market exchange rates between two currencies. group: day/hour/minute granularity.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEnd datetime (ISO-8601)
fromYesStart datetime (ISO-8601, e.g. 2026-04-01T00:00:00+0000)
groupNoAggregation granularity. Default day.day
sourceYesSource currency code
targetYesTarget currency code

TDQS

B3.3/5.0
Behavior3/5

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

Annotations provide readOnlyHint=true and openWorldHint=true, so description's mention of 'historical' and 'mid-market' adds minimal behavioral context. No disclosure of return format, pagination, or limits.

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?

Single sentence, concise and front-loaded with key information. Could be slightly improved by separating granularity note.

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?

Tool has 5 parameters, 4 required, and no output schema. Description does not explain return format, time range constraints, or behavior for invalid inputs. Missing important context for a historical data endpoint.

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%, so description adds little beyond schema. The mention of 'group: day/hour/minute granularity' is redundant with the enum. Baseline 3 is appropriate.

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?

Description clearly states 'get historical mid-market exchange rates between two currencies' with specific verb and resource. Mention of granularity distinguishes it from the sibling wise_get_exchange_rate which likely returns a single rate.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus wise_get_exchange_rate or alternatives. No mention of prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_get_profileA
Read-only

Get a profile by ID (name, type, address, KYC status).

ParametersJSON Schema
NameRequiredDescriptionDefault
profileIdYesProfile ID (from list_profiles)

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, indicating safe read operation. The description adds that it returns specific fields, but lacks details on error handling (e.g., if profile not found) or rate limits. Adequate given annotation coverage.

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?

Single sentence that is front-loaded with the verb and resource, immediately clear. No unnecessary words.

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 simple get tool with one parameter and no output schema, the description sufficiently explains what the tool does, what it returns, and the source of the parameter. Complete for the level of complexity.

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% with a clear description for the only parameter (profileId from list_profiles). The tool's description adds no additional parameter meaning beyond restating 'by ID', so it provides minimal enhancement.

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 uses the verb 'Get' with the resource 'profile' and specifies the returned fields (name, type, address, KYC status), clearly distinguishing it from sibling tools like wise_list_profiles which list all profiles.

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?

Indicates that the tool retrieves a profile by ID, implying use when a specific profile ID is known. Notes that the ID comes from list_profiles, providing context. However, it does not explicitly state when not to use it or compare with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_get_recipientA
Read-only

Get a recipient account by ID (bank details, account holder, currency).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesRecipient account ID (from list_recipients)

TDQS

A4.3/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true and openWorldHint=true, so the description carries a lower burden. It adds value by explicitly listing the returned fields (bank details, account holder, currency), which goes beyond the annotations.

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 is a single, front-loaded sentence that efficiently communicates the tool's purpose and what it returns. No wasted words.

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?

Given the tool's simplicity (1 parameter, no output schema), the description is fully adequate. It covers the action, the resource, and the data returned, without needing additional detail.

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?

The input schema provides full description coverage (100%) for the single parameter 'accountId', including the note that it comes from 'list_recipients'. The description does not add additional meaning beyond what the schema already provides.

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 clearly states the verb 'Get', the resource 'recipient account', and specifies the returned data (bank details, account holder, currency). It distinguishes from siblings like 'wise_list_recipients' which lists all recipients.

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 implies the tool is for fetching details of a specific recipient by ID, and mentions the ID comes from 'list_recipients', providing context. However, it does not explicitly state when to use or when not to use this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_get_transferA
Read-only

Get a specific transfer by ID (status, amounts, recipient, quote, timestamps).

ParametersJSON Schema
NameRequiredDescriptionDefault
transferIdYesTransfer ID (from list_transfers)

TDQS

A3.7/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, which the description complements by specifying the returned data categories. However, it does not disclose any additional behavioral traits such as required permissions or rate limits, so it adds some but not substantial transparency.

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?

The description is a single sentence that is front-loaded with the main action and includes supplementary details in parentheses. It is concise with no redundant 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?

Despite the absence of an output schema, the description lists the main categories of returned data (status, amounts, recipient, quote, timestamps), which provides a good overview for a simple get resource. It does not cover error cases or edge scenarios, but is sufficient for a basic read operation.

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?

The schema already provides a description for transferId (from list_transfers), and the tool description merely repeats that it gets 'by ID' without adding new meaning. With 100% schema coverage, the description does not enhance parameter understanding significantly.

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 clearly states the tool retrieves a specific transfer by ID, listing key data fields (status, amounts, recipient, quote, timestamps). This differentiates it from sibling tools like wise_get_profile or wise_get_recipient, so the purpose is specific and unambiguous.

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?

The description implies usage when you have a transfer ID (from list_transfers), but does not explicitly state when to use this tool versus alternatives like wise_list_transfers for multiple transfers, or other get tools. No exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_list_balancesA
Read-only

List balance accounts for a profile. STANDARD = one per currency (the multi-currency account). SAVINGS = jars (user-named buckets). Default returns only STANDARD.

ParametersJSON Schema
NameRequiredDescriptionDefault
typesNoComma-separated balance types. Known values: STANDARD (one per currency), SAVINGS (jars, multiple per currency). Default STANDARD.STANDARD
profileIdYesProfile ID (from list_profiles)

TDQS

A4/5.0
Behavior4/5

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

Annotations indicate readOnlyHint and openWorldHint. The description adds behavioral context (default returns only STANDARD, SAVINGS jars explanation) beyond annotations, with no contradiction.

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?

Two concise sentences front-loading purpose, followed by relevant type details with no unnecessary words.

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?

With only 2 parameters fully described in schema and no output schema, the description covers key behavior (default type) but omits potential details like pagination or response format. Adequate for a simple list tool.

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 covers 100% of parameters with descriptions. The description repeats schema info (STANDARD vs SAVINGS) without adding significant new meaning, so baseline 3 is appropriate.

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 clearly states 'List balance accounts for a profile' with specific details on types (STANDARD vs SAVINGS), effectively distinguishing it from sibling tools like wise_get_balance.

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?

While it explains default behavior (STANDARD) and type definitions, it lacks explicit guidance on when to use this tool versus alternatives like wise_get_balance for retrieving a single balance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_list_profilesA
Read-only

List all profiles (PERSONAL and BUSINESS) accessible with the token. ALWAYS call this first — most other tools need a profileId.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, so description adds little behavioral nuance beyond noting token-based access and importance of profile IDs.

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?

Two tightly written sentences, front-loaded with purpose, no wasted words.

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 zero-parameter tool with annotations covering safety, the description provides complete context (purpose, usage order, role in workflow).

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?

No parameters, so baseline is 4 (description adds non-parameter context about usage, which is adequate).

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?

Description clearly states it lists all profiles (PERSONAL and BUSINESS) accessible with the token, and distinguishes from sibling wise_get_profile by implying it provides IDs needed for other tools.

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?

Explicitly says 'ALWAYS call this first — most other tools need a profileId', providing clear when-to-use and implying alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_list_recipientsA
Read-only

List recipient accounts for a profile. Filter by currency if you only want e.g. EUR beneficiaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNoOptional ISO-4217 filter. Without it, all currencies are returned.
profileIdYesProfile ID

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds no additional behavioral context such as authentication requirements, rate limits, or what happens with invalid profile IDs. The bar is lower due to annotations, but the description adds minimal value beyond them.

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 is two sentences with no wasted words. The first sentence states the primary action, and the second provides a specific usage hint. It is front-loaded and efficient.

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

Completeness3/5

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

The tool is simple (list with optional filter) and has full schema coverage, but no output schema. The description does not mention what is returned (e.g., an array of recipient objects with fields like id, currency, name). For completeness, it would benefit from clarifying the return format, though the annotations and sibling tools provide some implicit context.

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%, so baseline is 3. The description adds an example ('e.g. EUR beneficiaries') for the currency parameter, but the schema already describes it as an optional ISO-4217 filter. The description does not significantly enhance understanding beyond the schema's own descriptions.

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 clearly states 'List recipient accounts for a profile,' using a specific verb and resource. It distinguishes from sibling tools like 'wise_get_recipient' by implying multiple accounts, and the sibling list tools are similarly 'list' operations. The filtering example adds precision.

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?

The description offers guidance on filtering by currency, e.g., 'if you only want e.g. EUR beneficiaries,' which helps the agent decide when to use the currency parameter. However, it does not explicitly state when to use this tool over alternatives like 'wise_get_recipient' or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wise_list_transfersB
Read-only

List transfers for a profile with optional filters. Use status to narrow: incoming_payment_waiting, processing, funds_converted, outgoing_payment_sent, bounced_back, cancelled, funds_refunded.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page (default 10, max 100)
offsetNoPagination offset
statusNoFilter by status. Known values: incoming_payment_waiting, incoming_payment_initiated, processing, funds_converted, outgoing_payment_sent, bounced_back, cancelled, funds_refunded, waiting_recipient_input_to_proceed. Forward-compat escape hatch: any other string is accepted and forwarded verbatim.
profileIdYesProfile ID
createdDateEndNoISO-8601 end timestamp
sourceCurrencyNoFilter by source currency (ISO-4217)
targetCurrencyNoFilter by target currency
createdDateStartNoISO-8601 start timestamp, e.g. 2026-01-01T00:00:00.000Z

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already provide readOnlyHint=true and openWorldHint=true. The description only adds the status filter values, which is minimal behavioral context beyond what annotations convey.

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?

The description is concise with one sentence and a list of status values. It is front-loaded but could be more structured.

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

Completeness3/5

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

The description adequately covers filtering capabilities. However, it does not mention pagination behavior or response format, which would be helpful for an 8-parameter tool without output schema.

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%, so the schema already describes all parameters. The description adds a little value by specifying the usage of the status parameter, but it is not substantial.

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 clearly states 'List transfers for a profile with optional filters', which is specific to the resource and action. It does not explicitly differentiate from sibling tools like wise_list_balances, but the resource type (transfers) is distinct enough.

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?

The description provides guidance on using the status filter by enumerating values. However, it does not discuss when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updatesv0.1.7
    • First observedwise_get_account_requirements
    • First observedwise_get_balance
    • First observedwise_get_exchange_rate
    • First observedwise_get_exchange_rate_history
    • First observedwise_get_profile
    • First observedwise_get_recipient
    • First observedwise_get_transfer
    • First observedwise_list_balances
    • First observedwise_list_profiles
    • First observedwise_list_recipients
    • First observedwise_list_transfers

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct resource and action (e.g., get vs list for balances, profiles, recipients, transfers), with clear separation between exchange rate and exchange rate history. No overlap in purpose.

Naming Consistency5/5

All tools follow a consistent 'wise_' prefix and 'verb_noun' pattern in snake_case. Verbs are uniformly 'get' for single resources and 'list' for collections, providing predictable structure.

Tool Count4/5

11 tools is within the typical 3-15 range and covers the core read operations for balances, rates, profiles, recipients, and transfers. However, the set feels slightly lean given the complexity of the Wise API.

Completeness2/5

The tool set is entirely read-only; there are no create, update, delete, or action operations (e.g., creating transfers, recipients, or initiating payments). This leaves significant gaps for any workflow involving writing data.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables access to Wise API functionality for managing recipients and sending money transfers. Supports listing recipients, creating new recipients, validating account details, and executing money transfers with authentication handling.
    8
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides read-only access to Trading 212 accounts, enabling AI assistants to retrieve portfolio positions, account summaries, instrument data, and transaction history.
    27
    5
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables read-only access to personal bank accounts via the TrueLayer API, allowing querying of accounts, balances, transactions, and generating financial analytics such as spending by category, subscriptions, and monthly summaries.
    9
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to query Wise account balances, exchange rates, transfers, and recipients via the Wise API.
    20
    6
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIWerk/mcp-server-wise'

If you have feedback or need assistance with the MCP directory API, please join our Discord server