Hermes Plant — Agent Commerce Assurance
Server Details
Preflight, approve, and prove consequential agent actions with signed evidence and x402 tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
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.1/5 across 21 of 21 tools scored. Lowest: 3.5/5.
Most tools have distinct purposes, but there is some overlap between cashflowlens_analyze and dealanalyzer_analyze, as the latter combines DCF and IRR/MOIC functionality. However, descriptions clearly differentiate the flagship from the component tool.
The naming convention is mostly consistent with underscore snake_case, but there is a mix of verb_noun (get_product, list_products) and noun_verb (bond_analyze, cashflowlens_analyze). Overall predictable.
21 tools is on the higher end but well-justified given the multiple subdomains (finance, email, security, assurance, purchase). The count feels comprehensive without being overwhelming.
The toolset covers the major areas of finance analytics, email validation, security scoring, and purchase flow. Minor gaps exist (e.g., no direct CRUD for products beyond listing and purchase), but overall it's thorough for its stated purpose.
Available Tools
25 toolsaction_safety_quick_gateAction Safety - one-cent preflightAIdempotentInspect
AI agent action safety quick gate ($0.01 over x402 or free-tier quota). Deterministically scores a consequential action and returns the exact next call: proceed, request full DestructGuard evidence, or run the complete Action Safety workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory or execution context | |
| repo | No | Repository or project context | |
| actor | No | Agent or tool requesting the action | |
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| branch | No | Branch or environment context | |
| intent | No | Why the action is being requested | |
| channel | No | Discovery channel or source tag | |
| command | Yes | Shell, SQL, Git, deploy, or infrastructure action to preflight | |
| campaign | No | Campaign tag for downstream telemetry | |
| diffStat | No | Optional git diff --stat or change summary | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant context beyond annotations: it explains the deterministic nature, the three possible next calls (proceed, request evidence, run full workflow), and cost implications. It does not contradict annotations; idempotentHint=true aligns with 'Deterministically'. The description compensates for the lack of detailed behavioral disclosure in 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 two sentences, front-loaded with cost and core function. Every sentence serves a clear purpose: first sets context (cost, tier), second defines behavior and outputs. No redundant or extraneous text.
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 (16 parameters, output schema exists) and rich annotations, the description provides a sufficient overview of the three possible return values and the deterministic scoring. It does not explain parameter interactions, but the schema and output schema cover those. The description is complete for a quick gate 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%, so the schema already documents all parameters. The description does not add meaning beyond what the schema provides, except for a high-level reference to 'command'. Baseline 3 is appropriate as the description does not need to compensate.
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 'scores a consequential action and returns the exact next call', providing specific verb ('scores', 'returns') and resource ('action safety quick gate'). It distinguishes from siblings like 'action_safety_run' and 'score_destructguard_command' by implying it's a gate that decides which path to take.
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 mentions it's a 'quick gate' and costs $0.01, implying use for fast preflight checks, but does not explicitly state when to use this versus alternatives (e.g., 'action_safety_run') or when not to use it. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action_safety_runAction Safety - complete workflowBIdempotentInspect
Complete AI agent action safety workflow ($0.25 over x402 or free-tier quota): DestructGuard evidence, conditional ReviewQueue triage for high or critical risk, an honest decision, signed receipt, and 30-day status record. Triage does not imply human approval.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory or execution context | |
| repo | No | Repository or project context | |
| actor | No | Agent or tool requesting the action | |
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| branch | No | Branch or environment context | |
| intent | No | Why the action is being requested | |
| channel | No | Discovery channel or source tag | |
| command | Yes | Shell, SQL, Git, deploy, or infrastructure action to preflight | |
| campaign | No | Campaign tag for downstream telemetry | |
| diffStat | No | Optional git diff --stat or change summary | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations state idempotentHint=true and destructiveHint=false. The description adds workflow steps (DestructGuard evidence, ReviewQueue triage) and payment info, but leaves ambiguity about whether the command is actually executed or just preflighted. This is critical for agent behavior but not fully clarified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that conveys the core workflow efficiently. It avoids unnecessary verbosity, though the pricing detail could be separate. Overall well-structured for 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?
Given the tool's complexity (16 parameters, workflow with conditions), the description only provides high-level steps. It omits details like triage criteria, receipt format, and payment flow details. With an output schema existing, return values are partially covered, but the description lacks completeness for safe agent 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?
All 16 parameters have schema descriptions (100% coverage), so the schema already does the heavy lifting. The description adds no additional parameter-specific semantics, meeting but not exceeding the baseline of 3.
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 performs a complete action safety workflow with specific outputs (DestructGuard evidence, ReviewQueue triage, signed receipt, 30-day record). The verb 'run' is generic but the workflow is well-defined. However, it does not explicitly distinguish itself from the sibling 'action_safety_quick_gate', which may cause confusion about when to use which.
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 usage context (pricing, free-tier, triage caveat) but does not specify when to choose this tool over alternatives like 'action_safety_quick_gate'. It implies use for a full workflow but lacks explicit guidelines or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assurance_attestAssurance Attest — signed receipt for an agent actionAIdempotentInspect
Assurance Attest (x402-paid, $0.05): bind one x402 payment intent or MCP tool call to a canonical HMAC-signed record (binding hash, policy verdict, findings, optional settlement outcome). Loop it after every payment or tool call to build a tamper-evident audit trail a third party can check at the free verify endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| intent | Yes | x402: resourceUrl+method (+scheme/network/asset/amountUnits/payTo/settlement fields). mcp: serverId+toolName (+toolArguments or toolArgumentsHash). | |
| policy | No | Optional buyer policy (policyId+version, caps, allow-lists); omit for binding-only attestation | |
| channel | No | Discovery channel or source tag | |
| outcome | No | Optional settlement outcome: {outcome: fulfilled|failed|rejected, settlementId, responseStatus, evidenceHashes[]} | |
| subject | Yes | Who acted and why | |
| campaign | No | Campaign tag for downstream telemetry | |
| protocol | Yes | "x402" for a payment, "mcp" for a tool call | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true, readOnlyHint=false, destructiveHint=false. The description adds crucial cost info ('$0.05') and the loop pattern. It does not contradict annotations, but could further detail side effects like writing to an audit trail.
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 with no wasted words. The cost and purpose are front-loaded, and the usage pattern (loop) is given. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 parameters, nested objects, and an output schema, the description is somewhat terse but sufficient to orient an agent. It could include a brief example or more parameter hints, but the schema and annotations cover the rest.
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 baseline is 3. The description adds no extra parameter meaning beyond high-level mention of 'intent' and 'outcome'. This is adequate given schema completeness.
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: 'bind one x402 payment intent or MCP tool call to a canonical HMAC-signed record' and 'build a tamper-evident audit trail'. This is a specific verb+resource combination that distinguishes it from sibling 'assurance_verify'.
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 advises to 'Loop it after every payment or tool call', providing clear context for usage. However, it does not explicitly exclude scenarios or mention alternatives like 'assurance_verify'. Still, the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assurance_verifyAssurance Verify — check a signed record (free)ARead-onlyIdempotentInspect
Verify a Hermes-signed assurance record for free: recomputes the canonical hash (hermes-stable-json-v1 + SHA-256) and HMAC signature server-side and reports recordHashValid / signatureValid. Use it to audit attestations produced by assurance_attest without trusting the agent that produced them.
| Name | Required | Description | Default |
|---|---|---|---|
| record | Yes | The attestation/decision/receipt record object | |
| integrity | Yes | The integrity object returned with the record (recordHash, signature, keyId) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral details: it's free, recomputes hash (specifying algorithm) and HMAC server-side, and reports two boolean fields. No contradictions.
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 with front-loaded action and key details. Every word adds value: free, algorithm, server-side, use case. No 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?
Given two nested object parameters and an output schema (not shown but exists), the description covers the verification process, algorithm, and validity booleans. It explains the context of auditing without trusting the agent, making it complete for an agent to decide.
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 fully documents parameters. The description adds context: the 'record' is as from assurance_attest, and 'integrity' contains recordHash, signature, keyId. This adds understanding beyond the schema's generic 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 verifies a Hermes-signed assurance record by recomputing hash and HMAC signature, and reports validity booleans. It also distinguishes from the sibling tool assurance_attest by positioning this as an audit tool without trusting the agent.
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 says 'Use it to audit attestations produced by assurance_attest without trusting the agent that produced them.' This provides clear when-to-use and implies an alternative (not trusting the agent). No ambiguities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_analyzeBondLens — bond & loan analyticsAIdempotentInspect
BondLens (x402-paid, $0.25): deterministic fixed-income and loan analytics. Bond mode solves price<->yield-to-maturity, duration, and convexity; loan mode (send principal+annualRate+termMonths) returns an amortization schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| price | No | Bond price; supply to solve yield | |
| yield | No | Annual yield; supply to solve price | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| channel | No | Discovery channel or source tag | |
| periods | No | Periods to maturity | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| faceValue | No | Bond face value (default 1000) | |
| frequency | No | Coupons per year (default 2) | |
| principal | No | Loan principal (selects loan mode) | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| annualRate | No | Loan annual rate, e.g. 0.06 | |
| couponRate | No | Annual coupon rate, e.g. 0.05 | |
| termMonths | No | Loan term in months | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare idempotentHint=true, deterministic, and not destructive. The description adds payment cost info ($0.25) but does not disclose failure behavior, refunds, or side effects beyond payment. This adds some value beyond annotations but is not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose and cost, second breaks down modes. No wasted words. Essential information 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 18 parameters, 100% schema coverage, and an output schema, the description provides a good overview. It could benefit from more explicit guidance on parameter combinations per mode, but overall it is sufficient for a complex 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%, so parameters are documented. The description adds mode-specific semantics: 'Bond mode solves price<->yield-to-maturity, duration, and convexity; loan mode (send principal+annualRate+termMonths) returns an amortization schedule.' This clarifies how parameters activate modes and what results to expect.
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 performs deterministic fixed-income and loan analytics, distinguishing bond mode (price<->yield-to-maturity, duration, convexity) and loan mode (amortization schedule). It uses specific verbs and resources, and the tool name and title align. Among siblings like cashflowlens_analyze or options_price, this tool's focus on bonds and loans is distinct.
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 specifies it is a paid tool (x402, $0.25) and describes two use modes. It implies when to use (bond/loan calculations) but does not explicitly state when not to use or provide alternatives among siblings. However, the context signals and sibling names suggest clear separation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cashflowlens_analyzeCashflowLens — DCF, IRR & cashflow returnsAIdempotentInspect
CashflowLens (x402-paid, $0.20): deterministic NPV, IRR, XIRR, DCF valuation, MOIC/DPI/TVPI, and payback period from a cashflow series. Use for valuation and return analysis instead of letting the model estimate.
| Name | Required | Description | Default |
|---|---|---|---|
| dcf | No | Optional DCF valuation inputs (projected FCFs, discount rate, terminal value, net debt, shares) | |
| nav | No | Residual value, for TVPI | |
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| channel | No | Discovery channel or source tag | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| cashflows | Yes | Cashflows: numbers for periodic, or {amount,date} objects for dated XIRR. Outflows negative. | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| discountRate | No | Annual rate for NPV, e.g. 0.08 | |
| periodsPerYear | No | Periods per year to annualize a periodic IRR | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and idempotentHint=true. The description adds that the tool is deterministic and costs $0.20, but does not disclose any mutating side effects or detailed behavioral traits beyond those 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 a single sentence with a parenthetical note, making it concise and front-loaded. However, embedding cost info could be separated for better structure.
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 complexity (14 params, nested objects) and presence of an output schema, the description is minimally complete. It covers the basic purpose but misses nuances like cashflow ordering, date format for XIRR, and handling of multiple cashflow formats.
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 schema already documents all parameters. The description adds little beyond summarizing the overall purpose; it does not provide additional parameter-level details.
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 that the tool computes deterministic NPV, IRR, XIRR, DCF valuation, MOIC/DPI/TVPI, and payback period from cashflow series. It uses specific verbs and explicitly contrasts with model estimation, distinguishing its purpose from sibling 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 advises using this tool for valuation and return analysis instead of model estimation. While it provides a clear context for use, it does not explicitly list when not to use it or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dealanalyzer_analyzeDealAnalyzer — full deal underwriting in one callAIdempotentInspect
DealAnalyzer (x402-paid, $2.00): the flagship. Deterministic full deal underwrite in a single call — DCF valuation (EV, equity value, implied share price), fund returns (IRR/MOIC), and the LP/GP distribution waterfall, plus sensitivity. Combines what CashflowLens + WaterfallLens do, cross-checked.
| Name | Required | Description | Default |
|---|---|---|---|
| dcf | Yes | Required. DCF valuation inputs. | |
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| channel | No | Discovery channel or source tag | |
| returns | No | Optional fund/deal return inputs (IRR, MOIC, NPV). | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| waterfall | No | Optional LP/GP distribution waterfall inputs. | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it labels the tool as 'deterministic' (matching idempotentHint=true) and reveals cost ($2.00, x402-paid). It also mentions cross-checking and sensitivity. However, it does not detail return format or potential side effects, but annotations already cover safety traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. It front-loads the tool's flagship status and core outputs, uses parentheticals efficiently for cost and comparison, and every sentence provides essential 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?
Given high complexity (12 params, nested objects, output schema exists), the description covers the main outputs and distinguishes from siblings. It could explicitly mention authentication or rate limits in the description rather than relying solely on parameter descriptions, 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?
With 100% schema description coverage, the baseline is 3. The description adds value by explaining the role of nested objects (dcf, returns, waterfall) and providing usage context for apiKey (free-tier alternative to x402). This enriches the parameter semantics beyond schema 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 performs full deal underwriting in one call, specifying DCF valuation, fund returns (IRR/MOIC), LP/GP waterfall, and sensitivity. It distinguishes from sibling tools by noting it combines CashflowLens and WaterfallLens, making the purpose highly specific and differentiated.
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 this is a comprehensive alternative to CashflowLens and WaterfallLens, but it does not explicitly state when to use or avoid this tool, nor suggest alternatives or exclusion criteria. It provides context on cost and determinism but lacks direct usage guidance for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailguard_validateEmailGuard — email validationAIdempotentInspect
EmailGuard (x402-paid, $0.02): deterministic email/contact quality scorer — validity, deliverability score, disposable/role/free classification, typo suggestion. Pure function, no DNS.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional contact name associated with the email | |
| Yes | Email address to validate | ||
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| domain | No | Optional explicit domain hint (usually derived from email) | |
| channel | No | Discovery channel or source tag | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| mxPresent | No | Caller-supplied MX hint | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by stating it is a deterministic pure function with no DNS calls. Annotations already mark it as idempotent and non-destructive; the description reinforces this and adds cost context (x402-paid, $0.02).
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 sentence that efficiently communicates the tool's identity, cost, behavior, and outputs. It is front-loaded with the name and cost, and 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?
Given the 13 parameters and existence of an output schema, the description covers the essential purpose, cost, and behavioral traits. It is complete enough for an agent to understand the tool's role, though it could briefly mention the cost model more explicitly.
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 has 100% coverage with detailed descriptions. The description adds meaning by listing the output categories (validity, deliverability score, classifications, typo suggestion), which helps the agent understand the tool's full capability 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 states the tool is an email/contact quality scorer providing validity, deliverability score, classification, and typo suggestion. It distinguishes itself from the batch sibling (emailguard_validate_batch) by mentioning it is a single-email, pure 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 description implies it is for single email validation (pure function, no DNS) and there is a batch sibling, but it does not explicitly state when to use this tool versus alternatives. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailguard_validate_batchEmailGuard — validate a whole contact listAIdempotentInspect
Validate up to 20 emails in one tool call — one deterministic verdict per record (validity, deliverability score, disposable/role/free classification, typo suggestion, canonical normalization). Pass your free apiKey (250 records/mo, no wallet — https://hermesplant.com/pricing) and each record serves from quota. Results preserve input order; the batch stops at the first 402 (quota exhausted) and marks the rest skipped so you can upgrade and resume.
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| channel | No | Discovery channel or source tag | |
| records | Yes | Contact records to validate — one storefront call per record (max 20 per tool call) | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides detailed behavioral traits: deterministic verdicts per record, quota consumption per record, order preservation, and stoppage on first 402 with skip marking for resume. Annotations already declare idempotentHint=true, and the description adds valuable context without contradiction.
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 paragraph that is reasonably concise and front-loaded with key information (batch size, verdicts, quota). It could be slightly more structured, but it is effective and not 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?
Given that an output schema exists, the description does not need to detail return values. It covers behavioral context, quota handling, order preservation, and failure management, making it complete for an agent to use 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 description coverage is 100%, so the baseline is 3. The description adds some context (e.g., passing free apiKey, quota serving per record) but does not significantly extend beyond the parameter descriptions in 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 states the tool validates up to 20 emails in one call, providing deterministic verdicts including validity, deliverability, classification, etc. It distinguishes from the sibling 'emailguard_validate' by indicating batch processing.
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 explains when to use the tool (for batch validation up to 20 emails), mentions the free API key and quota, and describes behavior on quota exhaustion (stops at first 402, marks rest skipped). It does not explicitly contrast with the single-validate sibling but implies batch usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evidence_verifyEvidence Verify — check a paid result's evidence bundleAIdempotentInspect
Evidence Verification (x402-paid, $0.05): verify an agent-commerce evidence bundle before trusting a paid result — x402 challenge/receipt/policy-decision/service-response artifacts, endpoint and price binding, freshness, hashes, synthetic-proof leakage. Returns verified / needs_review / rejected / insufficient_evidence with per-rule evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| policy | No | Verification policy: expected serviceId/endpoint/network/priceCents, require* flags | |
| channel | No | Discovery channel or source tag | |
| subject | No | Optional run subject: kind, serviceId, endpoint, method, runId | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| artifacts | Yes | Evidence artifacts (Hermes contract): x402_challenge, x402_receipt, payment_policy_decision, service_response, ... | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully aligns with annotations (idempotentHint=true, destructiveHint=false) and adds critical behavioral context: the cost ($0.05), the returned verdicts (verified/needs_review/rejected/insufficient_evidence), and the specific rules checked (freshness, hashes, leakage). No contradictions.
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 sentence that efficiently conveys the purpose and key details. It is front-loaded with the action and cost. However, the dense listing of technical artifacts could be more readable, though not excessively 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?
Given the complex input (12 parameters, nested objects) and presence of an output schema, the description provides sufficient context about the tool's purpose and return values. It could mention prerequisites like needing an API key or prior payment, but the schema descriptions cover those details.
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 each parameter having a description. The tool description adds marginal value beyond the schema by listing artifact categories, but does not explain parameter relationships or usage nuances. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb 'verify' and the resource 'evidence bundle' from x402 paid results. It lists specific artifact types and checks performed, distinguishing it from sibling tools like assurance_verify which likely handle different verification contexts.
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 states 'before trusting a paid result' which indicates when to use the tool. However, it does not explicitly mention when not to use it or provide alternatives, though the sibling list suggests similar tools exist for other verification needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
freetier_statusFree-tier key statusARead-onlyIdempotentInspect
Check a free API key's remaining monthly quota, reset date, and upgrade path. Pass your hp_free_ key as apiKey. No key yet? POST an email to https://hermesplant.com/api/keys/free (250 calls/mo, no wallet).
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | Yes | Your free-tier key (hp_free_...) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint true, so the tool is safe. The description adds the return fields (quota, reset date, upgrade path) but does not disclose error handling or rate limits.
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 with no unnecessary words. The first sentence states purpose and returns, the second gives key format and alternative path. Perfectly 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?
For a simple one-parameter tool with an output schema, the description covers the essential return fields and key format. It could mention error cases but is adequate 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?
The schema describes the apiKey parameter as a string. The description adds that the key should start with 'hp_free_', providing format context 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 states the tool checks a free API key's remaining monthly quota, reset date, and upgrade path. This verb+resource combination distinguishes it from sibling analysis and validation 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 explains when to use the tool (with a free key) and provides an alternative for obtaining a key. However, it does not explicitly state when not to use it or compare to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_checkout_policiesGet checkout policiesARead-onlyIdempotentInspect
Return legal policy URLs required before checkout
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and idempotent. The description adds value by specifying that the returned URLs are legal policies required before checkout, which provides context beyond the 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 a single concise sentence that efficiently conveys the tool's purpose with no unnecessary 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?
The description is adequate for a simple parameterless tool with an output schema, but it could be improved by explicitly stating that the tool should be called before initiating checkout workflows to retrieve required policy URLs.
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?
There are no parameters, and schema description coverage is 100%, so the description doesn't need to add parameter details. Baseline of 4 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 uses a specific verb 'Return' with a clear resource 'legal policy URLs' and context 'required before checkout', which distinctly identifies 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 description states what the tool does but provides no guidance on when to use it versus sibling tools like start_checkout or purchase_with_x402, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productGet productARead-onlyIdempotentInspect
Get a single product by slug
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug from the catalog |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds 'by slug' but no additional behavioral context like error handling or prerequisites. Adequate given annotation coverage.
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, front-loaded sentence with no wasted words. Perfectly concise for a simple tool.
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 low complexity (1 required parameter, output schema present, annotations complete), the description is fully adequate. No missing information needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'slug' parameter fully described. The description only repeats 'by slug' without adding semantic detail beyond the schema. Meets baseline for high 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 verb 'Get', the resource 'product', and the method 'by slug'. It distinguishes from the sibling tool 'list_products' which handles multiple products.
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 from the description ('single product by slug') and the presence of 'list_products' for multiple. No explicit guidance on when to use or not use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_x402_manifestGet x402 manifestARead-onlyIdempotentInspect
Return the live x402 manifest with paid endpoint prices, Bazaar metadata, and buyer policy checks
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds context about the live nature and specific content of the manifest, enhancing transparency without contradicting 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?
Single sentence, front-loaded with the purpose, no redundant information. 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?
Given no parameters and existence of an output schema, the description sufficiently covers the tool's purpose and return contents. It is complete for 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?
Tool has zero parameters; baseline is 4. The description does not need to add parameter details, and it provides meaningful context about the return value.
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 ('Return') and resource ('live x402 manifest') and details contents (prices, metadata, policy checks). It clearly distinguishes this from sibling tools like purchase_with_x402 or get_checkout_policies.
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 (fetching manifest) but does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_productsList productsARead-onlyIdempotentInspect
List active products from the Hermes Plant catalog
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnly and idempotent hints; description adds value by specifying 'active' and 'Hermes Plant catalog', which are beyond annotations. No contradictions.
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 with no extraneous words, direct and 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 zero-parameter listing tool with an output schema, description is sufficiently complete. 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?
No parameters in schema, so description need not provide parameter details. Baseline 4 applies; description adds context about the returned data.
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 clearly states verb 'List' and resource 'active products from the Hermes Plant catalog'. Distinct from sibling tools like get_product (single product) and various analysis 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?
Purpose is clear enough that usage context is implied. Does not explicitly state when not to use, but siblings are sufficiently different to avoid confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_risk_scoreMCP Server Risk AnalyzerAIdempotentInspect
MCP Server Risk Analyzer (x402-paid, $0.05): score an MCP server manifest for security risk before install — destructive tools, over-broad scopes, weak auth, egress — with per-tool findings and fixes.
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| tools | Yes | The MCP server's tool manifest | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| server | No | Server name/URL | |
| channel | No | Discovery channel or source tag | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| authModel | No | e.g. oauth, token, none | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| priorTools | No | Prior tool names to diff capability growth | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations show idempotentHint true and destructiveHint false. The description aligns with these by describing a read-like scoring operation. It adds transparency by noting the paid nature ($0.05, x402) and the output (per-tool findings and fixes), which goes beyond the 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 one concise sentence that covers the tool's purpose, price, scope, and output. It is front-loaded and wastes no words, though a slight expansion on structure could improve readability.
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 presence of an output schema and the tool's complexity (paid, analysis-focused), the description sufficiently conveys the input and output. It mentions 'per-tool findings and fixes,' hinting at the return format, and the context signals indicate no gaps in completeness.
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 documents all 13 parameters. The description does not add detail about parameters beyond explaining the tool's overall function. This meets the baseline expectation but does not exceed it.
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: scoring an MCP server manifest for security risk before install. It specifies what it analyzes (destructive tools, over-broad scopes, weak auth, egress) and the output (per-tool findings and fixes), distinguishing it from sibling tools like emailguard_validate or portfolioguard_score.
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 includes 'before install,' indicating when to use the tool. While it does not list when not to use or provide alternatives, the context is clear that this tool is for pre-installation risk analysis, which is appropriate for the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
options_priceOptionLens — Black-Scholes price & GreeksAIdempotentInspect
OptionLens (x402-paid, $0.30): deterministic Black-Scholes price and full Greeks (delta, gamma, vega, theta, rho) for European calls/puts, with dividend yield, intrinsic/time value, and moneyness.
| Name | Required | Description | Default |
|---|---|---|---|
| spot | Yes | Underlying price (> 0) | |
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| strike | Yes | Strike price (> 0) | |
| channel | No | Discovery channel or source tag | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| optionType | No | Option type, 'call' or 'put' (default call) | |
| volatility | Yes | Annualized volatility, e.g. 0.2 | |
| riskFreeRate | No | Annual risk-free rate, default 0 | |
| timeToExpiry | Yes | Years to expiry, e.g. 0.5 | |
| dividendYield | No | Continuous dividend yield, default 0 | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it is deterministic, costs $0.30 per call, and requires x402 payment. Annotations already indicate idempotent and non-destructive nature, so the description reinforces these traits without contradiction.
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 sentence of about 20 words, efficiently conveying the core purpose, cost, determinism, and key outputs. It is front-loaded and contains no 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?
Given 16 parameters and existing output schema, the description is adequately complete. It covers the main function and key outputs (Greeks, intrinsic/time value, moneyness). The payment mechanism is mentioned but not detailed; defaults are covered in schema. Slightly more detail could help, but overall 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 input schema has 100% description coverage, so the baseline is 3. The description does not add significant parameter-level detail beyond listing some option types and Greeks, which are already in the schema. No additional meaning beyond 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 states the tool computes Black-Scholes price and full Greeks for European calls/puts, with specific outputs like dividend yield, intrinsic/time value, and moneyness. It distinguishes itself from sibling tools focused on other financial products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It mentions the pricing and determinism, but no comparison to siblings like bond_analyze or mcp_risk_score. Usage is implicit from the tool's name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payment_policy_decidePayment Policy — preflight an x402 paymentAIdempotentInspect
Payment Policy Decision (x402-paid, $0.05): deterministic allow / deny / needs_review before your agent signs an x402 payment — checks resource binding, amount vs expected price, network, payTo, facilitator, replay readiness, PII leakage, and buyer spend limits, with evidence-backed findings. Loop it over every payment; pair with assurance_attest for a signed record.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Bazaar/service tags for sensitive-category detection | |
| asset | No | Payment asset address | |
| payTo | No | Payment recipient from the challenge | |
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| method | No | HTTP method the agent intends to call | |
| scheme | No | x402 payment scheme (exact expected) | |
| channel | No | Discovery channel or source tag | |
| network | No | Payment network, e.g. eip155:8453 | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| amountUnits | No | Raw x402 amount units (USDC = 6 decimals) | |
| buyerPolicy | No | Buyer guardrails: maxUsdPerCall, allowedNetworks, allowedPayTo, allowedHosts, requireExactScheme, requireHttps, ... | |
| resourceUrl | Yes | Absolute resource URL from the x402 challenge or Bazaar listing | |
| serviceRisk | No | Optional upstream service-risk result (e.g. from mcp_risk_score) | |
| facilitatorUrl | No | Facilitator URL used to settle | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| maxTimeoutSeconds | No | Challenge timeout window | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and destructiveHint=false. The description adds that the tool is 'deterministic' and performs multiple checks without side effects (preflight). It does not contradict annotations and provides additional behavioral context beyond the structured fields.
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, front-loading the core purpose in the first sentence. All sentences are informative and necessary, with no redundancy. Could be slightly more structured, but overall concise and effective.
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 (21 parameters, output schema exists), the description provides a solid overview of the checks performed and workflow integration. It does not detail output format, but that is covered by the output schema. The mention of 'evidence-backed findings' sets expectations for the return value.
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 detailed parameter descriptions. The description adds high-level grouping of parameters (e.g., 'resource binding, amount vs expected price, network...') which helps agents understand how parameters relate to the decision logic. This adds value 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 states the tool's purpose: it performs a deterministic allow/deny/needs_review decision on x402 payments before signing. It lists the specific checks (resource binding, amount vs price, network, etc.), which distinguishes it from sibling tools like assurance_attest and purchase_with_x402.
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 states when to use this tool ('before your agent signs an x402 payment') and provides workflow guidance ('Loop it over every payment; pair with assurance_attest'). It does not explicitly mention when not to use it or compare alternatives, 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.
portfolioguard_scorePortfolioGuard — portfolio riskAIdempotentInspect
PortfolioGuard (x402-paid, $0.15): deterministic portfolio risk scoring from holdings — volatility, Sharpe, max drawdown, concentration (HHI), diversification, plus per-rule findings.
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| channel | No | Discovery channel or source tag | |
| campaign | No | Campaign tag for downstream telemetry | |
| holdings | Yes | Positions with symbol, weight (0-1), optional returns[], sector | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| riskFreeRate | No | Optional risk-free rate for the Sharpe ratio (default 0) | |
| periodReturns | No | Optional portfolio/market return series | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=true and destructiveHint=false. The description adds that the tool is deterministic, paid via x402, and returns specific metrics, which goes beyond what annotations specify. There is no contradiction.
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 single-sentence description is succinct, front-loads the name and cost, and lists all key outputs without wasted words. Could be slightly more structured, but overall 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?
Given 12 parameters and an output schema, the description is minimal. It fails to clarify the free tier vs paid model, the role of 'apiKey', and the nature of 'per-rule findings'. The output schema compensates partially, but more context on payment and usage would improve completeness.
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 full parameter descriptions, so baseline is 3. The description does not add new meaning to parameters beyond what the schema provides, except for hinting that 'holdings' should contain symbol and weight. No further enrichment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes deterministic portfolio risk scores from holdings, listing specific metrics (volatility, Sharpe, max drawdown, concentration, diversification, per-rule findings). This distinguishes it from sibling tools like 'mcp_risk_score' and 'walletguard_score' by focusing on portfolio-level risk.
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 portfolio risk scoring but provides no explicit guidance on when to use this over alternatives (e.g., 'mcp_risk_score'). The cost ($0.15) and 'x402-paid' note give context, but no when-not-to-use or prerequisite info is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_with_x402Purchase with x402AInspect
Purchase a one-time product via x402 (returns 402 challenge or fulfillment JSON). Call get_x402_manifest first, verify method/path/network/amount/payTo, then sign and retry with PAYMENT-SIGNATURE.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | One-time product slug (e.g. destructguard-pro) | |
| No | Optional email for the order record | ||
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| channel | No | Discovery channel or source tag | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and openWorldHint=true. The description adds the payment flow steps and return types, but does not detail side effects like charging the user, though the destructiveHint=false reduces 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?
Two sentences: first states purpose and output, second gives actionable workflow. No wasted words, front-loaded with key 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?
Given the complexity (payment flow, 11 parameters, output schema exists), the description covers preconditions and retry action. It could mention output schema existence or example, but overall sufficient for an agent to sequence 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 does not add extra meaning beyond the schema's parameter descriptions, leaving the agent to rely solely on 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 states the tool purchases a one-time product via x402 and returns either a 402 challenge or fulfillment JSON, distinguishing it from sibling tools like get_x402_manifest or get_product.
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 instructs to call get_x402_manifest first, then verify and sign, providing a clear workflow. However, it could explicitly state when not to use the tool (e.g., without a signed payment).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_destructguard_commandDestructGuard — score command riskAIdempotentInspect
Score a command/action with the x402-paid DestructGuard service. Call get_x402_manifest first, verify the DestructGuard price and buyer policy, then retry the 402 challenge with an x402 payment signature.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory or execution context | |
| repo | No | Repository or project context | |
| actor | No | Agent/tool requesting the action | |
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| intent | No | Why the command is being requested | |
| channel | No | Discovery channel or source tag | |
| command | Yes | Command or agent action to score | |
| campaign | No | Campaign tag for downstream telemetry | |
| diffStat | No | Optional git diff --stat or change summary | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true, destructiveHint=false, readOnlyHint=false. The description adds behavioral context by mentioning payment retry flow and integration with x402, which goes beyond the annotations. No contradictions noted.
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 sentence that packs essential workflow instructions without any fluff. Every word adds value, making it highly efficient and easy to parse.
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 (15 parameters, payment flow), the description provides minimal context beyond the workflow order. It does not explain the return value (though output schema exists) or edge cases like missing payment. More context about prerequisites could improve completeness.
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 schema handles parameter documentation. The description does not add meaning for individual parameters but provides workflow context (e.g., payment signature parameters). A baseline score of 3 is appropriate since the schema is complete.
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 scores a command/action with the DestructGuard service and includes the x402 payment flow. The title adds 'score command risk'. However, it does not explicitly distinguish from sibling tools like 'mcp_risk_score' or 'purchase_with_x402', which could lead to confusion about when to use this tool specifically.
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 a clear ordering: 'Call get_x402_manifest first, verify the DestructGuard price and buyer policy, then retry the 402 challenge'. This gives usage context but does not specify when to use this tool versus alternatives like 'mcp_risk_score' or 'purchase_with_x402'. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_checkoutStart checkoutAInspect
Start a Stripe checkout session for a product slug
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug to purchase |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only (mutating). Description adds 'Stripe checkout session' context but does not disclose side effects (e.g., external calls, redirects). Adequate but not rich.
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 sentence, no waste, front-loaded. Slightly terse but earns its place. Almost perfect for 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?
With output schema present and simple single-parameter tool, description adequately covers purpose. No gaps in essential semantics, though could mention workflow (e.g., returns URL).
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 clear parameter description. Tool description adds no new meaning beyond schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Start', resource 'Stripe checkout session', and input 'product slug'. It distinguishes from siblings like get_checkout_policies and purchase_with_x402.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use vs alternatives like purchase_with_x402, nor prerequisites or conditions. The description lacks explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_reviewqueue_requestReviewQueue — submit for risk triageAIdempotentInspect
Submit a command/action to the x402-paid ReviewQueue agent service. Call get_x402_manifest first, verify the ReviewQueue price and buyer policy, then retry the 402 challenge with an x402 payment signature.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Repository or project context | |
| actor | No | Agent/tool requesting the action | |
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| branch | No | Branch or environment context | |
| reason | No | Why the action is being requested | |
| channel | No | Discovery channel or source tag | |
| command | Yes | Command or agent action being requested | |
| campaign | No | Campaign tag for downstream telemetry | |
| diffStat | No | Optional git diff --stat or change summary | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false, and the description adds context about payment retry and submission, but could further clarify side effects like record creation or idempotency guarantees beyond the hint.
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?
Three sentences front-load the purpose and necessary workflow steps without any waste, appropriate for a tool with 15 parameters and a clear action.
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 an output schema present and rich schema parameter descriptions, the description adequately covers the main submission workflow, though it omits mention of the optional free-tier apiKey alternative (described only in schema).
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 detailed parameter descriptions, so the tool description adds no extra parameter meaning beyond the schema, meeting the baseline expectation.
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 submits a command/action to the x402-paid ReviewQueue service, distinguishing it from siblings like get_x402_manifest and purchase_with_x402 by specifying the action and prerequisite workflow.
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 instructs to call get_x402_manifest first, verify price/policy, then retry the 402 challenge with a payment signature, providing a clear when-to-use and sequential guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
walletguard_scoreWalletGuard — wallet AML riskAIdempotentInspect
WalletGuard (x402-paid, $0.10): deterministic wallet AML/compliance risk scorer. From caller-provided context (sanctions, exposures, labels, fund sources) returns a 0-100 risk score, level, and evidence-backed findings.
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| labels | No | Address labels, e.g. exchange:binance, contract:..., sanctions:... | |
| wallet | Yes | Wallet address | |
| channel | No | Discovery channel or source tag | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| exposures | No | Signals e.g. mixer:tornado, sanctions:ofac | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| transfers | No | Optional transfer summaries (direction, value, counterparty, tags) | |
| sanctionsHits | No | Sanctions / OFAC / blacklist hit identifiers | |
| fundingSources | No | Optional fund-source breakdown (source, share 0-1, verified) | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations by noting it is deterministic and costs $0.10, but it does not clarify the non-read-only behavior (readOnlyHint: false) or potential side effects. The return format is mentioned but lacks depth on behavioral traits.
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 very concise, consisting of two dense sentences that front-load key details (cost, determinism) and purpose. It is efficient but could be better structured with bullet points or clearer separation of concepts.
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 complexity (15 parameters, nested objects) and the presence of an output schema, the description covers essential inputs and outputs. It mentions key context categories but does not detail all parameters, relying on the schema for completeness.
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 only generically mentions 'sanctions, exposures, labels, fund sources' without elaborating on individual parameters, adding minimal semantic value 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 explicitly states it is a 'deterministic wallet AML/compliance risk scorer' that returns a 0-100 risk score, level, and evidence-backed findings, which clearly defines its specific purpose and distinguishes it from sibling tools like 'mcp_risk_score' or 'portfolioguard_score'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, such as conditions for use or when to avoid it. The purpose is implicit but no direct comparative advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waterfall_distributeWaterfallLens — LP/GP distribution waterfallAIdempotentInspect
WaterfallLens (x402-paid, $0.30): deterministic LP/GP distribution waterfall (return of capital, preferred, GP catch-up, carried-interest split) with the exact split, per-tier breakdown, LP MOIC, and effective carry %.
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Optional wallet/account identifier; stored only as a hash | |
| years | No | Holding period for preferred accrual | |
| apiKey | No | Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing. | |
| channel | No | Discovery channel or source tag | |
| campaign | No | Campaign tag for downstream telemetry | |
| xPayment | No | Raw X-PAYMENT proof from an x402-compatible wallet/client | |
| actorType | No | Caller type for analytics: agent, human, synthetic, system, or unknown | |
| synthetic | No | Mark this paid retry as an internal test/probe for analytics exclusion | |
| compounding | No | Preferred-return accrual basis: 'simple' or 'compounded' (default compounded) | |
| distributable | Yes | Total cash to distribute | |
| preferredRate | No | Annual preferred rate, e.g. 0.08 | |
| carryPercentage | No | GP carry, e.g. 0.20 (default 0.20) | |
| paymentSignature | No | x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry | |
| catchUpPercentage | No | GP catch-up share, 1.0 = full (default) | |
| paymentIdentifier | No | Optional x402 payment identifier for idempotency/retry correlation | |
| contributedCapital | Yes | Total LP capital to return in tier 1 | |
| preferredReturnAmount | No | Explicit preferred return amount |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the upstream storefront call returned a 2xx response |
| httpStatus | Yes | Upstream HTTP status code |
| paymentRequired | No | True when the response is an x402 HTTP 402 payment challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false, but the description adds that the tool is 'deterministic' and 'x402-paid' with a cost of $0.30. This provides useful context beyond annotations, but there is no mention of rate limits, error handling, or authorization requirements (e.g., the need for an API key or payment proof), which are only implied by 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 a single sentence that front-loads the key information (tool name, pricing, determinism) and lists the output components. It is efficient and avoids verbosity, though it could be slightly more structured by separating pricing from functionality.
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 complexity (17 parameters, output schema exists), the description covers the high-level behavior and outputs adequately. However, it does not mention the required parameters (contributedCapital, distributable) or provide usage context for specific scenarios. It is sufficient but not comprehensive.
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 100% description coverage, so each parameter is already well-documented. The description does not add new parameter information, but it also does not contradict or omit critical details. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's function as a 'deterministic LP/GP distribution waterfall' and lists the specific tiers and outputs (return of capital, preferred, GP catch-up, carried-interest split, per-tier breakdown, LP MOIC, effective carry %). The verb is clear and the resource is well-defined. Sibling tools are in different domains, so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use it. While the tool's purpose is clear, the lack of usage context leaves the agent to infer appropriate scenarios.
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!