@mindstone/mcp-server-wise

Wise (formerly TransferWise) MCP server for Model Context Protocol hosts. Check multi-currency balances and exchange rates, review transactions and activity, manage recipients, price transfers with quotes โ and, with an explicit opt-in, create, fund, and cancel transfers โ all through a standardised MCP interface.
Status
- Version: 0.1.1 ยท npm
- Auth: API token (env var, or on disk via
WISE_CONFIG_PATH)
- Tools: 17 (accounts, balances, recipients, quotes, transfers, discovery)
- Surface: cloud-api
- Machine-readable:
STATUS.json
Requirements
- Node.js 20+
- npm
- A Wise API token: wise.com โ Settings โ API tokens
One-click install

After clicking the button, your host will prompt you to fill: WISE_API_TOKEN.
Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (Wise)
{
"mcpServers": {
"Wise": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-wise"
],
"env": {
"WISE_API_TOKEN": ""
}
}
}
}
Quick Start
Install & build
cd <path-to-repo>/connectors/wise
npm install
npm run build
npx (once published)
npx -y @mindstone/mcp-server-wise
Local
Configuration
Environment variables
WISE_API_TOKEN โ Wise API token. Optional if you connect via the configure_wise tool instead; when set, it takes precedence over any stored token.
WISE_ENVIRONMENT โ production (default) or sandbox. Sandbox requires a token created in the Wise sandbox.
WISE_CONFIG_PATH โ path to the config directory that stores the token written by configure_wise (defaults to ~/.mcp/wise).
WISE_REQUEST_TIMEOUT_MS โ outbound request timeout in milliseconds (default 30000).
MCP_HOST_BRIDGE_STATE โ optional path to a host bridge state file used for credential management.
MINDSTONE_REBEL_BRIDGE_STATE โ backwards-compatible alias for MCP_HOST_BRIDGE_STATE.
Host configuration examples
Claude Desktop / Cursor
{
"mcpServers": {
"Wise": {
"command": "npx",
"args": ["-y", "@mindstone/mcp-server-wise"],
"env": {
"WISE_API_TOKEN": "your-wise-api-token"
}
}
}
}
Local development (no npm publish needed)
{
"mcpServers": {
"Wise": {
"command": "node",
"args": ["<path-to-repo>/connectors/wise/dist/index.js"],
"env": {
"WISE_API_TOKEN": "your-wise-api-token"
}
}
}
}
Account management
configure_wise โ Connect a Wise account with an API token (verified against the Wise API before storing)
remove_wise_account โ Disconnect the Wise account
Profiles & balances
list_wise_profiles โ List personal and business profiles accessible with the token; use the ids as profile_id
list_wise_balances โ List balances (multi-currency accounts and savings jars) with amounts per currency
get_wise_balance_statement โ Transaction statement for one balance over a time window (max 469 days)
list_wise_activities โ Chronological activity feed (transfers, card payments, deposits) with status
Exchange rates & quotes
get_wise_exchange_rate โ Current or historic mid-market rate between two currencies
create_wise_quote โ Lock a rate and get exact fees per funding method (does not move money)
Recipients
list_wise_recipients โ List saved recipients (bank accounts), filterable by currency or type
get_wise_recipient โ Full details of one recipient, including bank details
get_wise_recipient_requirements โ Discover the bank detail fields Wise requires for a route, given a quote
create_wise_recipient โ Create a saved recipient (does not move money)
Transfers
list_wise_transfers โ List transfers with filters (status, currencies, created-date window)
get_wise_transfer โ Current state of one transfer
create_wise_transfer โ Create a transfer from a quote to a recipient (not funded yet)
fund_wise_transfer โ Fund a created transfer from a Wise balance (moves money)
cancel_wise_transfer โ Cancel a transfer before the funds_converted stage
Typical payout flow
list_wise_profiles โ pick a profile_id
create_wise_quote โ price the transfer and lock a rate
- (New recipient)
get_wise_recipient_requirements โ create_wise_recipient
create_wise_transfer โ creates the transfer (not funded yet)
fund_wise_transfer โ pays from a Wise balance; this is the step that moves money
Security
- Money movement runs by default.
create_wise_transfer, fund_wise_transfer, and cancel_wise_transfer are always available and declare destructiveHint: true โ gating of individual invocations is the host's tool-approval layer's job, not the connector's. Quote and recipient creation never move money; only fund_wise_transfer debits a balance.
- Untrusted-content envelopes. Strings authored by external parties (recipient names and bank details, transfer references, statement descriptions and merchant names, activity titles, quote notices) are wrapped in
<untrusted-content source="โฆ"> envelopes so the host LLM treats them as data, not instructions. Connector-controlled metadata (ids, amounts, currencies, statuses, timestamps) is returned raw.
- Credential storage. Tokens written by
configure_wise are stored in credentials.json under WISE_CONFIG_PATH with 0600 permissions (config directory 0700). Only the two fixed Wise hosts (api.wise.com, api.wise-sandbox.com) are ever contacted โ there is no arbitrary base-URL override.
- Error hygiene. Vendor error bodies, raw
Retry-After header text, and query-bearing URLs are never written to logs or surfaced in tool errors; tokens never appear in error messages.
- Idempotent transfer creation.
create_wise_transfer uses customer_transaction_id as the Wise idempotency key, so a retry never creates a duplicate transfer.
- Input validation. Currency codes, numeric ids, UUIDs, and date-time windows are validated before any request is made.
Licence
FSL-1.1-MIT โ Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.