mossgate-mcp
a model context protocol (mcp) stdio server that exposes two live paid apis to any mcp-enabled agent:
- mossgate trust (
https://api.mossgate.dev) token and wallet risk checks - rue render (
https://rue.mossgate.dev) url/html to pdf/png/jpeg
payment is x402 v2, usdc on base. the operator who runs this server funds a wallet, and every tool call spends a little usdc from it. the wallet signs an eip-3009 authorization gaslessly, so it needs only usdc, no eth for gas.
tools
token_verdict(address, chain=base)quick risk verdict for a token contractwallet_profile(address, chain=base)behavioural risk profile for a wallettoken_report(address, chain=base)full token reportrender(url|html, format=pdf|png|jpeg)render a page, returns a base64 file
install
cd mcp-server
npm install
node 18+ is required.
fund the wallet
- create or reuse an evm wallet (any tool that gives a 0x private key).
- send it usdc on base (contract
0x833589fcd6edb6e08f4c7c32d4f71b54bda02913). a few dollars covers many calls. no eth is needed, gas is sponsored by the facilitator. - export the private key as an env var (never commit it):
export MOSSGATE_BUYER_PK=0xyourprivatekey
optional overrides: MOSSGATE_RPC (base rpc url),
MOSSGATE_TRUST_URL, MOSSGATE_RENDER_URL.
run standalone
MOSSGATE_BUYER_PK=0x... node index.js
the server speaks mcp over stdio. it is meant to be launched by an mcp client, not used by hand.
claude desktop / mcp client config
add this to your mcp client config (for claude desktop:
~/.config/Claude/claude_desktop_config.json on linux, or
~/Library/Application Support/Claude/claude_desktop_config.json on macos):
{
"mcpServers": {
"mossgate": {
"command": "node",
"args": ["/absolute/path/to/products/mcp-server/index.js"],
"env": {
"MOSSGATE_BUYER_PK": "0xyourprivatekey"
}
}
}
}
restart the client. the four tools appear and each call is paid automatically from the funded wallet.
verify it starts (no paid calls)
this lists the tools over stdio without touching the apis or spending anything:
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
| node index.js
run without cloning
this package is on npm, so agents and clients can run it via npx with no
clone or install. set the command to npx and args to
["-y", "mossgate-mcp"] in the client config:
{
"mcpServers": {
"mossgate": {
"command": "npx",
"args": ["-y", "mossgate-mcp"],
"env": {
"MOSSGATE_BUYER_PK": "0xyourprivatekey"
}
}
}
}