# io.github.codespar/mcp-wise (npm · @codespar/mcp-wise)

MCP server for Wise — multi-currency accounts, FX, international transfers, quotes, recipients

- Trust score: 69/100 (medium)
- Change this week: +23
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

- npm · `@codespar/mcp-wise`: 69/100 (this document), [markdown](https://verifymcp.io/servers/codespar-mcp-wise/codespar-mcp-wise.md), [page](https://verifymcp.io/servers/codespar-mcp-wise/codespar-mcp-wise)

## Channel facts

- Registry: `npm`
- Package: `@codespar/mcp-wise`
- Version: `0.1.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-04.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 42 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 75/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1648 tokens (~78/item across 21 items; 21 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add codespar-mcp-wise -- npx -y @codespar/mcp-wise
```

### Codex

```bash
codex mcp add codespar-mcp-wise -- npx -y @codespar/mcp-wise
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "codespar-mcp-wise": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@codespar/mcp-wise"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add codespar-mcp-wise --command npx --arg -y --arg @codespar/mcp-wise
```

### Hermes

```yaml
mcp_servers:
  codespar-mcp-wise:
    command: "npx"
    args: ["-y", "@codespar/mcp-wise"]
```

### Other

```json
{
  "mcpServers": {
    "codespar-mcp-wise": {
      "command": "npx",
      "args": [
        "-y",
        "@codespar/mcp-wise"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-04 (score 69, +4)

- [functional improvement] Stability: unverified → 0.30

### 2026-08-02 (score 65, +29)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional] Licence: MIT

### 2026-08-01 (score 36, +31)

- [security improvement] Malware scan: unverified → pass
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 5, −19)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 24, −22)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (21)

### `list_profiles` (~40 tokens)

List Wise profiles (personal + business) accessible to this API token. Most other endpoints are scoped to a profile id, so call this first to discover yours.

### `get_profile` (~27 tokens)

Fetch a single Wise profile by id.

Input parameters:

- `profile_id` (string, required): Wise profile id

### `create_quote` (~203 tokens)

Create a Wise quote — locked FX rate plus payment options for a sourceCurrency / targetCurrency pair. Provide either sourceAmount or targetAmount, not both. Returns the quote id used to create a transfer.

Input parameters:

- `payOut` (string): Optional payout method (e.g. BANK_TRANSFER, BALANCE, SWIFT)
- `preferredPayIn` (string): Optional preferred pay-in method (e.g. BALANCE, BANK_TRANSFER)
- `profile_id` (string, required): Wise profile id (sender)
- `sourceAmount` (number): Amount to send. Provide either sourceAmount or targetAmount.
- `sourceCurrency` (string, required): ISO-4217 source currency (e.g. USD)
- `targetAccount` (number): Optional recipient account id to attach to the quote
- `targetAmount` (number): Amount the recipient should receive. Provide either sourceAmount or targetAmount.
- `targetCurrency` (string, required): ISO-4217 target currency (e.g. EUR)

### `get_quote` (~50 tokens)

Fetch a Wise quote by id (within a profile). Returns rate, fees, and available paymentOptions.

Input parameters:

- `profile_id` (string, required): Wise profile id
- `quote_id` (string, required): Quote id

### `update_quote` (~116 tokens)

Update a Wise quote (e.g. attach a recipient via targetAccount, or change payOut). Returns the updated quote with refreshed paymentOptions.

Input parameters:

- `payIn` (string): Pay-in method (e.g. BALANCE, BANK_TRANSFER)
- `payOut` (string): Payout method (e.g. BANK_TRANSFER, BALANCE, SWIFT)
- `profile_id` (string, required): Wise profile id
- `quote_id` (string, required): Quote id to update
- `targetAccount` (number): Recipient account id to attach

### `create_recipient` (~156 tokens)

Create a Wise recipient (payout account). Required `details` fields vary by currency / country — discover them with list_recipient_account_requirements first.

Input parameters:

- `accountHolderName` (string, required): Full legal name on the destination account
- `currency` (string, required): ISO-4217 destination currency
- `details` (object, required): Currency-specific details (legalType, IBAN, accountNumber, BIC, etc) per requirements
- `ownedByCustomer` (boolean): True if the recipient is the sender themselves
- `profile` (number, required): Wise profile id (sender)
- `type` (string, required): Account type, per requirements (e.g. iban, sort_code, aba, brazil, swift_code, email, ...).

### `get_recipient` (~27 tokens)

Fetch a Wise recipient by id.

Input parameters:

- `recipient_id` (string, required): Recipient account id

### `list_recipients` (~49 tokens)

List Wise recipients on a profile, optionally filtered by destination currency.

Input parameters:

- `currency` (string): Optional ISO-4217 destination currency filter
- `profile_id` (string, required): Wise profile id

### `delete_recipient` (~42 tokens)

Deactivate (soft-delete) a Wise recipient by id. The recipient is no longer usable for new transfers.

Input parameters:

- `recipient_id` (string, required): Recipient account id

### `list_recipient_account_requirements` (~68 tokens)

Discover required `details` fields for creating a recipient given a quote. Wise returns dynamic field schemas per currency / country / payout method (IBAN vs SWIFT vs local clearing, etc).

Input parameters:

- `quote_id` (string, required): Quote id used to determine destination currency / payout method

### `create_transfer` (~136 tokens)

Create a Wise transfer using a quote and a recipient. Requires a customerTransactionId for idempotency. The transfer is created in incomplete state — call fund_transfer to debit the source.

Input parameters:

- `customerTransactionId` (string, required): Idempotency key (UUID). Agents control idempotency — do not reuse.
- `details` (object): Transfer details — reference (statement reference), transferPurpose, sourceOfFunds, etc. Required fields depend on currency corridor.
- `quoteUuid` (string, required): Quote id (v2 quotes return uuid; pass it here)
- `targetAccount` (number, required): Recipient account id (from create_recipient)

### `get_transfer` (~45 tokens)

Fetch a Wise transfer by id. Returns status (incoming_payment_waiting, processing, outgoing_payment_sent, funds_refunded, etc).

Input parameters:

- `transfer_id` (string, required): Transfer id

### `list_transfers` (~146 tokens)

List Wise transfers on a profile with optional filters (status, date range, currency).

Input parameters:

- `createdDateEnd` (string): Upper bound on creation time (ISO 8601)
- `createdDateStart` (string): Lower bound on creation time (ISO 8601)
- `limit` (number): Page size (default 100)
- `offset` (number): Pagination offset
- `profile` (string, required): Wise profile id
- `sourceCurrency` (string): Filter by source currency
- `status` (string): Filter by status (e.g. incoming_payment_waiting, processing, outgoing_payment_sent, cancelled)
- `targetCurrency` (string): Filter by target currency

### `fund_transfer` (~82 tokens)

Fund a Wise transfer from a multi-currency balance. Equivalent to clicking 'Pay' in the dashboard. Use type=BALANCE for balance funding.

Input parameters:

- `profile_id` (string, required): Wise profile id
- `transfer_id` (string, required): Transfer id to fund
- `type` (string): Funding source type (typically BALANCE). Other types may require additional setup.

### `cancel_transfer` (~45 tokens)

Cancel a Wise transfer that has not yet been processed (must still be in a cancellable state — incoming_payment_waiting, etc).

Input parameters:

- `transfer_id` (string, required): Transfer id

### `list_balances` (~57 tokens)

List balance accounts on a profile. Type defaults to STANDARD (multi-currency wallet).

Input parameters:

- `profile_id` (string, required): Wise profile id
- `types` (string): Comma-separated balance types (default STANDARD; SAVINGS also valid)

### `get_balance` (~38 tokens)

Fetch a single balance account by id.

Input parameters:

- `balance_id` (string, required): Balance account id
- `profile_id` (string, required): Wise profile id

### `create_balance_account` (~80 tokens)

Open a new currency balance account on a profile (e.g. open a EUR balance to hold euros).

Input parameters:

- `currency` (string, required): ISO-4217 currency code for the new balance
- `name` (string): Optional friendly name
- `profile_id` (string, required): Wise profile id
- `type` (string): Balance type (default STANDARD)

### `list_webhooks` (~27 tokens)

List webhook subscriptions on a profile.

Input parameters:

- `profile_id` (string, required): Wise profile id

### `create_webhook` (~107 tokens)

Create a webhook subscription on a profile. Wise will POST events of `trigger_on` type to `delivery.url`.

Input parameters:

- `delivery` (object, required): Delivery config: { version: '2.0.0', url: 'https://...' }
- `name` (string, required): Friendly name for the subscription
- `profile_id` (string, required): Wise profile id
- `trigger_on` (string, required): Event type (e.g. transfers#state-change, balances#credit, balances#update)

### `delete_webhook` (~40 tokens)

Delete a webhook subscription from a profile.

Input parameters:

- `profile_id` (string, required): Wise profile id
- `subscription_id` (string, required): Webhook subscription id

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/codespar-mcp-wise/codespar-mcp-wise#diagnostics

## Score history

- 2026-08-04: 69
- 2026-08-03: 65
- 2026-08-02: 65
- 2026-08-01: 36
- 2026-07-31: 5
- 2026-07-30: 24
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/@codespar/mcp-wise
- Socket report: https://socket.dev/npm/package/@codespar/mcp-wise
- Repository: https://github.com/codespar/mcp-dev-latam
- Changelog RSS feed: https://verifymcp.io/servers/codespar-mcp-wise/codespar-mcp-wise/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/codespar-mcp-wise/codespar-mcp-wise/changelog.json
- HTML version of this page: https://verifymcp.io/servers/codespar-mcp-wise/codespar-mcp-wise
