Connection guide

Back to category: Local clients

Codex Local

Sign in through id.web.money, then check your available wallets or balance. A successful sign-in alone does not verify every operation.

Requirements

Status
Connection verified by WebMoney
Connection channel
Local public client
What you do
Copy the public client_id and local settings into your desktop client, then authorize through id.web.money.
Connection values

Notes

  • This is a public client with PKCE: its application identifier is published, and no client secret is created or entered.

Setup

Codex Local

Codex Local uses WebMoney's published public OAuth client identifier. It identifies the application; it is neither a password nor a user identity. The client uses PKCE and requires no client secret.

The recommended route is to copy the quick-setup block below. It updates only the WebMoney section and the two exact callback settings in the user-level Codex file while preserving every other MCP server and setting. Codex CLI and the Codex IDE integration share that file. Use the separate fragment for a careful manual edit.

After the login command starts:

  1. Open the id.web.money sign-in page that appears in your browser.
  2. Check the application name and the complete permission list.
  3. Finish sign-in and two-factor verification.
  4. Return to Codex, confirm that the server appears in the list, and check available wallets or balances with a safe read-only request.

The setup command only registers the server and starts OAuth. It does not call MCP tools automatically. Never paste an access token, refresh token, authorization code, or Authorization header into a terminal prompt, chat, or website form.

The profile requests the complete capability set, including high-risk operations. Consenting to such a scope lets the client propose an operation; it does not confirm a particular transfer. A real wallet_transfer still requires the tool's exact arguments, dry_run=False, and confirm_real_operation=True. Recheck the wallet, recipient, amount, and description immediately before confirming.

Ready-to-copy setup

Verified with client version 0.162.0-alpha.17.2 on 2026-10-28.

The fresh OAuth, two-factor, and read smoke verified wallet_check_credentials, wallet_get_balance. Codex write paths were verified previously; the wm.transfers.create grant alone never confirms a concrete write operation.

Quick Codex Local setup

Configure an installed Codex without installing, upgrading or downgrading it. Updates only the WebMoney section and callback settings, then starts sign-in.

powershell
if (-not (Get-Command codex -ErrorAction SilentlyContinue)) { throw 'Install Codex explicitly before configuring WebMoney MCP.' }
codex --version

$configDirectory = Join-Path ([Environment]::GetFolderPath('UserProfile')) '.codex'
$configPath = Join-Path $configDirectory 'config.toml'
if (-not (Test-Path -LiteralPath $configDirectory)) { New-Item -ItemType Directory -Path $configDirectory | Out-Null }
$bytes = if (Test-Path -LiteralPath $configPath) { [IO.File]::ReadAllBytes($configPath) } else { [byte[]]@() }
$hasUtf8Bom = $bytes.Length -ge 3 -and $bytes[0] -eq 0xEF -and $bytes[1] -eq 0xBB -and $bytes[2] -eq 0xBF
$offset = if ($hasUtf8Bom) { 3 } else { 0 }
$strictUtf8 = [Text.UTF8Encoding]::new($false, $true)
$current = $strictUtf8.GetString($bytes, $offset, $bytes.Length - $offset)
$newLine = if ($current.Contains("`r`n")) { "`r`n" } else { "`n" }
$serverPattern = '(?ms)(?:^[ \t]*\r?\n)?^[ \t]*\[mcp_servers\.webmoney(?:\.[^\]]+)?\][ \t]*(?:\#[^\r\n]*)?(?:\r?\n|\z).*?(?=^[ \t]*\[(?!mcp_servers\.webmoney(?:\.|\]))|\z)'
$current = [Text.RegularExpressions.Regex]::Replace($current, $serverPattern, '')
$callbackPortLine = 'mcp_oauth_callback_port = 8765'
$callbackUrlLine = 'mcp_oauth_callback_url = "http://127.0.0.1:8765/callback"'
$firstTable = [Text.RegularExpressions.Regex]::Match($current, '(?m)^[ \t]*\[')
$rootLength = if ($firstTable.Success) { $firstTable.Index } else { $current.Length }
$rootSettings = $current.Substring(0, $rootLength)
$tableSettings = $current.Substring($rootLength)
$rootSettings = [Text.RegularExpressions.Regex]::Replace($rootSettings, '(?m)^[ \t]*mcp_oauth_callback_port\s*=.*(?:\r?\n|$)', '')
$rootSettings = [Text.RegularExpressions.Regex]::Replace($rootSettings, '(?m)^[ \t]*mcp_oauth_callback_url\s*=.*(?:\r?\n|$)', '')
$current = $rootSettings + $tableSettings
$serverFragment = @'
[mcp_servers.webmoney]
url = "https://mcp.webmoney.com/mcp"
enabled = true
oauth_resource = "https://mcp.webmoney.com/"
scopes = ["openid", "email", "phone", "profile", "offline_access", "wm.balance.read", "wm.transactions.read", "wm.messages.read", "wm.messages.send", "wm.invoices.manage", "wm.transfers.create", "wm.recipients.resolve"]

