Hermes Plant — Deterministic Finance & Safety APIs
Server Details
Deterministic finance & safety APIs for AI agents: DCF, IRR, Greeks, risk. Free, no wallet.
- 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/5 across 17 of 17 tools scored. Lowest: 3.1/5.
Every tool serves a distinct purpose: financial analytics (bond, options, portfolio, etc.), security scoring, email validation, and e-commerce. Even overlapping tools like cashflowlens_analyze and dealanalyzer_analyze are clearly differentiated by scope and description.
Tool names mix conventions: some use noun_verb (bond_analyze, cashflowlens_analyze) while others use verb_noun (get_product, list_products, purchase_with_x402). Also, some have 'lens' or 'guard' suffixes inconsistently. While still readable, the pattern is not uniform.
17 tools is slightly above the typical ideal range (3-15) but not excessive. The server covers multiple domains (finance, security, e-commerce) which justifies the count. It remains manageable and well-scoped.
As a marketplace of deterministic APIs, the tool set covers several areas but lacks a unified workflow. Missing operations include stock/forex analytics, advanced derivatives, or order history for purchases. The completeness is acceptable given the broad scope, but gaps exist for a cohesive API surface.
Available Tools
17 toolsbond_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?
The description discloses key behavioral traits: it's deterministic, x402-paid ($0.25), and supports free-tier API keys. Annotations already indicate idempotentHint=true and destructiveHint=false, but the description adds context on payment and mode selection, which goes beyond annotations 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 two sentences, front-loaded with tool identity and cost, then succinctly covering both modes. Every sentence provides essential guidance without waste, achieving high information density.
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 (none required), an output schema exists, and the description concisely covers the two operational modes and their input expectations. It does not explain every optional parameter, but the schema covers them. A minor gap is lack of information about default values or validation, but overall complete enough for this 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?
With 100% schema description coverage, the baseline is 3. The description adds value by explaining which parameters (e.g., principal+annualRate+termMonths) select loan mode and that price/yield are alternatives in bond mode. This meaningfully extends the schema's per-parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs 'deterministic fixed-income and loan analytics' and defines two distinct modes (bond and loan) with specific operations. It uses a specific verb 'solves' and resource, distinguishing it from siblings like cashflowlens_analyze and options_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use each mode: bond mode for price/yield/duration/convexity, loan mode with principal+annualRate+termMonths for amortization. It implicitly covers what inputs trigger each mode, but lacks explicit when-not-to-use or alternative tool references, though sibling differentiation is not required.
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 declare destructiveHint=false and idempotentHint=true; the description adds that it is deterministic and mentions the cost ($0.20). This provides useful context beyond annotations, though it does not elaborate on idempotency or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the purpose and key differentiator ('instead of letting the model estimate'), 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?
With 14 parameters and nested objects, the description provides a high-level overview but does not explain return values or when to use specific optional inputs. However, the existence of an output schema and full parameter descriptions mitigates this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add additional parameter meaning beyond what is already in the 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 explicitly lists multiple financial metrics (NPV, IRR, XIRR, DCF, MOIC/DPI/TVPI, payback period) and states it is deterministic, clearly distinguishing it from model estimation. The title also reinforces the focus on cashflow returns.
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 letting the model estimate, providing a clear when-to-use. However, it does not discuss exclusions or alternative tools for similar tasks.
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 reveals it is a paid tool ($2.00) and deterministic. Annotations already note idempotency and non-destructive nature. The description adds the cost and that it makes a single call, which is valuable beyond 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 long, front-loaded with the core purpose and cost. Every sentence adds value: purpose, scope, and relation to siblings. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, nested objects, output schema), the description covers essential context: what it does, cost, deterministic nature, and how it relates to siblings. The presence of an output schema reduces the need to describe return values.
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 explains parameters. The description does not add additional meaning to individual parameters beyond what is in the schema. It appropriately relies on the schema for parameter 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 explicitly states it performs 'full deal underwriting' including DCF valuation, fund returns, and waterfall distribution. It distinguishes itself from sibling tools by noting it combines what CashflowLens and WaterfallLens do, making its purpose clear 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 indicates that this tool is the flagship for comprehensive analysis, combining functions of separate tools. It implies when to use it versus alternatives, though it does not explicitly state when not to use it. The mention of 'cross-checked' adds context for reliability.
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?
Beyond annotations (idempotentHint=true, destructiveHint=false), the description adds 'deterministic', 'pure function, no DNS', cost ($0.02), and free-tier API key option. This provides useful behavioral context that annotations alone don't cover.
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 packed with all key information: product name, cost, deterministic nature, output types, and behavioral traits. No waste, front-loaded, 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?
Given the output schema exists (not shown but noted), the description covers purpose, behavior, cost, and idempotency. It doesn't detail parameters but schema does. For a tool with 13 parameters, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The description adds marginal value (e.g., cost context for apiKey) but does not significantly enhance understanding 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 it's an email/contact quality scorer with specific outputs: validity, deliverability score, disposable/role/free classification, typo suggestion. The title 'EmailGuard — email validation' is unambiguous. Sibling tools are all 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 implies usage context (paid, deterministic, pure function) but does not explicitly state when to use this tool versus alternatives or when not to use it. No mention of 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_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 productBRead-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 provide readOnlyHint and idempotentHint. The description adds no behavioral context beyond the verb 'Get', such as error handling or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence with no superfluous content. Every word is necessary.
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?
Adequate for a simple read operation with full annotations and output schema. However, it could mention that the slug must be unique or that the tool fetches a single product.
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% for the single parameter 'slug'. The description's mention of 'by slug' adds no new information beyond what the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('single product'), and the method ('by slug'). It is specific and distinguishes from siblings like list_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?
No guidance on when to use this tool versus alternatives (e.g., list_products). The description is too brief to help an agent decide context.
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 already indicate idempotentHint=true and destructiveHint=false. Description adds context about analysis categories but no extra behavioral details (e.g., no side effects, rate limits). 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?
Single sentence includes tool name, pricing, purpose, and output. Front-loaded with key info. No redundant words. Highly concise and well-structured.
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?
Describes input (manifest) and output (findings/fixes). Output schema exists, so no need to detail return values. Could mention payment/API key requirement more explicitly, but schema covers that. Adequate for the tool's complexity.
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 itself documents parameters thoroughly. Description does not add further semantics beyond what's in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool scores an MCP server manifest for security risk, with specific aspects (destructive tools, scopes, auth, egress) and output (per-tool findings and fixes). Distinguishes from siblings like walletguard_score and portfolioguard_score by focusing on MCP server manifests.
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 'before install', indicating when to use. However, lacks when-not-to-use or alternatives among sibling tools. Still clear enough for most use cases.
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 supplements annotations by disclosing the payment model ('x402-paid, $0.30') and deterministic nature, which are not captured in readOnlyHint or idempotentHint. It also implies no side effects (destructiveHint=false), providing full transparency beyond 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 sentence that efficiently conveys tool name, pricing, deterministic property, computed outputs, and applicability to European options with dividends and moneyness. No redundant or 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?
Given the complexity (16 parameters, 4 required), high schema coverage, output schema existence, and annotations, the description provides a solid high-level overview. However, it could better explain alternative payment paths (e.g., using apiKey to avoid x402), though the schema covers this.
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 for all 16 parameters, the baseline is 3. The description adds context about computed outputs (Greeks, moneyness) but does not elaborate on parameter meaning beyond the schema, resulting in marginal added 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 clearly states 'Black-Scholes price and full Greeks for European calls/puts', specifying the verb (price & Greeks) and resource (European options). It also mentions additional features like dividend yield, intrinsic/time value, and moneyness, making it distinct from sibling tools which cover other financial analyses.
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 options pricing but lacks explicit guidance on when to use this tool versus alternatives. While no direct sibling competitor exists, the description does not provide 'when-not' or alternative recommendations, leaving room for ambiguity.
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?
Description discloses it is 'x402-paid' and costs $0.15, adding cost/authentication context beyond annotations. Annotations already provide idempotentHint and destructiveHint; description does not contradict and adds value by explaining payment model.
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 efficiently conveys purpose, output list, and payment model. No fluff or redundant 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 output schema and annotations, the description covers purpose and key outputs. Missing usage guidance but otherwise complete for a well-annotated tool with many parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented there. The description does not add extra meaning over the schema; it only mentions the key input 'holdings' implicitly. 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 states it performs 'deterministic portfolio risk scoring' and lists specific output metrics (volatility, Sharpe, max drawdown, etc.). It names the tool and differentiates it from generic siblings by specifying portfolio context.
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 this tool versus alternatives like mcp_risk_score or walletguard_score. No mention of prerequisites or conditions that would make it inappropriate.
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 already declare readOnlyHint=false, confirming mutation. Description adds that it returns a 402 challenge or fulfillment JSON, but does not disclose the alternative payment path via apiKey (detailed in parameter descriptions), nor does it discuss potential side effects. Acceptable 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?
Two sentences front-loaded with purpose and essential workflow, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core workflow and return types, and with an output schema present, explanation of return values is not needed. However, the alternative apiKey path is omitted from the main text, which could lead to incomplete understanding in some scenarios.
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 main description does not add additional parameter meaning beyond what is in the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (purchase) and the mechanism (via x402), and distinguishes from sibling tools like get_x402_manifest by positioning it as the subsequent step.
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 and outlines the verification and signing steps, providing clear usage context. Does not explicitly mention when to avoid using this tool, but the workflow guidance is strong.
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 and destructiveHint=false. The description adds the retry/payment flow context but does not disclose additional behavioral traits like return format or error conditions. It does not contradict 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 the core action, and contains no extraneous words. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (15 params, output schema exists), the description provides necessary process context. It lacks detail on what the tool returns, but the presence of an output schema compensates. It fits well within the suite of payment-related tools.
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% coverage, so every parameter is described in the schema. The description adds no new parameter information beyond the schema, meeting the 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 tool scores a command/action with the DestructGuard service, using a specific verb-resource pair. It does not explicitly differentiate from sibling tools like 'mcp_risk_score', but the context of x402 payment and the prerequisite step (get_x402_manifest) makes its purpose 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 provides explicit usage context: call get_x402_manifest first, then retry with a payment signature. It tells the agent the typical flow, though it does not list when to avoid using this tool or contrast with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_checkoutStart checkoutBInspect
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?
Description adds little beyond annotations: it confirms the tool is not read-only but does not explain side effects (e.g., whether it creates a session, returns a URL, or triggers a redirect). Annotations already indicate non-readOnly, non-destructive, non-idempotent.
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 unnecessary words. Perfectly concise.
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 low complexity and presence of output schema, the description is adequate but lacking context on the checkout flow (e.g., what the agent should expect after calling this tool).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description. The description adds 'for a product slug' which aligns with the schema but does not add extra meaning or guidance on format or source of the slug.
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 it starts a Stripe checkout session for a product slug. This distinguishes from getting product info or purchase actions, but does not explicitly differentiate from sibling '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 this tool versus alternatives like purchase_with_x402 or get_product. No prerequisites or context for using the slug parameter.
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 already indicate idempotentHint=true and destructiveHint=false. The description adds behavioral context: it is a paid service requiring x402 payment, and the workflow involves retrying after a 402 challenge. This adds value beyond annotations, though it does not describe all 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 two sentences, front-loading the purpose and then the prerequisite steps. No extraneous information; every sentence is justified.
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 workflow) and presence of an output schema, the description adequately covers the pre-condition and retry logic. However, it does not explain error conditions or parameter roles, leaving some gaps for a complete understanding.
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 each parameter is already documented in the schema. The description does not add additional meaning about parameters beyond mentioning paymentSignature in the flow context. 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 states the action: 'Submit a command/action to the x402-paid ReviewQueue agent service.' It uses a specific verb ('submit') and resource ('ReviewQueue agent service'). It differentiates from sibling tools by explicitly instructing to call get_x402_manifest first, distinguishing it from other 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 provides explicit usage guidance: 'Call get_x402_manifest first, verify the ReviewQueue price and buyer policy, then retry the 402 challenge with an x402 payment signature.' This tells the agent what to do before and after calling this tool, effectively distinguishing it from alternatives.
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?
Annotations indicate idempotentHint=true and destructiveHint=false, and the description adds that the tool is x402-paid ($0.10) and deterministic. This extra context about cost and determinism enhances transparency beyond the annotations 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 concise sentence that front-loads the tool name and cost, then clearly states its function and output. Every phrase is informative with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (15 parameters) and the existence of an output schema, the description covers the core functionality and key behavioral traits (deterministic, paid). It could be more complete by adding usage guidance, but it is sufficient for basic 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 description coverage is 100%, so the baseline is 3. The description groups some parameters (sanctions, exposures, labels, fund sources) but does not add significant new meaning beyond the schema's detailed individual 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 scores wallet AML/compliance risk deterministically, returning a 0-100 score, level, and evidence-backed findings. It uses a specific verb-resource combination and differentiates from siblings like mcp_risk_score by specifying 'AML/compliance' and 'deterministic'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It mentions acceptance of caller-provided context but provides no exclusion criteria or guidance on when not to use it, leaving the agent without clear decision support.
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 already indicate idempotentHint true and destructiveHint false. The description adds that the tool is 'deterministic' and 'x402-paid ($0.30)', providing cost and behavioral context. It does not contradict annotations. However, it omits any details about side effects beyond idempotency, such as whether results are cached or if state is modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the tool's purpose, cost, and key outputs. Every word contributes value with no repetition or filler. It is efficient and clear.
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, 2 required) and the existence of an output schema, the description is adequate but incomplete. It lists outputs but does not explain parameter relationships, prerequisites, or typical configurations. The agent would need to rely heavily on the schema and trial-and-error.
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 does not add additional meaning to parameters; it only mentions outputs like 'LP MOIC' and 'effective carry %', which are not inputs. The schema already fully describes each parameter, so no extra value is added.
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 is a 'deterministic LP/GP distribution waterfall' and lists specific outputs (exact split, per-tier breakdown, LP MOIC, effective carry %). The verb 'distribute' and resource 'waterfall' are explicit, and it distinguishes from financial sibling tools like bond_analyze or options_price by focusing on partnership distributions.
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 any guidance on when to use this tool versus alternatives. There is no mention of prerequisites, typical use cases, or conditions for choosing this tool over other financial calculators among siblings. The agent is left to infer usage from the purpose alone.
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!