npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

arc-market-mcp

v0.2.0

Published

MCP server for Arc (Circle's L1, chainId 5042). Reads live chain state: the ERC-8004 agent directory with every card fetched and checked, launchpad concentration, LP range-APR, RPC consensus, and sell simulation. Circle's own Arc MCP is docs-only; this on

Readme

Arc Market MCP

An MCP server that reads live market state on Arc — Circle's L1 (chainId 5042) — through the BABA Capital Arc Data API.

Circle publishes an Arc MCP, but it serves documentation. This one reads chain state:

  • arc_launchpads — launchpad concentration (HHI), pools created, v3 vs v4 launch counts, distinct deployer callers, and per-launchpad share / graduations / dead-on-arrival.
  • arc_lp_apr — realised range-APR for LP pools from the latest scan (filter by pair / venue / range).
  • arc_rpc_consensus — how many of Arc's four public RPCs agree this block, before you trust a figure.
  • arc_token_screen — a launched token's USDC pool, fee, recent swap count, why that pool was selected, and the simulated round trip.
  • arc_token_sellsim — a simulated round trip: buy, then sell, against current chain state, reporting the round-trip fraction recovered. Not a heuristic — an actual simulation.
  • arc_pool_decoy — for one v4 poolId: its fee, the fee cap applied, and which rule placed it (selected, fee above the cap, untraded, or less traded than the selected pool).
  • arc_rpc_consensus, arc_health, arc_agent_card — trust, liveness, and identity.

BridgeCheck — is this Circle's bridge contract, and where will the USDC land?

  • bridgecheck — on Arc, Base, Ethereum or HyperEVM: give an address, a mined transaction, or an unsigned transaction (to + data). MATCH only when the address is the one Circle publishes for that chain and its live code, EIP-1967 implementation and admin equal the values pinned from Circle's pages (read on two RPCs). Circle's proxy code is generic, so the same code at another address is NO_MATCH. Also decodes the destination chain, mint recipient (same as you / different), destination caller, max fee and approval size, and says in plain words what happened, e.g. "The contract you're calling is not Circle's. The burn inside is Circle's. Recipient: same as you." Other statuses: IMPLEMENTATION_CHANGED, ADMIN_CHANGED, NOT_DECODED, NO_DATA. Every answer lists what it did not check.

Agent Directory — who is actually on Arc

337 agents (crawl of 2026-09-29 12:47 UTC) are registered in the ERC-8004 registry on Arc and nothing else lets you see who they are. Circle builds the rails; this is the phone book.

  • arc_agents_list — every registered agent: agentId, owner, agentURI, host, name, skills, validation status, and how concentrated its host and owner are.
  • arc_agent_get — one agent in full, including the raw card as served and a validation report giving the evidence for every flag, so you can check the directory rather than trust it.
  • arc_agents_search — "find me an Arc agent that does X and that I can pay."
  • arc_agents_stats — the registry's shape in one call.

Two things worth knowing, both measured rather than assumed:

  • x402=true is much narrower than payment=true. Most of this registry prices in USDC via ERC-8183 settlement, which is not x402. Each match carries the exact key and value that prove it.
  • The registry is concentrated. The largest host holds 115 of 337 ids (34.1%) and the largest owner holds 100 (29.7%). The directory publishes those counts and lets you draw the conclusion — it attaches no label or rating to any agent, because a directory that editorialises is worth nothing.

A card that will not resolve is listed as UNRESOLVED, never quietly dropped; a partial crawl comes back NO_DATA with coverage naming the ids it could not reach. BABA Capital operates agentIds 135 and 136; they are listed on the same terms as everyone else and get no ranking advantage.

Honesty model (read this)

Every data route returns one envelope:

{ "chain": "arc", "chainId": 5042, "asof": "…", "head": 123, "status": "OK|NO_DATA|REFUSED",
  "coverage": {…}, "rpc_consensus": true, "data": {…}, "warnings": [], "source": "…", "version": "…" }
  • NO_DATA is never a zero. A missing or partial reading returns status: "NO_DATA", not an empty success. Absence of a signal is stated, never disguised as a value of the signal.
  • REFUSED means the API declined (e.g. fewer than 2 of 4 RPCs agreed). The reading was not cross-checked; weigh it accordingly.
  • This server passes the envelope through unchanged. It never unwraps data and hides the status.

This is a read-only client. It holds no private key, signs nothing, and moves no funds. This is a software tool that reports chain reads. A passing sell-simulation is a snapshot at one block, not a guarantee.

Install

Runs over stdio via npx — no global install needed.

npx arc-market-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "arc-market": {
      "command": "npx",
      "args": ["-y", "arc-market-mcp"]
    }
  }
}

Configuration

| Env var | Default | Meaning | |---|---|---| | ARC_API_BASE | https://api.babacapital.app | Base for the /arc/* routes. | | ARC_AGENT_CARD_BASE | https://babacapital.app | Base for /.well-known/agents/<name>.json. | | ARC_API_TIMEOUT_MS | 20000 | Per-request timeout (the sellsim route runs a live simulation). |

Pricing

The Arc Data API's free tier is 20 calls/day/IP. Paid calls settle in USDC over Circle Gateway x402 on Arc (eip155:5042). This package is the reader; payment, when required, is negotiated by the API's 402 response. The reader never holds funds or keys.

Identity (ERC-8004)

BABA Capital's Arc agents publish ERC-8004 agent-cards at https://babacapital.app/.well-known/agents/ — baba-arc-data and baba-arc-yield. Fetch one with arc_agent_card. agentId is null until on-chain registration completes.

Build from source

npm install
npm run build
npm test
node dist/index.js

Provenance

This repository is standalone. Its git history begins on 2026-09-17; it shares no history with any other BABA Capital repository.

License

MIT © 2026 BABA Capital