Documentation

WebMoney MCP technical reference

Connection, OAuth, tools, permissions and result handling in one place.

MCP URLhttps://mcp.webmoney.com/mcp
Resourcehttps://mcp.webmoney.com/
StatusAvailable

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 audience https://mcp.webmoney.com. Do not change these values or registered callbacks.
  • Sign in with authorization_code and PKCE S256. offline_access requests refresh-token access when supported by the provider and client; refresh_token renews 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.