monospay-mcp
v1.1.2
Published
MCP server for monospay — AI agent payments. Bootstraps a Python virtualenv on first run (requires Python 3.10+).
Maintainers
Readme
monospay-mcp
Pay per MCP tool call in USDC. Your agent gets a wallet, your paid tools get on-chain settlement on Base. No admin keys, no proxy, no custodian.
Quickstart (4 lines)
- Get an API key at monospay.com/dashboard → Agents → API keys.
- Paste this into your MCP config (Claude Desktop / Cursor / Windsurf):
{"mcpServers":{"monospay":{"command":"npx","args":["-y","monospay-mcp"],"env":{"MONO_API_KEY":"mono_live_..."}}}} - Restart the client.
- Ask: "Check my monospay balance".
To send payments, also set MONO_SESSION_TOKEN (issued in the same
dashboard). Session tokens are short-lived bearers — revocable, never
hold a private key.
What it does
Exposes monospay's payment primitives as MCP tools so any MCP-aware agent (Claude Desktop, Claude Code, Cursor, Windsurf) can:
- check balance, view transactions, set spending limits — with API key only
- transfer USDC on Base mainnet — with a session token
That same flow lets paid MCP servers charge agents per tool call: the server returns a quote, the agent pays via monospay, the server verifies the on-chain receipt before returning the tool result.
Configuration
Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"monospay": {
"command": "npx",
"args": ["-y", "monospay-mcp"],
"env": {
"MONO_API_KEY": "mono_live_...",
"MONO_SESSION_TOKEN": "mono_sess_..."
}
}
}
}Claude Code:
claude mcp add monospay \
-e MONO_API_KEY=mono_live_... \
-e MONO_SESSION_TOKEN=mono_sess_... \
-- npx -y monospay-mcpCursor / Windsurf — same JSON block in the editor's MCP settings.
Capability matrix
| | API key only | + Session token | + Private key (deprecated) | |---|---|---|---| | Check balance | yes | yes | yes | | View transactions | yes | yes | yes | | Set spending limits | yes | yes | yes | | Pay paid tool calls | no | yes (revocable) | yes (legacy) |
Session tokens are the recommended path. Private keys keep working with a deprecation notice on each launch.
"env": {
"MONO_API_KEY": "mono_live_...",
"MONO_PRIVATE_KEY": "0x..."
}How it runs
This package is a thin Node launcher. On first run it bootstraps a
Python virtualenv at <tmp>/monospay-mcp-venv and installs
monospay[mcp] from PyPI. The MCP server itself is Python — the
signing path uses eth-account for EIP-191, which has no Node
equivalent of comparable correctness. Subsequent runs reuse the venv.
[monospay-mcp] First run — bootstrapping a Python virtualenv.
[monospay-mcp] [1/3] Creating virtualenv...
[monospay-mcp] [2/3] Upgrading pip (quiet)...
[monospay-mcp] [3/3] Installing monospay[mcp] from PyPI...
[monospay-mcp] Ready. Starting MCP server.Requirements: Python 3.10+ on PATH (python3 or python), Node 18+,
outbound HTTPS to pypi.org on first run.
Building a paid MCP server?
The receive side runs against the monospay HTTP API. Your tool issues
a quote, waits for on-chain settlement, then returns the result.
Implementation reference: monospay
Python SDK. Open an issue or email [email protected] for early
integration help.
Links
- monospay.com — Dashboard
- GitHub — Source
- PyPI — Python SDK
