arc-market-mcp
Provides tools for reading live on-chain market state on Arc (Circle's L1, chainId 5042), including launchpad metrics, LP APR, RPC consensus, token screening, sell simulation, pool decoy detection, and the ERC-8004 agent directory.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@arc-market-mcpSimulate a buy and sell for token 0xabc on Arc"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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— cheap gate on a launched token: its USDC pool, fee, swap count, decoy verdict.arc_token_sellsim— a live honeypot test: buy-then-sell simulated against current chain state, reporting the round-trip fraction recovered. Not a heuristic — an actual simulation.arc_pool_decoy— is this v4 poolId the real venue for its token, or a high-fee decoy?arc_rpc_consensus,arc_health,arc_agent_card— trust, liveness, and identity.
Agent Directory — who is actually on Arc
~137 agents 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=trueis much narrower thanpayment=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 extremely concentrated. One host holds 115 of 137 ids (83.9%) and one owner holds 100 (73%). 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_DATAis never a zero. A missing or partial reading returnsstatus: "NO_DATA", not an empty success. Absence of a signal is stated, never disguised as a value of the signal.REFUSEDmeans 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
dataand 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.
Related MCP server: circuit-mcp
Install
Runs over stdio via npx — no global install needed.
npx arc-market-mcpClaude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"arc-market": {
"command": "npx",
"args": ["-y", "arc-market-mcp"]
}
}
}Configuration
Env var | Default | Meaning |
|
| Base for the |
|
| Base for |
|
| 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.jsProvenance
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
Available Tools
12 toolsarc_agent_cardB
Fetch a BABA Capital ERC-8004 agent-card (the /.well-known/agents/.json identity document). Known names: 'baba-arc-data', 'baba-arc-yield'. Shows the agent's registry, agentId (null until registered), and x402 payment network.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Which agent-card to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It conveys that this is a read-only fetch, shows the identity document nature, and even discloses that agentId is null until registered. It does not mention error behavior, authentication, or rate limits, but the core behavior is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The action and resource are front-loaded, the path format is given compactly, and the list of known names plus return fields are packed efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter enum tool with no output schema, the description includes what to pass, the valid choices, and what the response contains. It does not describe error or not-found behavior, but the agent has enough context to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single name parameter with 100% coverage and an enum. The description adds the path pattern and the fact that these are BABA Capital agent-card names, but it does not add meaningful new semantics beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Fetch a BABA Capital ERC-8004 agent-card' and names the exact well-known path. It clearly states what the tool returns. It stops short of explicitly distinguishing itself from the sibling arc_agent_get tool, so it is not a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus arc_agents_list, arc_agent_get, arc_agents_search, or other siblings. It lists valid names but provides no decision rules, exclusions, or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_agent_getA
Full record for one Arc agent by agentId: its on-chain owner and agentURI, the RAW card as served, and a validation report showing the evidence behind every flag (which key supplied the name, which supplied the skills, the exact key and value that prove an x402 or payment declaration, redirects, robots handling, and any fetch error). Use this to check the directory's claims yourself rather than trusting them.
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | The ERC-8004 agentId (an ERC-721 tokenId on the registry). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the return structure in detail (on-chain owner, agentURI, RAW card, validation report with evidence per flag) and explicitly mentions 'any fetch error' is included, which covers error handling. It doesn't explicitly state it's read-only, but 'get' implies non-mutating, and the description focuses on retrieval and validation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the core content (full record) and then details components. It is efficient and packs relevant information without redundancy. Could be slightly more structured, but it's well within acceptable length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-record retrieval tool with one parameter and no output schema, the description thoroughly explains what the response will contain, including the validation report's evidence details. It does not mention pagination (not needed for a single record) or any specific limitations, but the coverage is sufficient for an agent to know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes agentId as 'The ERC-8004 agentId (an ERC-721 tokenId on the registry).' The description adds no additional semantics beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('get'), a precise resource (full record for one Arc agent by agentId), and enumerates the returned content (owner, agentURI, RAW card, validation report with evidence). This clearly distinguishes it from siblings like arc_agents_list (list) and arc_agent_card (likely a simplified card view).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear when-to-use instruction: 'Use this to check the directory's claims yourself rather than trusting them.' This implies the tool is for verification and deep inspection. It doesn't explicitly name alternatives or state when not to use it, but the sibling context and the phrase 'rather than trusting them' provide adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_agents_listA
List the ERC-8004 agents registered on Arc, from a validated hourly crawl. Each row carries agentId, owner, agentURI, host, name, skills, status (OK | UNRESOLVED | INVALID), whether it declares x402, and how concentrated its host and owner are. Optional filters: status, host, owner. Paged. An agent whose card will not resolve is listed as UNRESOLVED, never silently dropped.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Only agents whose agentURI is on this host, e.g. 'stubly.org'. | |
| limit | No | Page size (default 50, max 200). | |
| owner | No | Only agents owned by this address. | |
| offset | No | Page offset. | |
| status | No | Only agents with this validation status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full transparency burden. It discloses that data comes from a 'validated hourly crawl' (implying potential staleness) and that unresolved agents are 'listed as UNRESOLVED, never silently dropped' – a valuable behavioral guarantee. It also states the tool is 'Paged', but omits ordering/sort behavior and any rate-limit or error semantics, which is a minor gap. Overall, it provides meaningful context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose. It packs a lot of information – fields, statuses, filters, paging, and a behavioral note – into a compact, readable block. Every sentence serves a purpose, though it could be slightly tightened by moving the column list or status enumeration into a more terse form. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description must explain return values, and it does – listing the row fields (agentId, owner, agentURI, host, name, skills, status, x402, concentration). It also mentions pagination and the crawl freshness. Missing are ordering semantics and any error/edge-case handling, but for a filtered list tool this is largely complete. The omission of SKIPPED_ROBOTS in the status list is a minor completeness issue.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds a small grouping of parameters ('Optional filters: status, host, owner') and mentions 'Paged', which clarifies the role of limit/offset. However, it lists status values as 'OK | UNRESOLVED | INVALID', omitting 'SKIPPED_ROBOTS' which is a valid enum value in the schema – a potential source of confusion. This omission prevents the description from adding more value than the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific purpose: 'List the ERC-8004 agents registered on Arc'. It names the resource (Arc agents) and the action (list), and it distinguishes itself from siblings like arc_agents_search and arc_agents_stats by the verb 'list'. The description also enumerates the fields returned, which reinforces its role as a broad listing tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like arc_agents_search or arc_agents_stats. It implies listing and filtering via 'Optional filters: status, host, owner', but it never says 'use this for a broad overview' or 'use search for fuzzy queries'. No exclusions or alternative routing is provided, leaving the agent to infer the tool's niche from its name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_agents_searchA
Find an Arc agent that does something, and optionally one you can pay. q matches name, host and skills; skill matches skill ids/names/tags. IMPORTANT: x402=true means the card declares x402 SPECIFICALLY — it is a much smaller set than payment=true, which includes other settlement schemes (most of this registry prices in USDC via ERC-8183, which is not x402). resolvable=true restricts to agents whose card actually fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name, host and skills, e.g. 'translate'. | |
| x402 | No | Declares x402 specifically. | |
| limit | No | Page size (default 50, max 200). | |
| skill | No | Match a skill id, name or tag. | |
| offset | No | Page offset. | |
| payment | No | Declares any payment/pricing/settlement. | |
| resolvable | No | Card actually resolved on the last crawl. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It adds important nuance beyond the schema: x402=true is a much smaller set than payment=true, and resolvable=true means the card actually fetched on the last crawl. That meaningfully shapes agent expectations, though it does not describe result format or side effects (which are unlikely for a search).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose, then moves to parameter semantics, ending with the important caveat. All sentences earn their place and there is no filler, though the x402/payment sentence is dense and could potentially be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter search tool with no annotations and no output schema, the description covers the non-obvious filter semantics and purpose. It does not describe the result list shape or ordering, and since there is no output schema that would otherwise clarify returns, this is a minor gap that prevents a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds substantial meaning beyond it: it defines what q matches, what skill matches, and crucially distinguishes x402 from payment with a concrete example (USDC via ERC-8183 is not x402). This prevents a likely misinterpretation and makes parameter selection genuinely safer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific verb and resource: 'Find an Arc agent that does something, and optionally one you can pay.' It is clear about what the tool does, but it does not explicitly contrast itself with sibling tools like arc_agents_list or arc_agent_get, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful parameter-selection guidance: q matches name/host/skills while skill matches skill ids/names/tags, and it explicitly warns about the non-obvious x402 vs payment distinction. It does not directly name alternative sibling tools, so it is not a full 5, but the context is clear and excludes misuse on the most confusing filter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_agents_statsA
Shape of Arc's ERC-8004 agent registry in one call: total ids, distinct owners, distinct hosts, how many resolve, how many declare x402 vs payment generally, status counts, and the most concentrated hosts and owners with their share of the registry. Facts only — the concentration numbers are stated so you can draw your own conclusion.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Facts only — the concentration numbers are stated so you can draw your own conclusion,' which clarifies that the tool returns raw metrics without interpretation or bias. However, it does not disclose potential limitations like whether the numbers are approximate, cached, or how recent the data is. For a read-only stats tool, this is acceptable but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the tool's purpose and lists all metrics in a compact list. It avoids filler and each phrase adds meaningful content. It could be slightly shorter by dropping the 'Facts only' clause, but that clause provides a behavioral note, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description must convey what the response looks like. It enumerates the categories of data but not the exact structure (e.g., field names, whether it's a flat object or nested, types). For a stats tool with zero parameters, this is a notable gap because the agent cannot predict the response format precisely. It is sufficient for basic understanding but not complete for reliable invocation without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema reflects this with an empty properties object. Per the rubric, a zero-parameter tool gets a baseline of 4 because there is nothing for the description to clarify about parameters. The description adds no param-related info, but that is not needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Shape of Arc's ERC-8004 agent registry in one call,' and enumerates the exact metrics returned (total ids, distinct owners, distinct hosts, resolution counts, x402 vs payment declarations, status counts, concentration shares). This clearly distinguishes it from sibling tools like arc_agents_list or arc_agent_get, which return individual records rather than aggregate statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage is for obtaining aggregate registry statistics in a single call, but it never explicitly contrasts with siblings or states when NOT to use it. For example, it doesn't say 'for per-agent details, use arc_agent_get' or 'for list view, use arc_agents_list.' The context signals make it evident it's a stats tool, but the description leaves the routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_healthA
Liveness of the Arc Data API and the list of routes it serves. Returns the §3.5 envelope. Call this first to confirm the API base and see which live routes are wired.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It explains the call is a liveness check, mentions the §3.5 envelope return format, and clarifies that it reveals live routes. It does not discuss error behavior, but for a zero-parameter health probe this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences convey outcome, return style, and usage order without wasted words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, zero parameters, and lack of output schema, the description fully equips an agent to call it correctly: what it does, what it returns, and when to call it are all stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so there are no parameter semantics for the description to add. Per the baseline for a zero-parameter tool, a 4 is appropriate; nothing is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports liveness of the Arc Data API and lists served routes. It uses a specific verb/resource pairing and is easily distinguished from the data-focused sibling tools like arc_agents_list or arc_token_screen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs the agent to call this tool first, with the concrete goals of confirming the API base and seeing which routes are wired. This is actionable placement guidance even though no alternative health-check sibling exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_launchpadsA
Launchpad concentration on Arc over the recent window: HHI, pools created, v3 vs v4 launch counts, distinct deployer callers, and per-launchpad share/graduations/dead-on-arrival. NO_DATA until an hourly reading has been written; partial windows are NO_DATA, never a false zero.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly warns about NO_DATA until an hourly reading exists and states that partial windows yield NO_DATA rather than false zeros—an important data-availability caveat. It does not mention read-only semantics, but the nature of the analytics tool implies it. This adds meaningful context beyond a bare statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose ('Launchpad concentration on Arc over the recent window') followed by a compact list of metrics and the critical NO_DATA caveat. Every clause earns its place; no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description covers what it returns and the key data-availability behavior. It does not mention update frequency, units, or how to interpret HHI thresholds, but those are not strictly required for correct invocation. The NO_DATA note addresses the most common pitfall. Overall it is complete enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially covered. The description doesn't need to explain parameters, and the baseline of 4 for parameter-less tools applies. It correctly avoids inventing unnecessary parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it reports launchpad concentration metrics (HHI, pools created, v3/v4 counts, deployer callers, per-launchpad stats) for Arc over a recent window. The verb 'concentration' and the explicit metric list make the purpose unambiguous, though it does not explicitly contrast with sibling tools like arc_health or arc_lp_apr.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only explains what it returns and the NO_DATA condition, not the scenarios where this tool is preferred or avoided. An agent must infer its purpose from the metric list without knowing when to choose it over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_lp_aprA
Realised range-APR for Arc LP pools from the latest scan. Optional filters: pair (e.g. 'usdc/weth'), venue (e.g. 'aero-lite'), range_pct. APR assumes price stayed in range over the window; the warning states this. NO_DATA if no scan has been written.
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | Filter by pair, case-insensitive, e.g. 'usdc/weth'. | |
| venue | No | Filter by venue, case-insensitive, e.g. 'aero-lite'. | |
| range_pct | No | Filter to rows computed at this range width in percent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the key assumption (price stayed in range) and the NO_DATA fallback when no scan exists, which are important behavioral details beyond the schema. It does not mention side effects or auth, but as a read-oriented query tool, these are less critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The purpose is front-loaded, filters are briefly listed, and key caveats are stated efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key assumption and the NO_DATA case, but it does not specify the normal return format or structure (e.g., whether it returns a single number, a list, or a table). With no output schema, this omission leaves the agent to guess the response shape, which is a notable gap for a query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already documented (e.g., 'Filter by pair, case-insensitive, e.g. usdc/weth'). The main description repeats these examples without adding new meaning, so it does not exceed the baseline for fully-covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes realised range-APR for Arc LP pools from the latest scan, naming the resource and output. It lists optional filters and distinguishes itself from sibling tools (which cover health, launchpads, token screening, etc.) by its specific subject matter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied—'use this when you need range-APR'—but there is no explicit guidance on when to prefer this over alternatives or when not to use it. No sibling is named or contrasted, and the description only hints at context via 'latest scan' and 'NO_DATA' conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_pool_decoyA
Decoy-pool verdict for a specific v4 poolId: whether this pool is the real venue for its token or a high-fee decoy that a naive buyer would route into. Explains the refusal reason. NO_DATA if the poolId is unknown to the API.
| Name | Required | Description | Default |
|---|---|---|---|
| poolId | Yes | The v4 poolId (bytes32, 0x…64 hex). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the verdict classification, that it explains the refusal reason, and the NO_DATA sentinel for unknown poolIds. It does not explicitly state that the call is read-only, but the informational nature of a 'verdict' makes that reasonably clear and no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The core purpose is front-loaded, followed by the refusal-reason behavior and the NO_DATA edge case. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema or annotations, the description must cover output semantics itself. It names the verdict, the two possible classifications, the refusal-reason explanation, and the unknown-poolId sentinel. An explicit return shape would be nice, but for a single-parameter lookup tool this is enough for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the single poolId parameter is already well-described in the input schema as a bytes32 hex string. The description merely refers to 'specific v4 poolId' without adding format, constraints, or further parameter semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it returns a 'Decoy-pool verdict for a specific v4 poolId' and defines the two possible outcomes (real venue vs high-fee decoy). This is distinct from the sibling tools, which focus on health, launchpads, LP APR, token screening, and agents, so an agent can tell this tool apart immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool for a specific v4 poolId to decide whether the pool is a decoy or the real venue, and it notes the NO_DATA case for unknown poolIds. It does not explicitly name sibling alternatives or exclusion conditions, but the unique decoy-check purpose makes the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_rpc_consensusA
How many of Arc's four public RPCs agreed at the last reading (of 4), and the head they agreed on. Below 2 the status is REFUSED — treat any Arc figure as not cross-checked until they agree again. A cheap trust gate before acting on other Arc data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the output (consensus count and head) and the REFUSED status condition, which is critical behavioral context. It does not mention whether the tool is read-only, but that is implied by the nature of a consensus check. It also doesn't discuss potential rate limits or error cases, but for a simple read-only tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, both dense with information. The primary output is front-loaded, and the usage guideline is immediately actionable. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only tool with no output schema, the description fully explains what the tool returns and how to interpret it. It even provides a practical rule (REFUSED below 2). An agent can invoke it without further clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to clarify. The baseline for zero-parameter tools is 4, and the description doesn't need to add parameter details. It appropriately focuses on output semantics instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: reporting how many of four public RPCs agreed and the agreed head. The verb 'agree' and specific resource 'Arc's four public RPCs' make the purpose unambiguous. It is distinct from sibling tools which focus on health, launchpads, APRs, token screens, etc., so there's no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'A cheap trust gate before acting on other Arc data.' It also gives a conditional threshold ('Below 2 the status is REFUSED') and instructs to treat Arc figures as unchecked until consensus is restored. This is clear, actionable guidance for an agent deciding whether to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_token_screenA
Screen a launched Arc token by contract address: its USDC-paired pool, fee, recent swap count, and the decoy-pool verdict (a fee above the cap, or a dynamic pool whose swaps charged above the cap, is refused). A cheap gate — it does NOT run a live buy/sell. NO_DATA if the token has not traded in the API's discovery window.
| Name | Required | Description | Default |
|---|---|---|---|
| ca | Yes | The token contract address (0x…40 hex). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses key behavioral traits: the tool is a cheap non-executing gate, tokens are refused under specific decoy-pool conditions, and NO_DATA is returned when the token has not traded in the discovery window. This is strong behavioral disclosure for a read-like screening tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence states the purpose and core outputs, the second clarifies scope with a critical exclusion, and the third explains the NO_DATA edge case. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter screening tool with no annotations and no output schema, the description gives enough to invoke it correctly: expected inputs, outputs, refusal conditions, and the no-data edge case. It does not specify the exact shape or types of the returned fields, but that is not necessary for calling the tool successfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the single parameter 'ca' with 100% coverage, so the description adds little parameter-level meaning beyond referring to 'contract address'. The baseline of 3 applies because the schema does the heavy lifting and no additional parameter context is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Screen'), a clear resource ('launched Arc token by contract address'), and enumerates the returned information (USDC-paired pool, fee, recent swap count, decoy-pool verdict). It also differentiates itself from siblings by explicitly noting it does NOT run a live buy/sell, which separates it from tools like arc_token_sellsim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: as a 'cheap gate' before doing heavier checks, and it explicitly warns that no live buy/sell is executed. It does not name alternative tools or state explicit when-not-to-use conditions, so it falls just short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arc_token_sellsimA
Honeypot test for an Arc token: a LIVE sell-simulation (buy then sell in one simulated transaction against current chain state) reporting the round-trip fraction recovered. Below ~0.9 the token is likely a honeypot or a punitive-tax trap. This is a heavy, paid-tier route. NO_DATA if the pool cannot be simulated (it is never scored zero on a failed simulation).
| Name | Required | Description | Default |
|---|---|---|---|
| ca | Yes | The token contract address (0x…40 hex). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains that the tool performs a live simulation against current chain state, reports a fraction, returns NO_DATA when simulation fails, and never scores zero on a failed simulation — a useful edge-case guarantee. The paid-tier warning also adds practical context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with the core method front-loaded, followed by the interpretation threshold and the cost/failure caveats. Every sentence adds necessary information, and the parenthetical about failed simulations is valuable rather than redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description covers the operation, the result semantics, how to interpret the result, and the failure case. An agent has enough information to decide when to call it and to interpret either a numeric fraction or NO_DATA correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single parameter ca with 100% coverage, so the baseline is 3. The description adds no extra parameter-level guidance, but none is needed for a single well-documented contract-address parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: a honeypot test for an Arc token via a live buy-then-sell simulation. It also states the output — the round-trip fraction recovered — which clearly separates it from siblings like arc_token_screen or arc_pool_decoy even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear decision threshold: below ~0.9 the token is likely a honeypot or punitive-tax trap. It also flags the route as heavy and paid-tier, warning the agent about cost. However, it does not explicitly name alternative tools or state when NOT to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
v0.1.0- First observed
arc_agent_card - First observed
arc_agent_get - First observed
arc_agents_list - First observed
arc_agents_search - First observed
arc_agents_stats - First observed
arc_health - First observed
arc_launchpads - First observed
arc_lp_apr - First observed
arc_pool_decoy - First observed
arc_rpc_consensus - First observed
arc_token_screen - First observed
arc_token_sellsim
TDQS
Scored across 12 tools
Most tools are clearly distinct: health, launchpads, LP APR, RPC consensus, token screening/simulation, pool decoy, and agent directory operations each target a different resource. The only mild overlap is arc_agents_list vs arc_agents_search vs arc_agent_get, but their descriptions make the distinction clear (list all, search, get one).
All tools use the arc_ prefix with a noun or noun_verb pattern: arc_health, arc_launchpads, arc_lp_apr, arc_rpc_consensus, arc_token_screen, arc_token_sellsim, arc_pool_decoy, arc_agent_card, arc_agents_list, arc_agent_get, arc_agents_search, arc_agents_stats. The pattern is consistent, though arc_token_sellsim is slightly less readable than arc_token_sell_sim would be.
12 tools is well within the ideal 3-15 range. The set covers two coherent domains (Arc DEX data and ERC-8004 agent registry) without feeling bloated; each tool has a specific purpose and the count feels appropriate for the server's scope.
The DEX side covers health, launchpads, LP APR, RPC consensus, token screening, sell-simulation, and decoy-pool detection — a solid analytical surface. The agent side covers list, get, search, and stats, which is complete for a read-only directory. Minor gaps: no tool for historical LP APR or token price/quote, and no agent registration/update (though that may be out of scope for a read-only MCP).
Related MCP Connectors
Market data and web intelligence for AI agents, paid per call in USDC on Base via x402.
Pay-per-call crypto market intelligence for AI agents. USDC on Base via x402.
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
Related MCP Servers
- AlicenseAqualityCmaintenanceLets MCP-capable AI agents interact with the Arcade DEX and launchpad on Circle's Arc L1 to discover markets, get quotes, and execute trades via contract-call descriptors.85 npmMIT

circuit-mcpofficial
AlicenseBqualityBmaintenanceProvides AI agents with real-time Solana data and agent-swarm intelligence as tools, with auto-paid per-call micropayments in CIRC via x402.1013 npmMIT- AlicenseNot gradedqualityCmaintenanceProvides live, read-only access to Robinhood Chain and Lox Corp data, enabling AI agents to query chain stats, token launches, agent details, and more.6 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query Hyperliquid spot market data, including token listings, live prices, 24h volumes, and wallet balances, via pay-per-call x402 micropayments.MIT