Connect and register
Start with Codex Local or MCP Inspector. For your own application, use OAuth client registration. ChatGPT and Claude integrations are in progress; the service is not yet listed in their catalogs.
Endpoints and OAuth
- MCP endpoint:
https://mcp.webmoney.com/mcp(Streamable HTTP). - Authorization server:
https://id.web.money. - Client OAuth resource:
https://mcp.webmoney.com/. Official applications have registered audiencehttps://mcp.webmoney.com. Do not change these values or registered callbacks. - Sign in with
authorization_codeand PKCES256.offline_accessrequests refresh-token access when supported by the provider and client;refresh_tokenrenews access and is not a wallet permission.
A public/native application uses token_endpoint_auth_method=none without a client secret. A confidential/server application can use client_secret_basic, keeping its secret on the server. The callback must match its registration exactly. Separate examples.
Request the minimum scopes for the task. Official local profiles show their full scope set explicitly; do not change someone else's registration to reduce permissions. WebMoney grants further restrict wallets, operations, OAuth applications and IPv4 addresses. Read about delegation and lifetimes.
10 tools: tasks and OAuth scopes
| Tool | Task | Required scope |
|---|---|---|
wallet_check_credentials |
Check current identity and available grants; does not issue permissions | Authenticated Gateway access |
wallet_get_balance |
List available wallets and balances | wm.balance.read |
wallet_get_transaction_history |
Find transactions in a date range | wm.transactions.read |
wallet_get_messages |
Read messages | wm.messages.read |
wallet_get_incoming_invoices |
List invoices addressed to you | wm.invoices.manage |
wallet_get_outgoing_invoices |
List invoices issued by you | wm.invoices.manage |
wallet_send_message |
Send a message to a specified recipient | wm.messages.send |
wallet_create_invoice |
Issue an invoice | wm.invoices.manage |
wallet_refuse_or_cancel_invoice |
Refuse an incoming or cancel an outgoing invoice | wm.invoices.manage |
wallet_transfer |
Transfer funds or pay an invoice | wm.transfers.create |
wm.recipients.resolve is additionally required when a request uses the resolver to identify a recipient from a description. It is conditional permission, not an eleventh tool. A write using an exact identifier without the resolver does not acquire this requirement merely because it is a write.
WebMoney grants and invoice direction
An OAuth scope does not replace an internal WebMoney grant. Incoming invoice reads and refusal with direction=incoming require the recipient's trans permission. Outgoing invoice reads, creation and cancellation with direction=outgoing use the issuer's inv permission. These are different roles even though they share OAuth scope wm.invoices.manage.
Pay an invoice through wallet_transfer with invoice_id and the other required fields in its schema. wallet_create_invoice only issues an invoice. Refusal and cancellation do not make a payment.
Reading and partial results
wallets[] and wallets_summary describe available wallets; wallet_id identifies a wallet. For history, messages and invoices, provide date_start and date_finish as YYYY-MM-DDTHH:MM:SS. Check credential_wallet/wallet_id and grant context.
Inspect partial_errors[]: some grants may return data while others fail. Do not treat a partial response as a complete history, or an empty result as proof that no operations exist. Check success, error_code and MCP isError. Never blindly retry a write with an unknown outcome.
Real changes and confirmation
Write-capable tools use the guard parameters defined in their schemas. A real action requires dry_run=false and confirm_real_operation=true where provided. Verify the recipient, wallet, amount, currency and invoice before calling.
confirm_real_operation is a client-supplied argument, not user 2FA or an independent confirmation screen. Sensitive permissions are protected when delegated; Gateway subsequently checks the valid token and granted permissions. Security model.
Future platform integrations
A restricted ChatGPT/Claude profile is a separate stage. The server must enforce the applicable OAuth client's restrictions on each tools/call. Hiding tools or removing only wm.transfers.create is insufficient: wm.invoices.manage also permits invoice creation, refusal and cancellation. Gateway has not been redesigned for a new profile.
Schemas, errors and help
MCP tools/list supplies exact argument and result schemas. The compatible Gateway /docs address remains an entry point to this reference. See the short FAQ. Give support safe error codes and correlation/request IDs, never tokens, secrets, cookies or HAR files.