pareen avatar

Monad Mcp

pareen/monad-mcp

Connects AI agents to the Monad blockchain for balance checks, token transfers, swaps, and DeFi operations across Uniswap, Kintsu/FastLane liquid staking, Morpho lending, and the Kuru CLOB. Transaction signing is handled by Privy embedded wallets, keeping private keys out of agent control. Ships with session key grants for auto-executing small transactions under preset limits, otherwise returns approval URLs for human review. Supports both mainnet and testnet, includes .nad name resolution, portfolio queries via DexScreener, and LiFi bridge quotes. Read operations work immediately via the hosted endpoint; write operations require Privy authentication. Useful when you need an LLM to execute on-chain actions with proper transaction custody boundaries.

GitHub stars
1
tools
25
auth
Secret needed
transport
STDIO
env vars
3
last updated
Jun 4, 2026

Tools

25 tools

Public tool metadata for what this MCP can expose to an agent.

create_userProvision a Privy user + Monad-ready embedded wallet. Self-serve onboarding.

Provision a Privy user + Monad-ready embedded wallet. Self-serve onboarding.

No parameter schema in public metadata yet.

whoamiUser id, wallet address, and active session-key grants.

User id, wallet address, and active session-key grants.

No parameter schema in public metadata yet.

get_addressReturns the connected wallet's address.

Returns the connected wallet's address.

No parameter schema in public metadata yet.

get_balanceNative MON balance. Accepts a 0x address or a .nad name.

Native MON balance. Accepts a 0x address or a .nad name.

No parameter schema in public metadata yet.

get_token_balanceERC-20 balance with decimals + symbol. Accepts a .nad name.

ERC-20 balance with decimals + symbol. Accepts a .nad name.

No parameter schema in public metadata yet.

get_portfolioAll canonical token balances × USD prices via DexScreener. Accepts a .nad name.

All canonical token balances × USD prices via DexScreener. Accepts a .nad name.

No parameter schema in public metadata yet.

get_transaction_historyRecent ERC-20 transfers via RPC log scan + explorer URL. Accepts a .nad name.

Recent ERC-20 transfers via RPC log scan + explorer URL. Accepts a .nad name.

No parameter schema in public metadata yet.

get_tx_receiptReceipt for a tx hash.

Receipt for a tx hash.

No parameter schema in public metadata yet.

simulate_transactionDry-run a call (eth_call), returns return data or revert reason.

Dry-run a call (eth_call), returns return data or revert reason.

No parameter schema in public metadata yet.

check_tokenRisk heuristics: canonical-list membership, bytecode, DEX liquidity, pair age.

Risk heuristics: canonical-list membership, bytecode, DEX liquidity, pair age.

No parameter schema in public metadata yet.

resolve_tokenSymbol/name/alias → token address (canonical list + DexScreener fallback).

Symbol/name/alias → token address (canonical list + DexScreener fallback).

No parameter schema in public metadata yet.

get_token_priceUSD price from the deepest-liquidity DexScreener pair on Monad.

USD price from the deepest-liquidity DexScreener pair on Monad.

No parameter schema in public metadata yet.

list_canonical_tokensBuilt-in list of well-known Monad tokens.

Built-in list of well-known Monad tokens.

No parameter schema in public metadata yet.

resolve_nameNad Name Service (nad.domains): .nad name → address, and address → primary .nad name.

Nad Name Service (nad.domains): .nad name → address, and address → primary .nad name.

No parameter schema in public metadata yet.

read_contractCall any view/pure function on any Monad contract (ABI provided inline).

Call any view/pure function on any Monad contract (ABI provided inline).

No parameter schema in public metadata yet.

decode_return_dataDecode hex return data against an ABI.

Decode hex return data against an ABI.

No parameter schema in public metadata yet.

bridge_quoteLiFi aggregator quote from any chain into Monad.

LiFi aggregator quote from any chain into Monad.

No parameter schema in public metadata yet.

poll_requestStatus of a pending approval request.

Status of a pending approval request.

