Wise Personal API: profiles, balances, multi-currency rates, transfers, recipients (read-only).
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.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.
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
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
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @aiwerk/mcp-server-wiseMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-aiwerk-mcp-server-wise": {
"command": "npx",
"args": [
"-y",
"@aiwerk/mcp-server-wise"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceio.github.AIWerk/mcp-server-wise works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.