AgentsMCP Server

MCP Server — Connect an Agent to Conyr

The Conyr MCP server exposes the full on-chain intelligence tool catalog over the Model Context Protocol, so any MCP-capable agent (Claude Code, Claude Desktop, Cursor, and others) can query Solana wallet and token intelligence directly — no glue code. Same data as the REST API, same API keys, same tiers.

Two surfaces are exposed:

  • 40+ individual tools (query_*) for targeted lookups — buyer quality, bundles, wallet X-ray, PnL, provenance, similarity, coordination, wash trades, and more.
  • 4 composite “breakdown” tools that fan out many readers in one call and return a complete, evidence-linked dossier. Reach for these first on broad questions.

Every tool result carries an evidenceUrl pointing at the Conyr terminal page that backs the data, so an agent can always cite where a finding came from.

Connect (remote)

The hosted endpoint is the recommended path — nothing to install, and it reuses the Conyr API key you already have.

https://mcp.conyr.ai/mcp

Authenticate with Authorization: Bearer <YOUR_CONYR_KEY>. The key’s tier governs which tools are callable and the per-key request rate, exactly as it does on the REST API.

claude mcp add --transport http conyr https://mcp.conyr.ai/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Then ask, e.g. “Use conyr to give me a deep dive on token <mint>.”

Tools by tier

Tool access mirrors the REST tiers. A call above your tier returns a tier_insufficient error naming the tier required.

TierIndividual toolsBreakdown tools
Freequery_buyer_quality, query_token_bundle_summary, resolve_token_identifier
Layer 2wallet intelligence — query_wallet_performance, query_wallet_trades, query_wallet_positions, query_wallet_xray, query_wallet_provenance, query_similar_wallets, query_leaderboard, query_holder_breakdown, query_token_holder_pnl, fetch_wallet_labels_batchwallet_overview
Layer 3everything else — bundles, wash trades, entanglement, the full coordination surface (query_wallet_coordination, query_token_campaigns, query_token_crowd, query_wallet_follows, …), minority buyers, late-retailtoken_deep_dive, token_coordination_report, wallet_network_report

The breakdown tools

Each returns one merged object with sections, a partial flag, an errors map (a single store hiccup degrades one section to null rather than failing the whole call), and evidenceUrl.

ToolTierWhat it fans out
wallet_overviewL2X-ray classification, coordination block, funding provenance, 30-day performance, behaviorally-similar wallets
token_deep_diveL3risk signal, bundle summary, holder-label breakdown, holder-PnL, buyer quality, security row
token_coordination_reportL3active/recent campaigns, per-minute crowd state, entity-weighted concentration, early clustered buyers, late-retail exit liquidity, wash-trade alerts
wallet_network_reportL3full follow-edge list (both directions), entity/farm membership + roster, bundle-entanglement clusters
⚠️

Detection, not trading signals. The coordination, minority-buyer, and forming-push tools describe what is happening on-chain — coordinated buying, farm clustering, wash setups. The same patterns describe manipulation and organic accumulation; Conyr makes no claim about which, and none of this is financial advice.

Self-hosting (stdio)

The mcp-server binary also speaks stdio for local, single-user clients.

⚠️

stdio is trusted — it bypasses tier gating — so it is only appropriate when you run your own Conyr backend (indexer + API stores). It connects to PostgreSQL, ClickHouse, and NATS at start, so it is not a zero-dependency desktop add-on.

MCP_TRANSPORT=stdio mcp-server

Claude Desktop, pointing at a self-hosted binary:

{
  "mcpServers": {
    "conyr": {
      "command": "/path/to/mcp-server",
      "args": ["stdio"],
      "env": {
        "API_PG_URL": "postgresql://user:pass@host:5432/conyr",
        "API_CLICKHOUSE_URL": "http://localhost:8123",
        "API_NATS_URL": "nats://localhost:4222"
      }
    }
  }
}

Run the same binary in http mode to serve the remote surface yourself; set MCP_BIND_ADDR and MCP_ALLOWED_HOSTS (your public hostname, for DNS-rebinding protection). See mcp-server/.env.example for the full variable list.

Next Steps