No parameter schema in public metadata yet.

transferNative MON or ERC-20 transfer. Recipient may be a 0x address or a .nad name. Auto-executes under a session grant, else → approval URL.

Native MON or ERC-20 transfer. Recipient may be a 0x address or a .nad name. Auto-executes under a session grant, else → approval URL.

No parameter schema in public metadata yet.

write_contractSend a tx to any contract (any non-view function).

Send a tx to any contract (any non-view function).

No parameter schema in public metadata yet.

pay_for_servicex402 (HTTP 402) — signs an EIP-3009 USDC authorization via Privy and retries with X-PAYMENT.

x402 (HTTP 402) — signs an EIP-3009 USDC authorization via Privy and retries with X-PAYMENT.

No parameter schema in public metadata yet.

bridge_executeSubmit the source-chain tx returned by bridge_quote (Monad sources only).

Submit the source-chain tx returned by bridge_quote (Monad sources only).

No parameter schema in public metadata yet.

grant_session_keyAuthorize the agent to spend up to N MON without per-tx approvals.

Authorize the agent to spend up to N MON without per-tx approvals.

No parameter schema in public metadata yet.

list_session_keysShow active + recent grants.

Show active + recent grants.

No parameter schema in public metadata yet.

revoke_session_keyCancel a grant immediately.

Cancel a grant immediately.

No parameter schema in public metadata yet.

Sponsors

Configuration

PRIVY_APP_ID

Privy app ID (dashboard.privy.io). Required for write tools.

PRIVY_APP_SECRETsecret

Privy app secret. Required for write tools.

MONAD_DEFAULT_NETWORKdefault: testnet

Default Monad network: 'mainnet' or 'testnet'.

Readme

monad-mcp

MCP server for the Monad blockchain. Your agent's gateway to balances, transfers, swaps, and DeFi on Monad — with signing handled by a Privy embedded wallet, never by the agent.

Built around a simple shape — stored requests + approval URLs + skill plugins — on Monad mainnet 143 / testnet 10143, with Privy as the wallet provider.

🌐 Landing page + live read-only demo: pareen.github.io/monad-mcp — query real Monad balances in your browser, exactly what the agent sees.

🔌 Connect it — no install, no terminal. In Claude Desktop or ChatGPT, add a custom connector and paste this URL:

https://monad-mcp.fly.dev/mcp

That's the whole setup — read tools (balances, prices, portfolios, token checks) work immediately. Step-by-step for each app: docs/connect-claude.md.

Prefer the terminal? One line in Claude Code:

claude mcp add --transport http monad https://monad-mcp.fly.dev/mcp   # hosted
claude mcp add monad -- npx -y monad-mcp                              # or run it locally

View the full README on GitHub

Details

Repository
github.com/pareen/monad-mcp
Website
pareen.github.io/monad-mcp
Category
Finance & Commerce
Package
monad-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

Related Finance & Commerce MCP servers

View all
1pijusz avatarMcp Gadspijusz/mcp-gadsGoogle Ads MCP server — query campaigns, keywords, assets & more via natural language1stars
2prashantbtkl avatarSpresh Mcpprashantbtkl/spresh-mcpSearch Facebook ads, decode competitor creative strategy, and track brand ad history.1stars
3wyre-technology avatarAuvikwyre-technology/auvik-mcpMCP server for the Auvik network monitoring API — devices, alerts, statistics, billing.1stars
4yksanjo avatarGmemyksanjo/gmemPersistent, Solana-aware project memory for AI coding agents. Typed entities + git-aware diffs.1stars
5adelaidasofia avatarFastMCP seed raise pipeline tracker — syncs from Obsidian CRM, generates meetingadelaidasofia/investor-relations-mcpFastMCP seed raise pipeline tracker — syncs from Obsidian CRM, generates meeting prep, tracks…0stars
6aemery13 avatarPolymarket Wallet Intelligenceaemery13/polymarket-intelClassify Polymarket wallets as human or bot, score their trading edge, read open positions.0stars