Nothing is persisted — no credentials on disk, no config file — and the session ends with the key. That is a real security property. It also means the key passes through the model's context to get there, so the first message of every session is a secret, and whatever your client logs, it logs. Start on TEST_RAILS payees while you work out the shape of the flow; the same tools then apply to ACH and crypto without changing anything else.
An MCP server over Payman AI's payment APIs. It covers the full path an agent needs to actually pay someone: authenticate, register a payee of the right type, send a payment, search existing payees, and read the account balance.
- `set-api-key` — supplies the Payman key at runtime and holds it in memory for the session
- Three payee types, each with its own tool: `create-test-rails-payee` for testing, `create-us-ach-payee` taking account type, account and routing numbers and account-holder details, and `create-crypto-payee` taking address, chain and currency
- `send-payment` — a `payeeId` and `amountDecimal`, with optional `walletId`, `memo` and `metadata`
- `search-payees` — find registered payees by name, contact email, account number and other criteria
- `get-balance` — the current account balance, no parameters
- Both stdio and SSE transports; the SSE build serves `/sse` and `/messages` on port 3001
A Payman AI API key. Notably there is no configuration file and no environment variable for it: the key is set at runtime by calling `set-api-key`, kept in memory for the session, and never written to disk. Node.js v14 or higher with npm or yarn; installation is a clone plus `npm install` and `npm run build`, then pointing the client at `build/payman-server.js`. Smithery can install it for Claude Desktop automatically. The SSE mode needs `express` and `cors` as additional dependencies.
One command plus a key — npx -y @smithery/cli install @hrishi0102/payman_mcp --client claude, then supply credentials
