SNSIP-Agentdevnet
STEP 4 / 4The integration
Agent Identity
MCP server · headline integration

Plug .sol agent identity into Claude Desktop, Cursor, anything that speaks MCP.

@snsip/mcp exposes four tools any MCP-aware AI assistant can call to read .sol agent identities and check their on-chain permissions live. Ask Claude "can swap-bot.sol swap 500 USDC?" and Claude refuses in its own voice because the on-chain cap is 100. That's the moment.

Plug `.sol` agent identity into your AI assistant

The first agent-identity protocol on Solana that speaks Model Context Protocol natively. Claude Desktop, Cursor, Continue, Cline — any MCP client reads a .sol agent's permissions live from Solana and respects them in conversation. No custom integration per tool.

5 toolsstdio transportdevnet by default~280 lines wrapping the SDK
Share install link
https://snsip-cc5.pages.dev/install
Send this URL to anyone running Claude Desktop. They land on this page and follow the 3 steps below.
1. Paste this config into Claude Desktop

Open Claude Desktop → Settings → Developer → Edit Config, paste this, restart Claude Desktop. No clone, no build, no absolute paths — npx downloads snsip-mcp from npm on first run.

claude_desktop_config.json
{
  "mcpServers": {
    "snsip-agent": {
      "command": "npx",
      "args": ["-y", "snsip-mcp"],
      "env": {
        "SNSIP_CLUSTER": "devnet",
        "SIM_API_KEY": "optional — get one at sim.dune.com for the activity tool"
      }
    }
  }
}

Cursor + Continue use the same shape — check their docs for where the file lives.

2. (Optional) Build from source

Skip this section unless you want to hack on the server code. The npm install above is enough for normal use.

terminal
# Optional — only if you want to hack on the server locally
git clone https://github.com/hien-p/snsip-agent.git
cd snsip-agent && pnpm install && pnpm --filter snsip-mcp build
# Then change the "command" above to "node" and "args" to the
# absolute path of packages/snsip-mcp/dist/server.js
3. Talk to it

Type any of these into Claude Desktop after the install:

"What is swap-bot.sol allowed to do?"
"Can swap-bot.sol call Jupiter for 25 USDC?"
"Can swap-bot.sol call Jupiter for 500 USDC?"
"Can swap-bot.sol call the System Program (11111111111111111111111111111111)?"
"List every .sol owned by 6AcSwibbv26kg7qAB28CXCAH2jSbSK39SeM5KuArjEt — only ones with SNSIP identity."
The four tools
sns_resolve_identity
Pull every SNSIP record on a .sol — owner, signing pubkey, endpoint, controller, avatar, and the parsed permission grant.
{ "domain": "swap-bot.sol" }
sns_check_permission
Run the standard SNSIP gate against a proposed call — active? target whitelisted? amount within cap? Returns allow/deny with reason.
{ "domain": "swap-bot.sol", "target": "JUP6Lk…", "mint": "EPjFWd…", "amountRaw": "25000000" }
sns_list_agents
Every .sol owned by a wallet, plus which ones publish SNSIP identity records.
{ "wallet": "6AcSwib…uArjEt", "withIdentityOnly": true }
sns_sign_in_with_sol
Verify wallet owns the .sol on-chain AND the Ed25519 signature over the challenge is valid. Drop-in passwordless login.
{ "domain": "alice.sol", "walletPubkey": "…", "challenge": "…", "signatureBase58": "…" }
How it fits the stack

The MCP server is a thin wrapper around @snsip/agent-sdk — the same SDK that powers /login-demo, /airdrop-demo, and /swap-demo. Same on-chain source, three different surfaces (web, MCP, programmatic). Anyone can swap the web UI for their own client without re-implementing the gate.

What this provesThe integration

Same on-chain bytes, exposed via Model Context Protocol — Claude Desktop, Cursor, anything MCP-aware, can read .sol agent identity today. No custom integrations.

Bounty text addressed: AI agents with distinct on-chain identities — composable across the LLM client ecosystem.

← Step 3: Agent IdentityTour complete — back to home