Koskamo

DNS of Money MCP

A remote MCP server providing six read-only tools to resolve human-readable pay: names into deterministic payment instructions, check alias availability, discover agents, and retrieve payment requirements or status, enabling AI agents to settle payments autonomously on multiple blockchains.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

DNS of Money MCP logo, by DNS of MoneyCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by DNS of Money
You need:API keys, tiers and rate limits
MCP endpoint (Streamable HTTP)
https://api.dnsofmoney.com/mcp/rpc
Vendor documentation

What its tools do

6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

6 of 6 have a description · 0 of 6 declare behavior hints · 5 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Resolve a pay: alias to payment instructions
  • Check if a pay: alias is available
  • Discover agent registration info
  • Get payment status for a transaction

Source and maintenance

Community listingRegistry 1.1.0
Maintenance checked

Protocol and capabilities

Server
project-o-dns-of-money 1.1.0
MCP protocol negotiated in check
2025-11-25
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Resolve, discover, and pay pay: aliases. See /.well-known/x402.

Tools

6 advertised

resolve_alias
Advertised by the server during the last successful anonymous check.

Resolve a human-readable financial alias (pay: address) to payment endpoints and routing metadata. Call this before initiating any payment to a pay: address. Returns the preferred rail, fallback endpoints, an ISO 20022 hint, and a compliance signal. Anonymous calls return status only; a free API key (no credit card) unlocks the endpoint set — which rails and currencies the alias accepts — via POST /api/v1/access-requests. You do NOT need a key to pay: get_payment_requirements returns a payable address to any caller. Example: resolve_alias('pay:acme.user').

resolve_alias input schema
{
  "type": "object",
  "required": [
    "alias_uri"
  ],
  "properties": {
    "amount": {
      "type": "string",
      "description": "Optional payment amount (decimal string) — refines rail scoring."
    },
    "currency": {
      "type": "string",
      "description": "Optional ISO 4217 currency code. Defaults to USD."
    },
    "alias_uri": {
      "type": "string",
      "description": "The pay: address to resolve. E.g. 'pay:acme.user'."
    },
    "preferred_rail": {
      "type": "string",
      "description": "Optional rail hint (e.g. 'xrpl', 'fednow'). Advisory only."
    }
  }
}
discover_agent
Advertised by the server during the last successful anonymous check.

Get the AP2/A2A agent-commerce block for a pay: address — the DNS of Money equivalent of an A2A agent-card lookup. Use this during agent discovery before initiating a mandate flow. Returns agent capabilities only; NO payment credentials. Example: discover_agent('pay:acme.user').

discover_agent input schema
{
  "type": "object",
  "required": [
    "alias_uri"
  ],
  "properties": {
    "alias_uri": {
      "type": "string",
      "description": "The pay: address to discover. E.g. 'pay:acme.user'."
    }
  }
}
check_alias_available
Advertised by the server during the last successful anonymous check.

Check whether a pay: alias can still be claimed. Returns exactly one of three states: 'available' (free to register), 'taken' (already registered), or 'reserved' (protected namespace). When available, also returns the number of founding spots remaining. Public — no API key required. Read-only: this never reserves or registers the name. Example: check_alias_available('pay:acme.user').

check_alias_available input schema
{
  "type": "object",
  "required": [
    "alias_uri"
  ],
  "properties": {
    "alias_uri": {
      "type": "string",
      "description": "Candidate pay: address, e.g. 'pay:acme.user'. A bare name without the 'pay:' prefix is accepted too."
    }
  }
}
get_payment_requirements
Advertised by the server during the last successful anonymous check.

Get x402 PaymentRequirements for paying a pay: alias. Returns the 402 `accepts` block (scheme, network, payTo, asset, amount, invoiceId) an x402 agent needs to construct and submit the payment. currency='XRP' settles on the XRP Ledger (amount in drops); currency='USDC' settles USDC on Algorand via the GoPlausible facilitator (amount in atomic micro-USDC, feePayer in `extra`). The deterministic resolver chooses the rail; this tool never moves money. Example: get_payment_requirements('pay:acme.user', amount='1.5').

get_payment_requirements input schema
{
  "type": "object",
  "required": [
    "alias_uri"
  ],
  "properties": {
    "amount": {
      "type": "string",
      "description": "Amount to pay — decimal string in the asset's display unit (XRP). Omit it to be quoted the alias's declared price; required for an alias that declares no price."
    },
    "currency": {
      "type": "string",
      "description": "Asset to pay in: 'XRP' (XRPL) or 'USDC' (Algorand). Defaults to XRP."
    },
    "alias_uri": {
      "type": "string",
      "description": "The pay: address to pay. E.g. 'pay:acme.user'."
    }
  }
}
get_payment_status
Advertised by the server during the last successful anonymous check.

Check whether a payment you already attempted was recorded, BEFORE you retry and risk spending twice. Pass the request_key you sent as the Idempotency-Key header on the paid request. Returns state 'settled' (we hold a receipt — do NOT pay again) or 'not_found' (we have no record — retrying is safe). Use this when a paid call timed out or its response was lost: on rails where the facilitator broadcasts, you never learn the transaction hash unless our response reaches you, so this key is the only thing that can answer. The key is a bearer secret — whoever presents it gets the receipt.

get_payment_status input schema
{
  "type": "object",
  "required": [
    "request_key"
  ],
  "properties": {
    "request_key": {
      "type": "string",
      "description": "The exact Idempotency-Key you sent with the paid request. 32-128 characters of [A-Za-z0-9_-], generated from a CSPRNG with at least 128 bits of entropy."
    }
  }
}
get_agent_registration_info
Advertised by the server during the last successful anonymous check.

Learn how to self-register a FREE pay:agent.<label> alias for your agent. Returns the registration endpoint, the AgentAuthorityCredential verifiable-presentation requirements (intent binding + domain), the rate limit, and the Merkle anchor-proof endpoint. Read-only — registration itself is the credential-gated POST this tool points at. Example: get_agent_registration_info().

get_agent_registration_info input schema
{
  "type": "object",
  "properties": {}
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
388 ms
95th percentile latency
388 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 388 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http dns-of-money-mcp https://api.dnsofmoney.com/mcp/rpc

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add dns-of-money-mcp --url https://api.dnsofmoney.com/mcp/rpc

Cursor

Merge this server into .cursor/mcp.json in your project, then enable dns-of-money-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "dns-of-money-mcp": {
      "url": "https://api.dnsofmoney.com/mcp/rpc"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "dns-of-money-mcp": {
      "type": "streamableHttp",
      "url": "https://api.dnsofmoney.com/mcp/rpc",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start dns-of-money-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "dns-of-money-mcp": {
      "type": "http",
      "url": "https://api.dnsofmoney.com/mcp/rpc"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http dns-of-money-mcp https://api.dnsofmoney.com/mcp/rpc

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://api.dnsofmoney.com/mcp/rpc

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "dns-of-money-mcp": {
      "serverUrl": "https://api.dnsofmoney.com/mcp/rpc"
    }
  }
}

Let your agent find its tools

Find servers like DNS of Money MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.