[mcp_servers.webmoney.oauth]
client_id = "40p5tXeCgumOLn4XhoXQ"
'@
$updated = $callbackPortLine + $newLine + $callbackUrlLine + $newLine + $current
if ($updated.Length -gt 0 -and -not $updated.EndsWith($newLine, [StringComparison]::Ordinal)) { $updated += $newLine }
$updated += $newLine + $serverFragment.Trim() + $newLine
[IO.File]::WriteAllText($configPath, $updated, (New-Object Text.UTF8Encoding($hasUtf8Bom)))

codex mcp login webmoney --scopes openid,email,phone,profile,offline_access,wm.balance.read,wm.transactions.read,wm.messages.read,wm.messages.send,wm.invoices.manage,wm.transfers.create,wm.recipients.resolve
codex mcp list
Exact config.toml fragment

The user-level file is in the home profile's .codex directory and is shared by Codex CLI and the IDE. The callback URL shown here is the base; Codex appends the registered server suffix.

toml
mcp_oauth_callback_port = 8765
mcp_oauth_callback_url = "http://127.0.0.1:8765/callback"

[mcp_servers.webmoney]
url = "https://mcp.webmoney.com/mcp"
enabled = true
oauth_resource = "https://mcp.webmoney.com/"
scopes = ["openid", "email", "phone", "profile", "offline_access", "wm.balance.read", "wm.transactions.read", "wm.messages.read", "wm.messages.send", "wm.invoices.manage", "wm.transfers.create", "wm.recipients.resolve"]

[mcp_servers.webmoney.oauth]
client_id = "40p5tXeCgumOLn4XhoXQ"
Exact OAuth registration settings

These are the public settings registered for this catalog client.

Client name
WebMoney MCP for Codex Local
Client ID
40p5tXeCgumOLn4XhoXQ
Registered audience
https://mcp.webmoney.com
MCP URL
https://mcp.webmoney.com/mcp
OAuth resource
https://mcp.webmoney.com/
Scopes
  • openid
  • email
  • phone
  • profile
  • offline_access
  • wm.balance.read
  • wm.transactions.read
  • wm.messages.read
  • wm.messages.send
  • wm.invoices.manage
  • wm.transfers.create
  • wm.recipients.resolve
Grant types
  • authorization_code
  • refresh_token
Response types
code
Redirect URLs
http://127.0.0.1:8765/callback/O9-VlBKeF_nj
Token endpoint client authentication
none — no client secret
PKCE
S256
Client URL
https://mcp.webmoney.com/docs
Verification status
Connection verified by WebMoney
Last verified
2026-10-28

Connection help

Reauthorization

Reauthorize after changing requested capabilities or wallet access grants.

Troubleshooting

Check the MCP address, callback URL, application identifier, and MCP support in the selected platform.

Never paste secrets into chat

Do not enter access tokens, refresh tokens, WebMoney JWTs, or client secret values in any AI message.

Known limitations

This guide may require manual client configuration.