The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Server Wise listing page.
Wise (TransferWise) Personal API MCP server. Read-only: profiles, balances, rates, transfers, recipients.
wise_list_profiles, wise_get_profilewise_list_balances, wise_get_balancewise_get_exchange_rate, wise_get_exchange_rate_historywise_list_transfers, wise_get_transferwise_list_recipients, wise_get_recipient, wise_get_account_requirementsWrite 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.
| 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 |
WISE_API_BASE_URL is locked down by default:
https://api.wise.com or api.sandbox.transferwise.techViolation 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=1to bypass both checks (allowhttp://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.
Two ways to run this server — pick the one that fits.
No local runtime, no env vars on your machine — your Wise token is AES-256-GCM encrypted server-side via HashiCorp Vault.
WISE_API_TOKEN.All 11 read-only tools appear. Install other AIWerk recipes from the same bridge.
Run directly — you manage the token:
Or install globally:
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 URLWise API error <status> … — HTTP 4xx/5xx response from Wisewise_list_profiles → pick profileIdwise_list_balances({profileId}) → see available currencies / amountswise_get_exchange_rate({source, target}) → check ratewise_list_transfers({profileId, status}) → history / status lookupsrc/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.npm run build on an in-sync tree leaves the working copy clean.package.json's version and running any of build / dev / test is enough to propagate — no separate manual step on src/version.ts.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.
MIT © 2026 AIWerk