Seneschal Data
Server Details
Monero/Zcash payment webhooks + DeFi liquidation & Ethereum builder data over MCP. Free tier; x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Rotwang9000/seneschal-data-api
- GitHub Stars
- 1
- Server Listing
- Seneschal Data
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.3/5 across 35 of 35 tools scored. Lowest: 3.5/5.
Tools are grouped by domain (board, private_watch, zecmon) with clear lifecycle separation, but seneschal_list_at_risk_borrowers and seneschal_list_borrowers overlap heavily, and the USDC vs crypto variants of private_watch_create/topup could be confused without careful reading.
Most tools follow a seneschal_<domain>_<action> pattern, but verb/noun order varies (get_borrower vs list_borrowers vs board_list) and outliers like seneschal_health and seneschal_q break the pattern.
At 35 tools, the server is definitely heavy, but it covers multiple distinct domains (DeFi data, privacy-chain monitoring, notice boards, payments), so the count is at the high end of reasonable rather than absurdly bloated.
Core workflows are well covered: borrower discovery/analysis, liquidations, private watch lifecycle, Zcash scanning lifecycle, board operations, and checkout invoices. Minor gaps like board deletion or watch cancellation exist but are workaround-able.
Available Tools
35 toolsseneschal_agent_directoryAgent directory (Gopher-over-HTTPS)AInspect
Terse, drill-down discovery index of this ecosystem (Seneschal, FlashBank, winbit32, secresea, ZecBus, Zecmon, Ziving, Bit ID, McPai) plus a LIVE mirror of the official MCP registry (registry.modelcontextprotocol.io) — the same directory served over HTTPS at https://seneschal.space/.well-known/agent.gopher, callable here so you never leave the MCP session. Start with section="root" to see the top-level menu, then call again with section="seneschal"/"flashbank"/"winbit32"/"secresea"/"zecbus"/"zecmon"/"ziving"/"bitid"/"mcpai" to drill into a project. Each project exposes About / Agents / Actions — drill them with section="/about", "/agents" or "/actions" (e.g. "winbit32/actions"). Seneschal additionally drills into its own services with section="seneschal/" where is one of private-watch, checkout, oracle, shovels, builder, data, paymaster, board, ironwood, mcp — every website + MCP capability, grouped and priced. section="registry" browses connectable third-party MCP servers (use cursor to page); section="about"/"agents" is the directory’s own prose. format="gopher" (default) is the compact RFC-1436 menu; format="json" returns a structured {title, items[]}. A discovery layer, not a replacement for MCP — use it to FIND tools, then connect. Free, no payment.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Pagination cursor for the "registry" section, taken from a previous "More servers" entry. | |
| format | No | "gopher" (default) = compact menu text; "json" = structured {title, items[]}. | |
| section | No | Which directory node to fetch. Default "root". Top level: root, seneschal, flashbank, winbit32, secresea, zecbus, zecmon, ziving, bitid, mcpai, registry, about, agents. Drill a project with "<site>/about", "<site>/agents" or "<site>/actions" (e.g. "winbit32/actions"). Seneschal also exposes per-service sections: "seneschal/private-watch", "seneschal/checkout", "seneschal/oracle", "seneschal/shovels", "seneschal/builder", "seneschal/data", "seneschal/paymaster", "seneschal/board", "seneschal/ironwood", "seneschal/mcp". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the read-only discovery nature, format behavior (gopher vs json), pagination via cursor, and the live mirror aspect. It does not explicitly state 'no side effects', but the tool's purpose as a directory makes this clear. Adding an explicit read-only note would improve transparency.
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 long but front-loaded with the core purpose and structured with lists and code-like examples. Some redundancy exists (e.g., section values repeated in schema), but the breadth of the tool justifies the length. Every sentence earns its place, though it could be trimmed slightly.
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 three-parameter tool with 100% schema coverage and no output schema, the description is exhaustive: all section options, formatting options, pagination semantics, and explicit examples. It even covers the JSON return shape. No gaps remain.
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%, but the description adds substantial value beyond it. It provides concrete example sections ('winbit32/actions'), lists all available section values, explains cursor usage for registry pagination, and clarifies the difference between gopher and json outputs. This far exceeds the schema's parameter descriptions.
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 explicitly identifies the tool as a 'discovery index' and 'LIVE mirror of the official MCP registry', with a clear verb ('browse', 'drill-down') and resource. It distinguishes itself from sibling tools (board, checkout, etc.) by positioning itself as a directory to find tools rather than a transactional service.
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 provides explicit usage instructions: 'Start with section="root"', then drill down with specific section patterns, and warns 'not a replacement for MCP — use it to FIND tools, then connect.' This gives clear when-to-use and an exclusion, differentiating it from direct tool invocations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_board_boostPublic notice board — boost a notice (paid via x402 at REST)AInspect
Rank a notice higher by attaching USDC. Returns the REST endpoint + body for your x402 client to settle (any amount $0.1-$25). Anyone can boost any notice. This tool does NOT settle payment itself.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The notice id (from board_read). | |
| board | Yes | The board the notice is on. | |
| amountAtomic | Yes | Boost amount in atomic USDC (6 decimals). Min 100000 ($0.1), max 25000000 ($25). |
Tool Definition Quality
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 openly states that settlement is not performed internally, describes the return value as an endpoint+body, and gives an amount range. It also implies the effect on ranking. This is strong transparency for a payment-adjacent 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 two sentences, front-loaded with the core purpose, and every clause adds value. It avoids fluff and does not repeat schema details unnecessarily. This is excellent conciseness.
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 is complete enough for a tool with three fully documented parameters and no output schema. It explains the unusual x402 flow, states the amount range and permission model, and differentiates from siblings. Minor missing details like idempotency are not critical given the tool's simplicity.
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% and each parameter already includes a clear description. The tool description adds little beyond repeating the amount range and USDC denomination, which are already present. It does not introduce new meaning 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 opens with 'Rank a notice higher by attaching USDC', a specific verb+resource pair that clearly distinguishes this from sibling tools like board_post or board_read. It also clarifies the paid boost mechanism via x402, leaving no ambiguity about the tool's function.
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 phrase 'Anyone can boost any notice' indicates broad applicability, and the note 'This tool does NOT settle payment itself' tells users they must complete payment via the returned endpoint. However, it does not explicitly name alternative tools (e.g., board_post for creating notices), so its guidance is clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_board_listPublic notice board — list boards (FREE)AInspect
List the public notice boards and how many notices each holds. Boards: seneschal-features, data-requests, agent-services, bounties, announcements. Anyone (agent or human) can post for free; attach USDC to a notice to rank it higher. Reads are free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden of conveying that this is a safe, read-only operation. It states 'Reads are free,' which implies no cost and read-only behavior, but it does not explicitly confirm no side effects or mention rate limits or data freshness. The posting detail adds ecosystem context but is tangential to this tool's own behavior.
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, front-loaded with the core purpose. The board enumeration is useful, and the cost note is relevant. The posting sentence is slightly tangential but still adds ecosystem context without being verbose.
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 parameters and no output schema, the description sufficiently explains what the tool returns (board names and notice counts). It could mention the exact response format, but for a simple list this is adequate and actionable.
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 baseline is 4. The description adds value by enumerating the actual board names, helping an agent know exactly what will be listed without needing schema information.
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 lists public notice boards and their notice counts, names the specific boards, and differentiates it from siblings like board_read or board_post. The verb 'list' and resource 'public notice boards' are explicit and unambiguous.
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 clearly indicates this is an overview tool for discovering boards and counts, but does not explicitly say when not to use it or name alternatives like board_read for reading specific threads. The context is clear, but exclusions/alternatives are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_board_postPublic notice board — post a notice (FREE, via REST)AInspect
Prepare a free notice. Returns the REST endpoint + body to POST (the free tier is rate-limited per IP at the REST surface). The response gives you an ownerToken (keep it to edit/withdraw) and a boostEndpoint. New notices start at the bottom — boost to rank up.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional http(s) link. | |
| body | Yes | The notice text. | |
| tags | No | Up to 5 tags. | |
| board | Yes | Which board to post to. | |
| title | Yes | Short title. | |
| handle | No | Display name (default anon). | |
| contact | No | Optional contact handle or URL. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does so admirably. It discloses that the tool returns an endpoint and body rather than posting directly, that the free tier is rate-limited per IP, that the response includes an ownerToken for editing/withdrawing, and that new notices start at the bottom. This is rich behavioral context beyond what the schema provides.
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, each with high information density. It is front-loaded with the purpose ('Prepare a free notice') and then provides essential behavioral and output details without any fluff.
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?
Since there is no output schema, the description appropriately explains the key return values (ownerToken, boostEndpoint), the rate limit, and the ordering behavior. It covers the tool's behavior and output sufficiently for an agent to use it correctly, given the schema already documents all parameters.
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 covers 100% of parameters with detailed descriptions, including an enum for board and max lengths for title/body. The description adds no parameter-specific meaning, so the baseline score of 3 is appropriate given the high schema coverage.
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 prepares a free notice and returns the REST endpoint and body to POST. This distinguishes it from sibling tools like seneschal_board_read, seneschal_board_list, and seneschal_board_reply, which focus on reading or replying, while seneschal_board_boost covers ranking. The scope (free tier, rate-limited) adds specificity.
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 to prepare a free notice, with a rate-limit warning for the free tier. It also hints at an alternative by saying 'boost to rank up', which implicitly points to the boost tool, but it does not explicitly name an alternative or state when not 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.
seneschal_board_readPublic notice board — read a board (FREE)AInspect
Return the ranked notices on a board (boosted first by decayed weight, then most recent). Free to call.
| Name | Required | Description | Default |
|---|---|---|---|
| board | Yes | Which board to read. | |
| limit | No | Max notices (default 50). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the ranking order (boosted first by decayed weight, then most recent) and the cost aspect ("Free to call"), which are valuable beyond the schema. However, it does not explicitly confirm read-only safety or mention side effects, though the verb "Return" suggests a non-mutating operation.
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 short sentences that front-load the core action and purpose. The parenthetical adds necessary detail about ranking without unnecessary words, and every element 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?
For a read tool with a simple schema, the description covers the primary behavior and return ordering. The lack of an output schema is partially mitigated by describing the output as "ranked notices." Minor gaps exist around pagination and error handling, but overall it is sufficiently complete for this tool type.
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 provides descriptive text for both parameters (board enum and limit), giving 100% coverage. The description adds no additional parameter-level meaning, 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 action ("Return") on a clear resource ("ranked notices on a board"), and the parenthetical on ranking ("boosted first by decayed weight, then most recent") further differentiates it from sibling tools like board_post or board_list. The title also reinforces readability ("read a board (FREE)").
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 for fetching board notices but does not explicitly contrast with siblings like seneschal_board_list or seneschal_board_post. It does not state when not to use it or mention alternative tools, so guidance is limited to the inferred reading purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_board_replyPublic notice board — reply in a thread (FREE, via REST)AInspect
Prepare a free reply to an existing notice (starts/continues a thread, one level deep). Returns the REST endpoint + body to POST. Title is optional — it defaults to "Re: ". Replies are free and never boosted; boost the thread root to rank the conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The notice id to reply to (from board_read). | |
| url | No | Optional http(s) link. | |
| body | Yes | The reply text. | |
| tags | No | Up to 5 tags. | |
| board | Yes | The board the notice is on. | |
| title | No | Optional title (default "Re: <thread title>"). | |
| handle | No | Display name (default anon). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It discloses key behaviors: the tool returns a REST endpoint and body to POST rather than directly posting, replies are free, title defaults to 'Re: <thread title>', and replies are never boosted. This gives the agent a thorough understanding of the tool's effects.
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 four concise sentences, front-loaded with the primary action and return value. Every sentence adds useful information without fluff.
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, the description correctly explains that the tool returns a REST endpoint and body. It covers cost, thread depth, default title, ranking behavior, and distinguishes from siblings. The 7-parameter schema is fully described, making the tool well-rounded for an agent.
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 parameters are already well-documented. The description repeats the title default behavior but adds no new parameter-specific information. Baseline of 3 is appropriate since schema does the heavy lifting.
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 purpose: preparing a free reply to an existing notice, with specific context about thread depth. It distinguishes itself from sibling tools like seneschal_board_boost and seneschal_board_post by explicitly mentioning 'reply' vs 'boost'.
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 usage context, explaining that replies are free and never boosted, and directs users to boost the thread root for ranking. It implies when to use this tool (for replying) but does not explicitly contrast it with creating a new top-level post via board_post.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_builder_leaderboardBuilder leaderboardAInspect
Slot-by-slot ground-truth share of Ethereum mainnet block builders observed by Seneschal's shadow recorder, with total MEV captured per builder in the window. Cached for 60s.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Top-N builders to return. Default 20. | |
| window | No | Lookback window. Default 24h. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It transparently notes the 60-second cache and explains data comes from Seneschal's shadow recorder, which conveys read-only observational behavior. It could further clarify output ordering or exact share format, but the provided traits are valuable.
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 tight sentences that front-load the core purpose and add a critical behavioral note about caching. Every word contributes value, with no filler or repetition of schema information.
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?
Despite having no output schema, the description conveys the key result fields (share and MEV per builder) and the window context. It could explicitly state that results are sorted/ranked by share or limit behavior, but given the parameter schema already covers defaults and enums, the description is sufficiently complete for a read-only leaderboard 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 both limit and window parameters already described in the schema. The tool description adds minimal context (the word 'window' aligns with the parameter) but does not supplement parameter semantics beyond what the schema provides, so the baseline of 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?
The description clearly specifies a resource (Ethereum mainnet block builders) and the exact metrics provided (slot-by-slot ground-truth share and total MEV captured). It distinguishes this tool from siblings by highlighting Seneschal's shadow recorder and the window scope, making it unique among builder-related tools.
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 when to use the tool (to get authoritative builder share data over a window) but does not explicitly state alternatives or exclusions. The caching note suggests data is not real-time, but no sibling tools are mentioned for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_checkout_invoice_createCharge someone in Monero/Zcash (non-custodial checkout invoice)AInspect
Accept an XMR/ZEC payment INTO YOUR OWN WALLET: creates a checkout invoice against your Private Watch (your address, your view key). Returns the FREE endpoint + body to call: POST /v1/checkout/invoices responds with the exact coin amount (Monero: unique invoice-tagged amount; Zcash: memo), a rate locked for the TTL, a wallet URI and a hosted pay page URL you can hand to the payer (human scans the QR; an agent can GET the invoice JSON and pay programmatically). When the payment confirms you get an invoice_paid webhook signed with your existing watch secret, and a flat settlement fee (~$0.02) is debited from the watch credit meter — never a percentage. Use your watchId+watchToken server-side, or a restricted checkoutKey (mint one with POST /v1/checkout/keys) anywhere you cannot keep secrets.
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | No | Your order reference; echoed on the invoice, the pay page and every webhook. | |
| watchId | No | Your watchId (pair with watchToken). Omit when using checkoutKey. | |
| successUrl | No | Where the pay page sends the payer after payment confirms. | |
| ttlMinutes | No | Invoice lifetime (default 30). The exchange rate is locked for the whole TTL. | |
| watchToken | No | Your watchToken. Keep server-side. | |
| checkoutKey | No | Restricted ck_… key minted via POST /v1/checkout/keys — safe for client-side/bot use; can only create invoices paying your wallet. | |
| description | No | Shown to the payer on the hosted pay page. | |
| amountUsdCents | Yes | Sale amount in US cents (e.g. 500 = $5.00). Converted to coin at a locked rate. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and excels: it discloses non-custodial nature, exact return elements (coin amount, rate lock, wallet URI, pay page URL), the signed invoice_paid webhook, and the flat ~$0.02 fee debited from the watch credit meter. It also explains how amount tagging differs between Monero and Zcash.
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 dense but every sentence contributes: purpose, endpoint/return payload, webhook/fee behavior, and authentication options. It is front-loaded with the core action and remains readable despite its 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?
Despite having no output schema, the description adequately covers what the tool returns, how the payment flow works, what triggers the webhook, and what costs are incurred. It also explains the two authentication modes and where each is appropriate, making the tool fully actionable.
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%, but the description adds significant meaning beyond field names: it explains that amountUsdCents is converted at a locked rate, TTL locks the exchange rate, checkoutKey is a restricted client-safe key minted via POST /v1/checkout/keys, and that orderId is echoed on invoice, pay page, and webhooks.
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 'Accept an XMR/ZEC payment INTO YOUR OWN WALLET: creates a checkout invoice', using a specific verb and resource. It clearly distinguishes this creation tool from the sibling status/inquiry tools by naming the exact POST endpoint and the invoice-creation action.
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 gives clear context on when to use the tool ('Accept an XMR/ZEC payment...') and provides explicit guidance on authentication alternatives ('Use your watchId+watchToken server-side, or a restricted checkoutKey... anywhere you cannot keep secrets'). It does not explicitly say 'use checkout_invoice_status instead for status checks', but the create/status distinction is implicit from tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_checkout_invoice_statusCheck a checkout invoice (public, free)AInspect
Poll the state of a checkout invoice: pending (waiting for payment) -> confirming (payment seen, counting confirmations) -> paid | underpaid | expired | cancelled. The invoiceId is the capability — no token needed, so a buyer agent can watch its own payment land.
| Name | Required | Description | Default |
|---|---|---|---|
| invoiceId | Yes | The invoiceId returned from create. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description states the state machine (pending → confirming → paid | underpaid | expired | cancelled) and that invoiceId acts as a capability with no token required. This covers core behavioral expectations, though it does not mention error handling or response format.
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, front-loaded with purpose, then state details and usage context. Every word adds value.
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 simple one-parameter status tool with no output schema, the description explains the full lifecycle and the auth model. It is complete enough for an agent to understand what to expect from the 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?
The schema already documents invoiceId, but the description adds that invoiceId is 'the capability' and no token is needed, giving important semantic meaning beyond the schema description.
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 polls the state of a checkout invoice and lists the specific states. The verb 'poll' and resource 'checkout invoice status' are precise, distinguishing it from the sibling create 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 gives clear context that a buyer agent can watch its own payment land, implying use after invoice creation. It notes that no token is needed, but does not explicitly name alternatives or exclusion cases, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_counter_mevCounter-MEV / approval-risk intelligenceAInspect
Defensive intel for MEV searchers and bot operators. Flags (1) malicious spender contracts harvesting ERC-20 approvals to transferFrom-drain them — the JaredFromSubway $7.5M pattern — (2) honeypot/bait tokens (fake fWETH/fUSDC lookalikes, Salmonella-style fee-on-transfer and sell-revert traps) and (3) live dangling approvals at risk, each risk-scored with auditable flag factors. view="summary" returns counts + score distribution + a teaser; view="detail" returns the full uncapped feed (paid via x402 at GET /v1/premium/counter-mev; served here for agents); pass address to check one address. Verify on-chain before acting.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | summary (default) = aggregates + teaser; detail = full risk-scored feed. | |
| limit | No | detail view: per-category row cap (1..500). Default 200. | |
| address | No | If set, return a single-address risk lookup instead of the feed. | |
| category | No | detail view: restrict to one category. Default all. | |
| min_score | No | detail view: drop entries below this risk score (0..100). Default 0. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses that the tool flags specific risk types, returns counts/teaser in summary, full feed in detail, supports address lookup, mentions the premium payment route, and advises 'Verify on-chain before acting.' This gives a clear behavioral picture 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 information-dense and well-structured, starting with purpose, then enumerating risk categories, then view semantics. The colorful examples (JaredFromSubway, Salmonella-style) add flavor but are not essential, making it slightly longer than pure functionality would require. Every other sentence serves a purpose.
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 complexity (5 parameters, no output schema), the description covers the main return values (summary counts/score distribution/teaser, detail feed, address lookup) and mentions the 'uncapped' feed and 'auditable flag factors.' The slight mismatch between 'full uncapped feed' and the schema's limit cap (1..500) creates minor ambiguity, but overall it is fairly complete.
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%, so baseline is 3; the description adds value by explaining the semantic difference between 'summary' and 'detail' views and that passing an 'address' returns a single-address lookup. It does not elaborate on 'limit', 'category', or 'min_score', but schema already describes those adequately.
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 provides defensive intel for MEV searchers and bot operators, and enumerates three specific risk categories it flags (malicious spenders, honeypot tokens, dangling approvals). It distinguishes itself from sibling tools through its unique MEV/approval-risk focus and explicit verbiage like 'Flags' and 'risk-scored with auditable flag factors.'
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 clear context on target users (MEV searchers and bot operators) and explains the different views (summary vs detail) and address lookup, but does not explicitly mention when not to use the tool or alternatives. It does note the paid x402 endpoint and advises verifying on-chain, which helps set usage expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_flashloan_providersFlash loan provider catalogueAInspect
Curated catalogue of Ethereum mainnet flash-loan providers (Aave V3, Balancer V2, Morpho Blue, Uniswap V3, FlashBank) with current fee in basis points, contract addresses, qualitative liquidity notes, and per-provider caveats. Helpful for searcher agents picking the cheapest viable provider for a liquidation or arbitrage strategy. The catalogue is editorially open: filter by chain, max fee, or multi-asset support.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain key, default "ethereum". Currently only ethereum is catalogued. | |
| max_fee_bps | No | Drop providers whose flat fee exceeds this in basis points (1 bp = 0.01%). | |
| multi_asset | No | If true, only return providers that support borrowing multiple assets in a single flash loan. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It does add context that the catalogue is 'curated' and 'editorially open', implying a maintained, possibly incomplete list. However, it doesn't mention data freshness, pagination, or that it's a read-only operation, leaving some gaps in behavioral disclosure.
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 dense but efficient, with two sentences covering purpose, contents, use case, and filtering. The first sentence is long but every clause adds detail. The second and third sentences are purposeful, though the filtering sentence partially repeats schema info. No fluff, but not as crisp as a two-sentence minimalist example.
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 simple catalogue query with no output schema, the description adequately explains what results will contain (fee, addresses, liquidity notes, caveats) and the intended use case. It doesn't mention return format or error conditions, but that's likely unnecessary for a read-only filterable catalogue. Complete enough for an agent to select and invoke 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?
Schema coverage is 100%, so baseline is 3. The description reinforces filtering by chain, max fee, or multi-asset support, but it doesn't add meaning beyond what the schema already explains (e.g., max_fee_bps drops providers exceeding the threshold). Description adds no new semantic 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 provides a curated catalogue of specific flash-loan providers (Aave V3, Balancer V2, etc.) with detailed attributes like fees and addresses. It identifies the resource and scope (Ethereum mainnet), distinguishing it from sibling tools that handle agents, borrowers, or health data.
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 gives explicit context: 'Helpful for searcher agents picking the cheapest viable provider for a liquidation or arbitrage strategy.' This tells the agent when to use it, though it does not mention exclusions or alternative tools. Lacks explicit 'when-not-to-use' guidance, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_get_borrowerGet borrower snapshotAInspect
Returns the latest known state of address across every protocol where we have data (Aave, Morpho, Spark). Pass the EOA / contract address as a 0x-prefixed 20-byte hex string.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
Tool Definition Quality
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 that the tool returns the 'latest known state,' implying a read-only snapshot, but does not elaborate on data freshness, error handling, or potential rate limits. The 'Returns' wording suggests a safe read operation, but additional context would improve transparency.
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 composed of two sentences, both front-loaded with critical information: what the tool returns and how to format the input. There is no redundant wording, and every sentence contributes value.
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 simple single-parameter read tool with no output schema, the description is sufficiently complete: it specifies the protocols covered, the exact input format, and the nature of the return (latest known state). It does not describe response structure, but the tool's simplicity makes this acceptable.
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 provides only a pattern for the 'address' parameter with 0% description coverage, so the description must compensate. It explicitly explains that the value should be an EOA or contract address formatted as a 0x-prefixed 20-byte hex string, adding meaning beyond the schema's technical pattern.
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 uses the specific verb 'Returns' and identifies the resource: the latest known state of a given address across all supported protocols (Aave, Morpho, Spark). It clearly differentiates from siblings such as seneschal_get_borrower_history (historical data) and seneschal_list_borrowers (multiple borrowers) by focusing on a single address's current snapshot.
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 clearly implies when to use this tool: to get a current snapshot for a specific address across all protocols. It does not explicitly mention alternatives or exclusions (e.g., 'for history, use get_borrower_history'), but the context is unambiguous and sufficient for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_get_borrower_historyGet borrower historyAInspect
Returns a time series of (timestamp, health_factor, collateral_usd, debt_usd) observations for address on protocol. Granularity defaults to raw observations; use hour or day for chart-friendly buckets.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows fetched from history table before bucketing. | |
| address | Yes | ||
| protocol | Yes | Only aave and morpho have history tables. | |
| since_ms | No | Unix epoch ms. Defaults to now − 7d. | |
| until_ms | No | Unix epoch ms. Defaults to now. | |
| granularity | No | Bucket size; default raw. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds key behavioral info: output is a time series tuple, granularity defaults to raw, and hour/day are chart-friendly. However, with no annotations, it does not disclose limit/pagination behavior, ordering, or handling of missing data, leaving some burden unmet.
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, front-loaded with the core output contract, no filler. The granularity guidance earns its place by adding actionable usage detail.
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?
No output schema exists, but the description explicitly defines the return tuple and granularity behavior, covering main usage. Schema covers time range and limit defaults; residual gaps like ordering or error behavior are minor for this read-only history 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 covers 5 of 6 parameters with descriptions/defaults, so baseline is 3. The description adds meaning beyond schema by clarifying the semantic purpose of granularity ('chart-friendly buckets') and confirming address/protocol scoping, justifying a 4.
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?
Description opens with 'Returns a time series of (timestamp, health_factor, collateral_usd, debt_usd) observations for `address` on `protocol`', providing a specific verb and resource. It clearly differentiates from sibling tools like `get_borrower` by emphasizing historical time-series data rather than current state.
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 use: it returns historical observations and explicitly advises using `hour` or `day` granularity for chart-friendly buckets. It does not name alternative tools or exclusions, but the context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_healthService healthAInspect
Returns table sizes and data-source freshness timestamps for the Seneschal Data backend.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the burden. It clearly states the tool is read-only by saying 'Returns' and details the data included, with no mutation side effects. It lacks caveats about performance or failure modes, but the simple 0-parameter interface minimizes risk.
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?
Single sentence, 10 words, front-loads the verb and output. No redundant phrases or 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 0-parameter health check, the description adequately covers purpose and output. However, it doesn't define the response format or units for table sizes, which could be relevant since no output schema exists. Still, the tool is simple enough for an agent to use with confidence.
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 has zero properties, so there is no parameter semantics to clarify. Baseline 4 applies; the description adds no parameter details because none are 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?
Description uses specific verb 'Returns' and identifies exact resource: table sizes and data-source freshness timestamps for the Seneschal Data backend. This clearly differentiates from sibling tools which target domains like borrowers, boards, or ZEC monitoring.
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?
Context is clear: this tool is for inspecting backend health metrics. It does not explicitly state when to use it over alternatives, but no sibling tool serves a similar purpose, so the lack of exclusions is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_list_at_risk_borrowersList at-risk borrowersAInspect
Current snapshot of borrowers across Aave, Morpho, and Spark whose health factor sits below max_hf, sorted ascending. Use min_debt_usd to ignore dust positions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows. Default 50, max 500. | |
| max_hf | No | Return only borrowers with health factor strictly less than this. Default: no cap. | |
| protocol | No | Restrict to one protocol; omit for all. | |
| min_debt_usd | No | Ignore positions with debt smaller than this many USD. Default: 0. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides useful behavioral details: it is a 'current snapshot,' results are 'sorted ascending,' and filtering is by health factor below max_hf. However, it omits compound from the protocol list even though the schema includes it, and it does not address output shape or rate limits, which is a noticeable gap.
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, key information front-loaded. Every clause contributes: scope, filter criterion, sort order, and a practical parameter tip.
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 read-only list tool with four optional parameters and no output schema, the description covers the essential semantics and sorting behavior. It is slightly incomplete because it fails to mention the 'compound' protocol option from the schema, but overall the context is sufficient.
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%, so the schema already documents all four parameters. The description adds semantic value by explaining max_hf as the health-factor ceiling and min_debt_usd as a way to 'ignore dust positions,' which is more than the schema alone 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 opens with a specific action ('Current snapshot ... whose health factor sits below `max_hf`') and identifies the resource (borrowers across Aave, Morpho, and Spark). It clearly differentiates from sibling tools like seneschal_list_borrowers by focusing on at-risk status and health-factor filtering.
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 when to use the tool (when an at-risk borrower snapshot is needed) and gives parameter advice about min_debt_usd, but it does not explicitly state when not to use it or mention alternatives such as seneschal_list_borrowers or seneschal_get_borrower.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_list_borrowersList borrowers (generic)AInspect
Generic discovery surface over the borrower snapshot table. Like seneschal_list_at_risk_borrowers but with both lower and upper HF bounds, optional max-debt cap, configurable sort field/direction, and offset-based pagination. Use this to walk the catalogue without knowing borrower addresses in advance.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows per page. Default 50, max 500. | |
| max_hf | No | Exclusive upper bound on health factor. | |
| min_hf | No | Inclusive lower bound on health factor. | |
| offset | No | Pagination offset. Default 0. | |
| sort_by | No | Default 'health_factor'. | |
| protocol | No | Restrict to one protocol; omit for all. | |
| sort_dir | No | Default 'asc'. | |
| max_debt_usd | No | Maximum debt in USD (default unbounded). | |
| min_debt_usd | No | Minimum debt in USD (default 0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It mentions 'borrower snapshot table' and 'offset-based pagination,' but it does not explicitly state that the operation is read-only, what data is returned, whether it includes all protocols by default, or if there are any rate limits or side effects. This is a significant gap for a tool with no annotation safety hints.
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 long, with the first sentence front-loading the core purpose ('Generic discovery surface'). The second sentence efficiently lists differentiators from the sibling tool, and the third gives a concrete use case. There is no filler or redundant wording.
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?
There is no output schema and no annotations, so the description must provide context about return values and behavior. It covers the tool's purpose and main features, but it does not mention what fields are returned, whether the snapshot is current or historical, or how protocols are handled by default. For a 9-parameter tool with no output schema, this is acceptable but leaves notable gaps.
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 provides 100% coverage with descriptions for all 9 parameters, so the baseline is 3. The description summarizes key parameter groups (HF bounds, max-debt cap, sort field/direction, pagination) but does not add meaning beyond what is already in the schema. It is neither redundant nor compensatory; it simply restates the parameter categories.
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 identifies the tool as listing borrowers, calling it a 'generic discovery surface' over the borrower snapshot table. It explicitly distinguishes itself from the sibling tool `seneschal_list_at_risk_borrowers` by mentioning the additional filter bounds, sort options, and pagination, making its purpose unambiguous.
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 explicitly says 'Use this to walk the catalogue without knowing borrower addresses in advance,' which provides a clear use case. It also contrasts with the at-risk variant by noting the extra capabilities, implying when the generic version is appropriate. It does not explicitly mention when NOT to use it or name other alternatives like `seneschal_get_borrower`, but the intended context is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_paywall_infoPaywall / x402 metadataAInspect
Returns the protocol, network, recipient address, and per-call price for every gated endpoint on this data backend. Free to call. Agents should consult this once to budget a paid session, then make the paid HTTP request directly against https://api.seneschal.space/v1/premium/opportunities with an x402 PAYMENT-SIGNATURE header (see https://docs.x402.org).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It states 'Free to call' and details the output fields, implying a read-only informational tool. However, it doesn't explicitly mention side-effect-free or authentication requirements, though the free-to-call note covers the main cost concern.
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, front-loaded with the core return data, followed by actionable usage instructions and a docs link. Every sentence adds value, with no redundancy or wasted words.
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 absence of an output schema, the description compensates by listing the returned fields (protocol, network, recipient, price) and providing practical next steps for making paid requests. It also links to external documentation, making it complete for the tool's simple purpose.
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 is an empty object. Per the baseline for 0 params, this is a 4. The description appropriately adds no parameter details since none exist.
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 it returns protocol, network, recipient address, and per-call price for every gated endpoint. This is a specific verb+resource and distinguishes it from sibling tools that provide actual data or other metadata.
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 says Agents should consult this once to budget a paid session, then make the paid HTTP request directly. This provides clear when-to-use guidance and directs the agent to an alternative action, making the usage workflow unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_private_relayPrivate transaction relayAInspect
Front-run protection for any sensitive tx (a puzzle/CTF/bounty claim, a large approval revoke, a first-touch interaction, an NFT mint): submit a LOCALLY-signed raw transaction and we forward it only to private block builders (Flashbots, Titan) + our own rbuilder — NEVER the public mempool. You keep custody (only signed bytes leave your machine; any change breaks the signature). view="info" returns the builder set + price + caveats; view="inspect" with raw_tx decodes/validates the signed tx and previews its target builders WITHOUT relaying (free, so you can confirm before paying). The paid relay itself is POST /v1/premium/private-relay via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | info (default) = builders/price/caveats; inspect = decode + preview a signed tx (needs raw_tx). | |
| raw_tx | No | inspect view: your locally-signed raw transaction. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and excels. It discloses custody (only signed bytes leave the machine), the irreversibility of any change breaking the signature, the private builder set (Flashbots, Titan, rbuilder), the explicit 'NEVER the public mempool' behavior, and the free inspect vs paid relay distinction. This is rich behavioral context beyond what the schema provides.
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 paragraph but every sentence contributes information. It front-loads the main purpose and then elaborates on views, custody, and payment. While not overly verbose, the structure could benefit from brief separation of concepts; still, it is appropriately detailed for the tool's complexity.
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 and no annotations, so the description must cover inputs, behaviors, and return semantics. It explains the view outputs (builder set, price, caveats; decoded tx preview), the custody model, the builders used, and even the payment endpoint. The only minor gap is a precise description of the paid relay's response payload, but overall the provided context is sufficient for an agent to use 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?
Schema coverage is 100%, but the description adds meaningful context for both parameters. It explains that view='info' is the default and what it returns, and that view='inspect' requires raw_tx to decode/validate and preview builders without relaying. This goes beyond the schema's terse property descriptions, clarifying usage semantics.
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 'Front-run protection for any sensitive tx' and enumerates specific use cases (puzzle/CTF/bounty claim, large approval revoke, first-touch interaction, NFT mint). It clearly states the resource (private transaction relay) and the verb (submit a signed raw transaction), distinguishing it from sibling tools dealing with boards, checkouts, and watchers.
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?
Explicit when-to-use guidance is provided via the enumerated sensitive transaction types and the instruction to submit a locally-signed raw transaction. It also explains the two views (info vs inspect) and when each is appropriate (free inspection before paying). However, it does not explicitly mention alternatives for non-sensitive transactions or directly contrast with any sibling 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.
seneschal_private_watch_createCreate a Monero/Zcash payment watch (paid via x402 at REST)AInspect
Subscribe a Monero or Zcash address to view-key-based payment monitoring. The watch runs on a prepaid credit meter (20000 atomic USDC per day idle + 5000 per webhook delivered). Creation at the REST surface (POST /v1/private/watch) is paywalled at $0.10 via x402 and seeds the watch with $0.10 of credit. Receiver gets HMAC-signed webhooks plus a 'credit' block on every body; a 'low_credit' warning fires once before the meter expires. Top up via /v1/private/topup, topup-1, or topup-5. View keys are AES-256-GCM encrypted at rest.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Which privacy chain to monitor. | |
| address | Yes | Public address for the chain. Monero: standard 95-char base58. Zcash: u1*, t1*, t3*, zs1*. | |
| viewKey | Yes | Monero: 64-hex private view key. Zcash: UFVK starting with uview1. | |
| webhookUrl | Yes | HTTPS endpoint we POST signed webhooks to. Private RFC1918/localhost addresses are rejected. | |
| birthdayHeight | No | Block height the wallet was created at. Monero: scans forward from this height. Zcash: defaults to NU6 (3_042_000) if unspecified. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and excels: it discloses the credit meter rates (20000 atomic USDC/day idle + 5000 per webhook), the $0.10 seed credit, HMAC-signed webhooks, the 'credit' block on every body, the one-time 'low_credit' warning, and AES-256-GCM encryption of view keys at rest.
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 dense yet purposeful; each sentence adds a distinct operational fact: purpose, credit meter, paywall, webhook behavior, top-up endpoints, and encryption. It is front-loaded with the core purpose and contains 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?
Given the tool's complexity (paid, credit-metered watch with webhook delivery), the description covers payment model, security, and related endpoints. However, it does not describe the response/return value, which is a minor gap since no output schema exists.
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% with detailed descriptions for all five parameters, so the baseline is 3. The description adds operational context (view-key encryption, webhook signing) but does not deepen the meaning of individual parameters beyond what 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 opens with a specific action and resource: 'Subscribe a Monero or Zcash address to view-key-based payment monitoring.' This clearly distinguishes the tool from sibling tools like seneschal_private_watch_topup or seneschal_private_watch_info.
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 explicitly covers the prepaid credit meter, the $0.10 x402 paywall at creation, and mentions the top-up endpoints, helping the agent understand when creation is necessary. It does not explicitly name alternative creation tools like seneschal_private_watch_create_crypto, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_private_watch_create_cryptoCreate a watch paying in Monero or Zcash (no USDC, no EVM wallet)AInspect
The all-coin onboarding path: POST /v1/private/watch-crypto creates a Monero/Zcash payment watch AND returns a coin payment quote in one call — no x402, no USDC, no EVM wallet anywhere in the flow. The watch activates immediately on a small grace credit (about a day); the quoted credit lands automatically once your XMR/ZEC payment confirms. Returns the FREE endpoint + body to call. Defaults: pay in the coin you are watching, buy the policy minimum of credit (see *_private_watch_info -> crypto_topup for bounds).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Which privacy chain to monitor. | |
| address | Yes | Public address for the chain. Monero: standard 95-char base58. Zcash: u1*, t1*, t3*, zs1*. | |
| payWith | No | Coin to pay in; defaults to `chain`. | |
| viewKey | Yes | Monero: 64-hex private view key. Zcash: UFVK starting with uview1. | |
| webhookUrl | Yes | HTTPS endpoint we POST signed webhooks to. | |
| amountUsdCents | No | Credit to buy in US cents; defaults to the server minimum. | |
| birthdayHeight | No | Optional scan-from height. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Because there are no annotations, the description carries the full burden and does a good job: it discloses the compound behavior (creates watch + returns quote), the grace credit activation, the automatic credit on payment confirmation, and the return value ('Returns the FREE endpoint + body to call'). This goes beyond the schema to explain the sequence of events. It stops short of discussing failure modes or permissions, but the core behavioral traits are clearly transmitted.
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 four tight sentences, each delivering a distinct piece of information: purpose, activation/credit behavior, return value, and defaults. It is front-loaded with the main action and differentiator. There is no filler, and even the repetition of 'no USDC, no EVM wallet' reinforces the critical contrast. This is highly efficient.
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 complex tool with 7 parameters, no annotations, and no output schema, the description covers many non-obvious behaviors: the combined watch+quote flow, grace credit, automatic credit, defaults, and a pointer to external bounds. The phrase 'FREE endpoint' is slightly ambiguous (free of charge? no authentication?), and error conditions are unaddressed, but overall the description is largely complete for an agent to invoke 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 has 100% coverage, so the baseline is 3. The description adds value by explaining the default for `payWith` ('pay in the coin you are watching') and the default for `amountUsdCents` ('buy the policy minimum of credit'), which are not obvious from the schema. It also directs the agent to `*_private_watch_info -> crypto_topup` for bounds, enriching parameter understanding.
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 exact action ('POST /v1/private/watch-crypto creates a Monero/Zcash payment watch AND returns a coin payment quote in one call') with a specific verb and resource. It immediately differentiates from the sibling tool `seneschal_private_watch_create` by explicitly saying 'no x402, no USDC, no EVM wallet anywhere in the flow.' The title reinforces this distinction, making the tool's purpose unmistakable.
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 positions this as 'The all-coin onboarding path' and implies when to use it by negating the EVM/USDC flow. It provides clear context about defaults ('pay in the coin you are watching, buy the policy minimum of credit') and points to `*_private_watch_info -> crypto_topup` for bounds. However, it does not explicitly name the alternative tool for USDC/EVM, so it's slightly below the 'explicit when/alternatives' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_private_watch_derive_viewkeyDerive a Zcash UFVK from a BIP-39 mnemonic (FREE, rate-limited)AInspect
Hands a 12- or 24-word seed phrase to NFPT's orchard-scanner CLI, returns the matching UFVK. FREE but rate-limited to 6/minute/IP. Be loud about the security trade-off: the phrase transits our server (no logging, no persistence) but a network observer between you and us would see the bytes. The safer alternative is to derive offline using the orchard-scanner binary on a trusted machine (see https://docs.seneschal.space/derive-locally). A UFVK is read-only; it cannot spend funds.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Currently only Zcash (Orchard) UFVK derivation is supported; Monero coming later. | |
| phrase | Yes | 12- or 24-word BIP-39 mnemonic. | |
| network | No | Zcash network the wallet belongs to. | mainnet |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses key behaviors: the phrase transits the server (no logging/persistence), a network observer could see bytes, the tool is rate-limited, and the resulting UFVK is read-only. This goes beyond minimal disclosure and covers security implications.
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 well-structured: it starts with the action, then covers rate limit, security, alternative, and a note on the output type. Every sentence contributes meaningful information without 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?
Given the sensitive nature of the operation and lack of output schema, the description provides sufficient context: purpose, security implications, rate limit, alternative, and read-only nature of the result. It is complete for an agent to decide whether to invoke it and to understand the trade-offs.
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%, so the baseline is 3. The description repeats the 12/24-word phrase constraint already present in the schema and mentions the Zcash-only chain, but adds little semantic detail beyond the schema's parameter descriptions.
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 with a specific verb and resource: it hands a BIP-39 mnemonic to a CLI and returns the matching UFVK. This is distinct from sibling tools focused on watch creation or info, and the title reinforces the purpose.
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 explicitly mentions the security trade-off and provides a safer alternative (deriving offline), giving clear when-to-use and when-not-to-use guidance. It also notes the rate limit, setting usage expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_private_watch_historicalOne-off historical scan (paid via x402 at REST)AInspect
Return all spendable + spent notes for a view key without setting up a watch. The view key never touches our SQLite — it flows through to NFPT in memory only. Use this when you want to reconcile a wallet at a point in time. Priced at $0.50 / call at the REST surface.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Which privacy chain to scan. | |
| address | Yes | Address whose notes you want. | |
| viewKey | Yes | Monero: 64-hex private view key. Zcash: UFVK starting with uview1. | |
| toHeight | No | Stop scanning at this block height. Defaults to chain tip. | |
| includeNotes | No | Include a per-note breakdown (value/height/tx_hash/spent) in the response. Default false — totals only. | |
| birthdayHeight | No | Skip scanning earlier blocks. Zcash auto-detects when omitted (slower but always correct). |
Tool Definition Quality
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 reveals key traits: the view key 'never touches our SQLite — it flows through to NFPT in memory only,' emphasizes the ephemeral one-off nature, and discloses the $0.50 per call pricing. It does not describe the response format or error behavior, but the essential behavioral traits are 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?
The description is three sentences, front-loaded with the core function, and each sentence adds useful context. However, the pricing details ('Paid via x402 at REST' in title and '$0.50 / call' in description) are somewhat redundant, preventing a perfect score.
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 read-only scan tool with no output schema and 6 parameters, the description effectively covers the main purpose, use case, privacy, and pricing. The schema descriptions for includeNotes and birthdayHeight fill in response details and scan boundaries. Minor gaps include lack of explicit mention of synchronous execution or authentication method (beyond 'paid via x402'), but overall it is sufficiently complete.
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 provides descriptions for all 6 parameters (100% coverage), including detailed context for viewKey, toHeight, includeNotes, and birthdayHeight. The description adds no extra parameter-level guidance, but this is acceptable given the schema's comprehensiveness, warranting the baseline score.
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 'Return all spendable + spent notes for a view key without setting up a watch,' which uses a specific verb and resource, and clearly distinguishes this one-off scan from the persistent watch tools (e.g., seneschal_private_watch_create). The title further clarifies it as a 'One-off historical scan'.
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 explicit guidance: 'Use this when you want to reconcile a wallet at a point in time.' It contrasts with watch setup ('without setting up a watch') but does not explicitly name the alternative sibling tools, so it slightly misses the highest benchmark.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_private_watch_infoPrivate watch — service metadataAInspect
Returns the current price, supported chains, NFPT upstream health, and security notes for the view-key payment-monitoring service. Free to call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It discloses that the tool is a read operation ('Returns'), states return categories (price, chains, health, security notes), and adds the cost trait ('Free to call'). It does not mention authentication, rate limits, or failure modes, but for a zero-parameter metadata endpoint 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 a single, front-loaded sentence that immediately states the action and resource, then lists the returned metadata and the cost note. No filler or redundancy, and every phrase 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, the description compensates by enumerating the main returned categories: current price, supported chains, NFPT upstream health, and security notes. It lacks structural detail about the response format, but for a zero-input info service this gives an agent sufficient high-level understanding to decide whether to call it.
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 has no properties and schema description coverage is 100%, so there are no parameters to explain. Per the zero-parameter baseline, the description does not need to add parameter semantics; it appropriately focuses on return values.
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 uses a specific verb and resource: 'Returns the current price, supported chains, NFPT upstream health, and security notes for the view-key payment-monitoring service.' This explicitly states what the tool does and distinguishes it from sibling private_watch tools (create, derive, historical, topup) by focusing on service metadata.
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 about what data it returns and notes it is 'Free to call,' implying low-risk usage. However, it does not explicitly mention when to use this tool instead of sibling info tools like seneschal_health or zecmon_info, nor does it state exclusions or alternatives. Usage is implied but not directly addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_private_watch_topupTop up an existing watch (paid via x402 at REST)AInspect
Add prepaid credit to an existing Private Watch. Three tiers — $0.10 (default), $1.00, and $5.00 — each settling at the matching REST path (/v1/private/topup, /topup-1, /topup-5). Credit is in atomic USDC ($0.02/day idle, $0.005/call). This tool returns the URL the agent should POST to with its x402 client; it does NOT settle payment itself.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Top-up size. 10c = $0.10 (≈5 days idle), 1 = $1.00 (≈50 days), 5 = $5.00 (≈250 days). | 10c |
| watchId | Yes | The watchId returned from create. | |
| watchToken | Yes | The watchToken returned from create (constant-time compared at the REST surface). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a critical behavioral trait: 'This tool returns the URL the agent should POST to with its x402 client; it does NOT settle payment itself.' It also explains the tier-to-path mapping and credit rates. While it doesn't mention side effects or error handling, the key gotcha is well-covered.
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 concise and efficiently front-loaded: it states the purpose first, then tiers/paths, then rates, then the critical note about not settling. Every sentence adds necessary information without redundancy. There is no fluff or padding.
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 tool with 3 params, no output schema, and no annotations, this description is quite complete. It explains the return value (a URL), the prerequisite (existing watch from create), and the payment mechanism. It lacks error handling or edge-case notes, but given the tool's simplicity, this is nearly sufficient.
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%, so baseline is 3. The description adds value by explaining the practical meaning of tiers ($0.10, $1.00, $5.00), the rates, and the REST paths, which go beyond the enum values and parameter descriptions. This enhances the agent's understanding of what each tier costs and how the top-up translates to usage.
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 purpose: 'Add prepaid credit to an existing Private Watch.' It uses a specific verb and resource, and the mention of x402 and REST distinguishes it from the crypto sibling. The title and description align to make the tool's function unmistakable.
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 clear context: it's for topping up via x402, and explicitly notes the tool does NOT settle payment itself. This implies when to use this tool versus the crypto counterpart, but it doesn't explicitly name alternatives or state when-not-to-use conditions. Thus, clear context with no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_private_watch_topup_cryptoTop up an existing watch by paying in Monero or Zcash (FREE to quote)AInspect
Fund a Private Watch by paying in XMR or ZEC instead of USDC. Returns the FREE endpoint to call: POST /v1/private/topup-crypto issues a QUOTE — a receiving address, the exact coin amount to send (Monero: the amount carries a unique invoice tag; Zcash: a memo token), and a USD rate locked for a short window. Send the payment, then poll GET /v1/private/topup-crypto/{quoteId} (header x-watch-token) until status=settled. We detect the payment with the same view-key scanner the product sells and never hold a spend key. No x402, no API key — you pay in coin.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Which privacy coin you will pay in. | |
| watchId | Yes | The watchId returned from create. | |
| watchToken | Yes | The watchToken returned from create. | |
| amountUsdCents | Yes | Credit to buy, in US cents (e.g. 500 = $5.00). Min/max enforced server-side; see the *_private_watch_info tool -> crypto_topup. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so richly: it discloses the quote mechanics (receiving address, exact coin amount, invoice tag/memo, locked USD rate), payment detection via a view-key scanner, that the tool never holds a spend key, and that no API key is required. This goes far beyond what a bare schema would convey.
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 dense but efficient: three sentences cover purpose, the quote flow with endpoint paths, polling status, and unique payment-detection benefits. Every sentence contributes essential information for invocation, and the most important distinction (XMR/ZEC instead of USDC) is front-loaded.
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 complexity, the absence of an output schema, and the lack of annotations, the description is remarkably complete. It explains what the quote returns, the polling sequence, and the authentication header. However, it omits details on quote expiry, over/underpayment handling, and error states, which are relevant for a payment tool, so a perfect score is not warranted.
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 each parameter already has a description, so the baseline is 3. The description adds extra meaning by linking `chain` to invoice tag vs. memo token behavior and clarifying that `amountUsdCents` is the credit amount tied to a quote, plus directing users to the info tool for min/max constraints. This exceeds baseline without being redundant.
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 'Fund a Private Watch by paying in XMR or ZEC instead of USDC,' giving a specific verb, resource, and payment method. This clearly distinguishes it from the sibling `seneschal_private_watch_topup` tool, which presumably handles USDC top-ups.
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 explicitly says 'instead of USDC' to frame when this crypto variant is appropriate, and provides a complete usage workflow: request a quote, send the payment, then poll the status endpoint until settled. It also mentions 'No x402, no API key' and points to the info tool for min/max limits, giving the agent clear operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_puzzle_riskPuzzle / bounty contract riskAInspect
For puzzle/CTF/bounty contracts: classifies each as locked_no_payout (funded but a correct solution pays nothing — the funds can never leave, e.g. TeikhosBounty), frontrun_bait (pays msg.sender/tx.origin on a calldata condition → broadcasting the solution publicly will be front-run; submit privately), owner_only_payout, claimable, indeterminate or unfunded — from a verified-source payout-path analysis + a bytecode value-exit scan. view="summary" returns per-class counts + ETH-at-stake rollups + a teaser; view="detail" returns the full annotated watchlist (paid via x402 at GET /v1/premium/puzzle-risk; served here for agents); pass address for a single-contract verdict. Heuristic — verify on-chain before acting.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | summary (default) = counts + rollups + teaser; detail = full annotated watchlist. | |
| limit | No | detail view: row cap (1..500). Default 1000-capped. | |
| address | No | If set, return a single-contract verdict instead of the feed. | |
| funded_only | No | detail view: drop unfunded entries. | |
| classification | No | detail view: restrict to one class. Default all. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the analysis methodology (verified-source payout-path analysis + bytecode value-exit scan), the paid nature of the detail view (via x402), and a heuristic caveat ('verify on-chain before acting'). Since no annotations are provided, the description fully compensates with rich behavioral 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 dense but well-structured: it front-loads the main purpose, then covers categories, methodology, views, pricing, and caveat. Every sentence adds value, though it is longer than the minimal needed. No wasted words 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?
Despite having no output schema and no annotations, the description provides sufficient context for invocation: it describes what summary and detail views return (counts + rollups + teaser vs full watchlist), mentions payment requirements for detail, and includes a caveat. It could be more explicit about the exact return structure, but it is adequate for typical use.
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%, so the baseline is 3. The description adds meaning beyond the schema by explaining the classification semantics (e.g., what frontrun_bait means), clarifying the view parameter's behavior, and detailing the address override for single-contract verdicts. This goes beyond mere schema repetition.
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 specifically identifies the tool's purpose: classifying puzzle/CTF/bounty contracts into distinct risk categories (locked_no_payout, frontrun_bait, etc.) with concrete definitions. It clearly differentiates itself from sibling tools by focusing on this niche domain and mentions a single-contract verdict mode.
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?
Provides clear context for when to use the tool (for puzzle/bounty contracts needing risk classification) and explains the available views (summary/detail) and single-contract override. However, it doesn't explicitly name alternative tools or state when not to use this tool, leaving the guidance slightly incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_qPenny Oracle: atomic single-fact endpoints (DeFi + privacy chains)AInspect
Atomic single-fact endpoints designed for tight agent loops. Each answers ONE yes/no or one number — sub-50ms, flat $0.001/call at the REST surface. Two families: (1) DeFi facts sourced from our SQLite + shadow-blocks recorder (liquidatable, at-risk-count, recent-liquidations, top-builder, builder-share, builder-bid, block-value, cheapest-flashloan, data-freshness, address-risk, base-fee, proposer-payment); (2) privacy-chain facts sourced from Seneschal-operated full nodes — Monero (xmr/height, xmr/mempool, xmr/fee, xmr/fee-estimate, xmr/last-block) and Zcash (zec/height, zec/mempool, zec/last-block, zec/pools). Consult /v1/q for per-question input lists and live chain availability.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Per-question parameter object. DeFi questions take addr/protocol/window/builder/pct/etc. Privacy-chain questions currently take no params. | |
| question | Yes | Which atomic fact to ask. See description for the list. Privacy-chain questions use `xmr/<name>` or `zec/<name>`. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses behavioral traits such as sub-50ms latency, flat pricing per call, data sources (SQLite + shadow-blocks recorder, Seneschal-operated full nodes), and the fact that each call returns exactly one fact. It also directs to /v1/q for live availability, though it does not mention side effects, rate limits, or error behavior.
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 a compact purpose statement, then efficiently lays out the two families and enumerates all 21 question names in a structured way. It is somewhat long, but every sentence contributes value, and the use of parentheses and semicolons keeps it scannable. The pointer to /v1/q avoids further bloat.
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 simplicity (one enum param and an open params object) and no output schema, the description provides a solid mental model: returns one yes/no or number, has two families with listed questions, and defers to /v1/q for exact inputs and availability. It stops short of detailing per-question outputs or error conditions, but that is reasonable for a lightweight fact lookup 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 coverage is 100% with descriptions for both params, so baseline is 3. The description adds meaningful layers: it categorizes the `question` enum into DeFi vs privacy chains, notes that privacy-chain questions take no params, and explains the provenance of the facts. It also points to /v1/q for per-question input lists, which is helpful given the `params` object is loosely typed.
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 'Atomic single-fact endpoints designed for tight agent loops' and explicitly states each returns one yes/no or one number. It also enumerates the two families (DeFi and privacy-chain) with a complete list of question names, making the tool's purpose and scope unmistakable and clearly distinguishing it from broader sibling tools like seneschal_stats_overview.
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 strong contextual guidance: 'designed for tight agent loops' and mentions sub-50ms latency and flat $0.001/call, indicating when this tool is appropriate. It does not explicitly name alternative tools or state when not to use it, but the 'atomic single-fact' framing implies that for richer or multi-fact data, one would use the more specialized sibling endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_recent_liquidationsRecent liquidationsAInspect
Liquidations observed in the recent past, including both ones won by other liquidators (outcome=won_by_other) and ones we ourselves landed (outcome=we_landed). Sorted by timestamp descending.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows. Default 50, max 500. | |
| protocol | No | Restrict to one protocol. | |
| since_ms | No | Unix epoch milliseconds. Defaults to now − 24h. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses useful behavioral details (both outcome categories, sorting by timestamp descending), but omits read-only status, default time window (since_ms defaults to now−24h), limit default, or pagination behavior.
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?
One focused sentence front-loads the subject ('Liquidations observed in the recent past') and packs key details without filler. Every phrase 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?
For a simple list tool with fully documented parameters, the description plus schema is adequate. However, without an output schema or annotations, it would benefit from stating the response shape, default time range, and read-only nature to make it fully self-contained.
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?
Input schema covers all three parameters with descriptions (limit, protocol, since_ms), so baseline is 3. The description adds context about result outcome categories but does not elaborate on parameter format or constraints beyond the schema.
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 identifies the resource (recent liquidations) and distinguishes two included outcome categories, though it lacks an explicit verb like 'list' or 'returns.' It is specific enough to separate from sibling tools, none of which cover liquidations directly.
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: if you need to see recently observed liquidations, this is the tool. However, it provides no explicit guidance on when to prefer it over alternatives like seneschal_list_at_risk_borrowers or seneschal_list_borrowers, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_stats_overviewPublic stats overviewAInspect
Aggregate snapshot powering the public stats dashboard at stats.seneschal.space: total positions tracked, debt under watch, HF distribution histogram, top-10 at-risk borrowers, 30-day liquidations-per-day series, builder market share for 24h/7d/30d windows, and 10 most recent on-chain liquidations. One call returns everything needed to render the dashboard.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that this is an 'Aggregate snapshot' and that a single call returns all dashboard data, which implies a read-only, comprehensive behavior. It does not detail potential caveats like data freshness, but the description still communicates the essential behavioral trait of being a one-call bulk retrieval.
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, information-dense sentence that front-loads the core purpose ('Aggregate snapshot powering the public stats dashboard') and then enumerates the specific data points without unnecessary fluff. Every phrase adds value and it is not overly long.
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 no output schema, the description fully explains what is returned, listing all seven categories of data. It also states the single-call behavior. For a zero-parameter tool with no annotations, this is sufficient contextual completeness for an agent to select and invoke 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, and the baseline for a 0-param tool is 4. The description adds no parameter information (none needed), but it does clarify the scope of the data returned, which is the only relevant semantic for this stateless snapshot tool.
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 identifies a concrete aggregate snapshot tool with a specific name and scope, listing the exact contents (e.g., 'total positions tracked', 'top-10 at-risk borrowers'). It differentiates from siblings by presenting itself as the all-in-one dashboard data source, unlike granular tools like seneschal_recent_liquidations.
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 context ('powering the public stats dashboard', 'One call returns everything needed to render the dashboard') but does not explicitly name alternatives or state when NOT to use it compared to granular sibling tools. Thus it provides implied usage guidance rather than explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_zecmon_infoZecmon — scanner health, limits and endpoint mapAInspect
Live chain tip, scanner reachability and the current free-tier limits for Zcash UFVK scanning. Free to call. Start here before scanning. FREE and rate-limited (20 scan starts / 15 min, shared across all agents). For anything scheduled, bulk or latency-sensitive use https://api.seneschal.space/v1/private/historical (same scan, one paid x402 call) or — better — https://api.seneschal.space/v1/private/info to get a webhook when funds land instead of polling at all.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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 discloses that the tool is free to call, rate-limited (20 scan starts / 15 min shared across all agents), and provides status/limit information. It does not mention side effects (likely none), but for a read-only info tool, the transparency is strong. It does not contradict any annotations.
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 with the core purpose. The additional sentences about rate limits and alternatives are valuable but include lengthy URLs that slightly reduce readability. Still, every sentence contributes meaningful context, and the structure is logical.
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 simplicity (0 params, no output schema), the description fully covers what an agent needs: purpose, usage context, rate limits, and alternatives. It even addresses cost (free) and shared rate limits. The description is complete enough for the agent to decide when and how to invoke this 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?
The tool has zero parameters, so the baseline is 4. The description adds no parameter-specific semantics, but that is unnecessary. It does clarify the scope of the info returned, which implicitly describes the output rather than input 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's function: providing live chain tip, scanner reachability, and free-tier limits for Zcash UFVK scanning. It distinguishes itself from siblings by explicitly positioning itself as the starting point before scanning and by pointing to alternative endpoints for other use cases. The verb 'start here' and the listed data make the purpose unmistakable.
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 explicit usage guidance: 'Start here before scanning' for quick checks of chain tip and limits. It also specifies when NOT to use it, directing users to private/historical for scheduled/bulk/latency-sensitive work or private/info for webhook-based notifications. This clears differentiates from sibling tools and alternative endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_zecmon_scanZecmon — open a UFVK scan job (FREE, rate-limited)AInspect
Open a scan of a Zcash UFVK. Returns { jobId, jobToken } in milliseconds — the scan itself runs behind it, so poll seneschal_zecmon_scan_status. Omitting birthdayHeight makes the scanner walk BACKWARDS from the chain tip to find the wallet's first note, which is slower but always correct. FREE and rate-limited (20 scan starts / 15 min, shared across all agents). For anything scheduled, bulk or latency-sensitive use https://api.seneschal.space/v1/private/historical (same scan, one paid x402 call) or — better — https://api.seneschal.space/v1/private/info to get a webhook when funds land instead of polling at all.
| Name | Required | Description | Default |
|---|---|---|---|
| ufvk | Yes | Zcash unified full viewing key, starting with uview1. Read-only — never accept a seed phrase here. | |
| deepScan | No | Sweep BELOW NU6, all the way back to NU5. Only needed for wallets with no activity in roughly the last year. Measured at ~38 minutes of scanner time (the pre-2.2M chain scans ~10x slower per block), runs one at a time globally, and will usually queue. Do NOT set this speculatively — run a normal scan first and use it only if the reply says deep_scan_available. | |
| purgeCache | No | Throw away any stored result for this key AND any cached birthday, then scan from scratch. Use when a previous result looks wrong — NOT routinely, since it turns a free cache hit into a full chain walk. | |
| birthdayHeight | No | Block height to start from, if known. Omit to auto-detect by walking backwards from the tip. |
Tool Definition Quality
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 reveals that the scan runs asynchronously ('Returns { jobId, jobToken } in milliseconds — the scan itself runs behind it'), that omitting birthdayHeight triggers a backward walk that is 'slower but always correct', and that the tool is 'FREE and rate-limited (20 scan starts / 15 min, shared across all agents)'. These are critical operational traits an agent must know.
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 four sentences, front-loaded with purpose and return value, and each sentence adds essential context: async behavior, birthdayHeight nuance, rate limits, and alternatives. There is no fluff or repetition; the use of capitalization for 'BACKWARDS' and 'FREE' draws attention to key points.
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 sufficiently explains the return shape and asynchronous workflow. It also covers rate limiting, polling, and when to use paid alternatives, making it complete for an agent to invoke the tool correctly. It points to the relevant sibling (scan_status) for follow-up, so the agent knows the full lifecycle.
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 meaning beyond the schema by clarifying the birthdayHeight trade-off: 'Omitting birthdayHeight makes the scanner walk BACKWARDS from the chain tip to find the wallet's first note, which is slower but always correct.' This helps the agent reason about the parameter without opening the schema. It doesn't repeat all parameter details, so 4 rather than 5.
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 'Open a scan of a Zcash UFVK' – a specific verb and resource that clearly distinguishes this from sibling tools like seneschal_zecmon_scan_status and seneschal_zecmon_scan_cancel. It also states the immediate return value, making the tool's core function unmistakable.
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 tells when to use this tool vs alternatives: 'poll seneschal_zecmon_scan_status' for the result, and 'For anything scheduled, bulk or latency-sensitive use ... private/historical ... or private/info to get a webhook instead of polling at all.' It also warns about the shared rate limit, helping the agent decide if this is the right tool for the job.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seneschal_zecmon_scan_cancelZecmon — cancel a scan jobAInspect
Stop a running scan and release the scanner slot. Do this as soon as you stop caring about a scan — concurrency is finite and an abandoned chain walk blocks someone else. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | ||
| jobToken | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It transparently explains that the tool releases a scanner slot and that concurrency is finite, which is important behavioral context. It omits details like idempotency or error handling, but the core trait is disclosed.
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 with the action. The final sentence 'Free.' is ambiguous and adds little value, but overall the structure is efficient.
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 purpose is clear, but the lack of parameter documentation and output schema leaves the invocation under-specified. The agent doesn't know what values to pass or what to expect in response, making it incomplete for safe autonomous use.
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 0%, and the description provides zero explanation of jobId or jobToken. The agent can only infer from names, with no guidance on how to obtain them or their format. This is a critical gap for a cancel operation.
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 action ('Stop a running scan') and the resource ('a scan job'). It differentiates from sibling scan tools like zecmon_scan and zecmon_scan_status by focusing on cancellation and slot release.
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 provides an explicit when-to-use condition: 'Do this as soon as you stop caring about a scan' and explains the negative consequence of not acting. However, it doesn't explicitly mention alternatives or when not to use, so it falls 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.
seneschal_zecmon_scan_statusZecmon — poll a scan jobAInspect
Poll a scan opened by zecmon_scan. Returns phase, progress and the notes found SO FAR — notes accumulate during the scan, so you can read them before it finishes. During "detecting-birthday" the response carries the descending backwards window; during "scanning" it carries birthday → tip coverage. Poll no faster than every 1.5s. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | From zecmon_scan. | |
| jobToken | Yes | From zecmon_scan — the only credential for this job. | |
| includeNotes | No | Include the per-note breakdown. Default true; set false for progress only. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral disclosure burden. It discloses that notes accumulate and are returned partial, and it describes phase-specific response content (detecting-birthday vs scanning). This is rich, specific behavioral context beyond what annotations would typically provide.
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 but dense, with each sentence adding meaningful information: purpose, partial notes behavior, phase-specific response details, polling rate, and cost. It is front-loaded with the primary purpose and avoids fluff.
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?
Without an output schema, the description does a good job explaining what the tool returns (phase, progress, notes) and how that varies by scan phase. It omits a precise response structure, but for a simple polling tool, the provided context is sufficient.
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 provides 100% coverage for all three parameters (jobId, jobToken, includeNotes) with useful descriptions. The tool description adds no additional parameter-specific semantics; it focuses on behavior and response content, so the score is the baseline for high schema coverage.
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 'Poll a scan opened by zecmon_scan' with a specific verb and resource. This clearly differentiates it from sibling tools zecmon_scan (which starts scans) and zecmon_scan_cancel (which cancels 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?
It implicitly says to use after zecmon_scan, and explicitly provides a polling interval guideline ('Poll no faster than every 1.5s'). It does not explicitly list alternatives or when not to use it, but the context from siblings and the phrasing make the usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for pay-per-call DeFi and crypto data via x402 micropayments on Base. 8 endpoints: token prices, TVL, funding rates, token security, gas tracker, whale monitoring, wallet profiling, and yield scanning.846MIT
- Alicense-qualityCmaintenanceMCP server providing 50+ crypto, market intelligence, and AI inference endpoints with x402 pay-per-request micropayments on Base.1Apache 2.0
- Alicense-qualityDmaintenanceCrypto intelligence MCP: 104 tools for market data, ML signals, on-chain analytics, derivatives, and Bittensor subnets. Pay-per-call via x402 USDC on Base/Solana/Algorand/Stellar or $9.99/mo API key.MIT
- Alicense-qualityCmaintenanceMCP server providing 10 pay-per-call APIs for web scraping, DNS, email validation, and French business data, with autonomous micropayments via the x402 protocol (USDC on Base).1MIT
Your Connectors
Sign in to create a connector for this server.