Wise (TransferWise) Agent Toolkit
Expose the Wise API to AI coding agents and assistants — quotes, transfers, recipients, profiles, activities, and balances — as MCP tools, or as a Python toolkit for LangChain and (soon) CrewAI/AutoGen.
This README leads with MCP (the most common use case: wiring Wise into Claude Code or Codex CLI). See Other integrations for LangChain/CrewAI/AutoGen.
Supported API Methods
- Quotes — create, update, get by ID
- Recipients — list, create, get by ID, deactivate, get account requirements
- Transfers — create, get by ID, list, cancel
- Profiles — list, get by ID
- Activities — list
- Balances — list
Quick Start: MCP
1. Install
pip install "wise-agent-toolkit[mcp]"
Requires
mcp>=2.0.0. If upgrading from wise-agent-toolkit<0.4.0: themcppackage made breaking changes to its server API in 2.0, so this toolkit only supportsmcp2.x going forward.
macOS/zsh: quote the package name so the shell doesn't interpret the brackets:
pip install "wise-agent-toolkit[mcp]"(or escape them:wise-agent-toolkit\[mcp\]).
2. Set credentials
export WISE_API_KEY="your_wise_api_key_here"
export WISE_API_HOST="https://api.transferwise.com" # production; see the sandbox note below
Gotcha: if you omit WISE_API_HOST, the server defaults to the sandbox API — set it explicitly for production data. Also note: Wise's V1 sandbox (api.sandbox.transferwise.tech) is being retired in favor of Sandbox V2 (see Wise's migration guide) — if sandbox calls start failing with 410 Gone, that's why; you'll need V2 sandbox credentials from Wise, not a code fix here.
3a. Claude Code
Register the server for the current project:
claude mcp add wise -- python -m wise_agent_toolkit.mcp
Or check in a .mcp.json at your project root so the whole team gets it:
{
"mcpServers": {
"wise": {
"command": "python",
"args": ["-m", "wise_agent_toolkit.mcp"],
"env": {
"WISE_API_KEY": "${WISE_API_KEY}",
"WISE_API_HOST": "https://api.transferwise.com"
}
}
}
}
${WISE_API_KEY} is expanded from your shell environment at launch — don't hardcode the key in the file. Project-scoped .mcp.json servers need one-time approval in Claude Code, or list them under enabledMcpjsonServers in .claude/settings.local.json to skip the prompt:
{
"enabledMcpjsonServers": ["wise"]
}
Verify:
claude mcp list
should show wise: ... - ✔ Connected. If it instead shows Failed to connect — Connection closed, that error only means the server process exited during startup — it doesn't say why. Run the module directly to see the real traceback:
python -m wise_agent_toolkit.mcp --api_key "$WISE_API_KEY" --host "$WISE_API_HOST"
3b. Codex CLI
Add a [mcp_servers.wise] table to ~/.codex/config.toml (global) or .codex/config.toml in your project (project-scoped):
[mcp_servers.wise]
command = "python"
args = ["-m", "wise_agent_toolkit.mcp"]
env = { WISE_API_KEY = "your_wise_api_key_here", WISE_API_HOST = "https://api.transferwise.com" }
Codex uses mcp_servers (snake_case), not mcpServers. Unlike Claude Code's ${VAR} expansion, Codex's env table takes literal values — avoid committing a project-scoped .codex/config.toml with a real key in it; use the global ~/.codex/config.toml for real credentials instead.
4. Other ways to run the server
Command line, explicit args instead of env vars:
python -m wise_agent_toolkit.mcp --api_key "your_api_key" --host "https://api.transferwise.com"
Programmatically, if you want the MCP tool objects directly:
from wise_agent_toolkit.mcp.toolkit import WiseAgentToolkit
wise_agent_toolkit = WiseAgentToolkit(
api_key="YOUR_WISE_API_KEY",
host="https://api.transferwise.com",
configuration={
"actions": {
"transfers": {"create": True},
"balances": {"read": True},
}
},
)
tools = wise_agent_toolkit.get_tools()
Server CLI options: --api_key (required), --host (default: sandbox), --server_name (default: "wise-agent-toolkit"), --profile_id (optional).
Other integrations
LangChain
pip install "wise-agent-toolkit[langchain]"
from wise_agent_toolkit.langchain.toolkit import WiseAgentToolkit
from langchain_openai import ChatOpenAI
from langchain.agents import create_react_agent
wise_agent_toolkit = WiseAgentToolkit(
api_key="YOUR_WISE_API_KEY",
host="https://api.transferwise.com",
configuration={"actions": {"transfers": {"create": True}}},
)
agent = create_react_agent(
tools=wise_agent_toolkit.get_tools(),
llm=ChatOpenAI(model="gpt-4"),
agent="zero-shot-react-description",
verbose=True,
)
response = agent.run("Create a transfer of 100 EUR to John Doe's account.")
The context config option (e.g. {"context": {"profile_id": 42}}) sets defaults for API calls that need a profile ID — same option is available for the MCP toolkit above. See /examples in this repo for a full script.
CrewAI / AutoGen
🚧 Not yet implemented — wise-agent-toolkit[crewai] / [autogen] extras are reserved for future support.
Checking available integrations
from wise_agent_toolkit import get_available_integrations
print(get_available_integrations())
Installation reference
pip install wise-agent-toolkit # core only, no integrations
pip install "wise-agent-toolkit[mcp]" # MCP
pip install "wise-agent-toolkit[langchain]" # LangChain
pip install "wise-agent-toolkit[all]" # everything
pip install "wise-agent-toolkit[dev]" # development
Requires Python 3.11+.
Extending
To add support for a new AI library:
- Create a new directory under
wise_agent_toolkit/for your integration - Implement the integration-specific toolkit and tool classes inheriting from the base classes
- Add the optional dependency to
pyproject.toml - Update the main
__init__.pyto conditionally import your integration
To add support for a new Wise API operation, see the wise-add-api-endpoint skill (if you're working in Claude Code) or AGENTS.md in this repo, wise-python, and wise-openapi — it documents the full spec → client → toolkit pipeline end to end.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wise_agent_toolkit-0.5.0.tar.gz.
File metadata
- Download URL: wise_agent_toolkit-0.5.0.tar.gz
- Upload date:
- Size: 29.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35ca11a5f49e4784ac3c1756fa1ea387cb50207bbb17043188e79f3f191f41af
|
|
| MD5 |
651d0dd71f202e3f9197fc85efd6a845
|
|
| BLAKE2b-256 |
a329f71f5639ad97a445466310f6396c16f2ef269ace347dbfad8fa9bde7647a
|
File details
Details for the file wise_agent_toolkit-0.5.0-py3-none-any.whl.
File metadata
- Download URL: wise_agent_toolkit-0.5.0-py3-none-any.whl
- Upload date:
- Size: 27.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
240835bd368253564ed80cf32714365d7ee89ad0375cc0b055c8cd8bc104e1f2
|
|
| MD5 |
16fc511feccf5651bdfc0ef2682c8374
|
|
| BLAKE2b-256 |
c509a6650f54d1f2fc1f3734b0aefe8c97287915d34e968c6d10a6090fd4c2a9
|