Back to Browse

Antseed Explorer MCP Server

Developer ToolsModerate7.3MCP RegistryLocal
Free

Server data from the Official MCP Registry

Discover and transact on the AntSeed P2P AI network from any MCP-compatible agent.

About

Discover and transact on the AntSeed P2P AI network from any MCP-compatible agent.

Security Report

7.3
Moderate7.3Low Risk

Valid MCP server (1 strong, 1 medium validity signals). 6 known CVEs in dependencies ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

6 files analyzed · 7 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

What You'll Need

Set these up before or after installing:

Base URL for the AntFeed Explorer REST API.Optional

Environment variable: ANTFEED_EXPLORER_URL

Local AntSeed buyer RPC URL. Required only for the transactional `create_session` tool; omit for read-only use.Optional

Environment variable: ANTSEED_BUYER_URL

Defense-in-depth ceiling on `create_session` deposits, in USDC. Hard-capped at 10000.Optional

Environment variable: ANTSEED_MAX_DEPOSIT_USDC

Set to 1 to require the local buyer to identify itself via /health. Recommended on shared dev boxes.Optional

Environment variable: ANTSEED_BUYER_STRICT

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-augustas11-antfeed-mcp": {
      "env": {
        "ANTSEED_BUYER_URL": "your-antseed-buyer-url-here",
        "ANTFEED_EXPLORER_URL": "your-antfeed-explorer-url-here",
        "ANTSEED_BUYER_STRICT": "your-antseed-buyer-strict-here",
        "ANTSEED_MAX_DEPOSIT_USDC": "your-antseed-max-deposit-usdc-here"
      },
      "args": [
        "-y",
        "@antfeed/mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

AntSeed Demand Explorer

Live at antfeed.org

An open-source, on-chain index of buyer activity on the AntSeed P2P AI services network. Provider/seller activity is already surfaced on antseed.com/network; this app fills the gap on the demand side: who is spending USDC on inference, with which providers, and how reliably.

Not affiliated with the AntSeed team.


What it does

  1. Funded buyers — per-depositor volume, sessions, unique sellers, ghost-session count, and a derived Buyer Trust Score (0–100).
  2. Network leaderboard — sortable, filterable buyer ranking.
  3. Network overview — daily settlement volume, active buyers, last 30 days.
  4. Token usage detail — input/output tokens and request count from AntseedStats.MetadataRecorded, with legacy settled-session metadata decoded only after validation.
  5. Public scoring APIGET /api/score/[address] returns the trust score JSON for any address.

Stack

  • Next.js 15 (App Router) + TypeScript
  • viem for Base reads (no wallet, read-only)
  • Neon Postgres + Drizzle ORM (HTTP driver, serverless-friendly)
  • Tailwind CSS, Recharts

Getting started locally

cp .env.example .env       # fill DATABASE_URL with a Neon DB or a local Postgres
npm install
npm run db:push            # apply schema to your DB
npm run dev
ScriptWhat it does
npm run devLocal Next.js dev server
npm run buildProduction build
npm run db:generateDiff schema and emit a new migration in drizzle/
npm run db:pushApply schema directly (dev-only, no migration history)
npm run db:migrateApply pending migrations from drizzle/
npm run db:studioOpen Drizzle Studio for browsing the DB
npm run syncRun a one-shot indexer pass against the configured DB
npm run sync loopLoop until caught up to chain head

Environment variables

vardefaultmeaning
DATABASE_URLrequiredPostgres connection string.
RPC_URLhttps://base.drpc.orgBase RPC. DRPC and Tenderly free tiers allow large eth_getLogs ranges.
CHAIN_ID84538453 Base mainnet, 84532 Base Sepolia.
CRON_SECRETnoneRequired in production. Cron requests must send Authorization: Bearer <CRON_SECRET>.
LOG_BATCH_SIZE2000Max blocks per getLogs. Indexer auto-shrinks if RPC complains.
CHANNELS_ADDRESS0xBA66d3b4f...Override only if you've forked to a different contract.
START_BLOCKdeployment blockFirst block to index from.

Contract integration

Core settlement contract: AntseedChannels on Base mainnet, 0xBA66d3b4fbCf472F6F11D6F9F96aaCE96516F09d, deployed at block 45,667,842. Auxiliary indexers also read AntseedStats, ANTS, staking, deposits, and identity events for token accounting, holder state, DAU, and address enrichment.

eventsemantic
Reservedsession opened (buyer locks maxAmount for a seller).
ChannelSettledseller called settle; delta USDC moved this batch. metadata is seller-provided opaque bytes and is stored only after validation.
MetadataRecordedauthorized stats writer recorded per-inference input/output tokens and request count; canonical source for network token totals.
ChannelClosedchannel closed. settledAmount=0 + no prior ChannelSettled → ghost.
ChannelTopUpbuyer added more deposit to an existing channel.
ChannelWithdrawnbuyer pulled refund.
CloseRequestedgrace-period close started.

Per-buyer aggregates are recomputed in SQL on every sync — no event replay needed for score recomputes. The indexer runs reconcileDrift() after each pass to catch rare partial-sync races.


Buyer Trust Score

lib/score.ts, 0–100, four sub-scores:

  • Volume (0–30)log10(USDC + 1) / log10(100) × 30. $100 settled = 30.
  • Consistency (0–25)log10(sessions + 1) / log10(50) × 25.
  • Diversity (0–25)<3 unique sellers = 0; 3 = 10; 10+ = 25.
  • Reliability (0–20)settled / (settled + ghost) × 20.

A buyer with ≥3 distinct settled sellers earns the Qualified Proven Sign badge.


Public APIs

GET  /api/stats                      Network aggregates + 30d daily series
GET  /api/buyers?limit=&offset=&qualified=&minScore=&sort=
GET  /api/buyers/{address}           Buyer detail + sessions + top sellers
GET  /api/score/{address}            Trust score JSON
POST /api/sync?force=1               Manual indexer pass (Bearer sync secret required)

/api/score/{address} example:

{
  "address": "0x…",
  "score": 73,
  "tier": "trusted",
  "qualified": true,
  "breakdown": {
    "total": 73,
    "volume": 24.1,
    "consistency": 18.0,
    "diversity": 18.6,
    "reliability": 12.0,
    "qualified": true
  },
  "stats": { "…": "raw indexed counters" }
}

Operations

  • Vercel cron is the scheduled indexer owner. vercel.json runs /api/cron/sync every five minutes; do not add an external minute-level cron for the same endpoint.
  • /api/cron/hero is an authenticated manual repair endpoint only. Call it with ?repair=1 after confirming /api/cron/sync cannot refresh the hero snapshot.
  • Runtime contract checks require an explicit target: API_RUNTIME_BASE_URL=http://localhost:3000 npm run test:api-runtime and CSP_RUNTIME_URL=http://localhost:3000 npm run test:csp-runtime.
  • Verify shared public API rate-limit storage after migrations with npm run check:rate-limit-storage; otherwise the app falls back to per-instance limits until the table exists.

Project layout

antseed-explorer/
  app/
    layout.tsx                  # nav + Sync button
    page.tsx                    # / overview + top 10
    buyers/page.tsx             # /buyers leaderboard
    buyers/[address]/page.tsx   # buyer detail
    api/
      cron/sync/route.ts        # cron-driven indexer pass
      sync/route.ts             # authenticated manual sync endpoint
      buyers/route.ts
      buyers/[address]/route.ts
      stats/route.ts
      score/[address]/route.ts
    components/                 # Charts, Badges, CopyButton, UI helpers
  lib/
    schema.ts                   # Drizzle Postgres schema
    db.ts                       # Neon HTTP client + state helpers
    queries.ts                  # all reads used by pages/APIs
    indexer.ts                  # getLogs loop, ghost detection, recompute, reconcile
    antseed.ts                  # contract addresses + ABI
    chain.ts                    # viem client
    score.ts                    # Buyer Trust Score
    format.ts
  scripts/
    sync-cli.ts                 # local CLI sync against DATABASE_URL
  drizzle/                      # generated migrations
  vercel.json                   # cron config + maxDuration

Contributing

Issues and PRs are welcome. The most useful contributions right now:

  • Improved scoring models or new score dimensions
  • Additional on-chain event types or contract support
  • UI improvements and new views (e.g. seller-side explorer)
  • Better RPC resilience / retry logic in the indexer

Open an issue to discuss before submitting a large change.

Reviews

No reviews yet

Be the first to review this server!