SaSame MCP Observatory + Gold Rush Town
Server Details
No-key MCP: audit/certify MCPs, signed trust history; join Gold Rush Town & build with your LLM.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- shigeki7777/sasame-mcp
- GitHub Stars
- 0
- Server Listing
- SaSame Research + Guild MCP
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 94 of 94 tools scored. Lowest: 2.4/5.
With 94 tools, many have overlapping purposes (e.g., multiple audit, receipt, claim, gold rush, and town tools). Despite detailed descriptions, an agent would struggle to distinguish between similar tools like 'audit_mcp' vs 'readiness_report' or 'verify_mcp_cert' vs 'verify_mcp_ready'.
Tools use snake_case, but naming conventions vary: some are verb_noun (e.g., 'claim_start'), others are noun_noun (e.g., 'factory_checkout'), and many use domain prefixes inconsistently. A few deprecated tools with 'trust_' prefix deviate from the pattern.
94 tools is far too many for a single MCP server. The surface tries to cover observation, gold rush, town, factory, escrow, receipts, and more, leading to scope creep. This would overwhelm agents and should be split into multiple focused servers.
For its broad purpose, the server is extremely comprehensive, covering observation, auditing, claiming, lifecycle management, gold rush, town, and many utility functions. However, the inclusion of deprecated tools and some missing features (e.g., no tool for human-friendly search) prevent a perfect score.
Available Tools
94 toolsagent_invoice_attest_settlementAIdempotentInspect
Buyer or provider signs a settlement statement for an issued agent transaction receipt. SaSame records each statement. Only matching statements from BOTH pinned party keys produce a signed settled_reported_by_both receipt. SaSame does not move funds or independently verify off-chain settlement; use a chain/processor receipt as settlement_ref when available.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ||
| work_order_id | Yes | ||
| settlement_ref | Yes | Transaction hash, processor receipt id or other non-secret settlement reference | |
| signature_base64 | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (idempotentHint=true, destructiveHint=false), the description discloses key behaviors: SaSame records each statement, requires matching statements from both parties to produce a signed receipt, and does not move funds or verify off-chain settlement. This adds significant value beyond 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 four sentences, concise and front-loaded with the main action. Every sentence adds value, with no superfluous 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 no output schema, the description explains the recording and condition for signed receipt, but does not specify the tool's return format or error states. It is mostly complete for a signing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning for settlement_ref ('use a chain/processor receipt') and role ('buyer or provider'), but with 25% schema coverage and no detail on signature_base64 or work_order_id, it only partially compensates for the lack of 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 that the tool is for signing a settlement statement for an agent transaction receipt, using specific verbs and resources. It distinguishes from siblings like agent_invoice_issue (which issues invoices) and agent_invoice_status (which checks status) by focusing on settlement attestation.
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 context on when to use it: both buyer and provider must sign, and it advises using a chain/processor receipt for settlement_ref when available. It does not explicitly state when not to use it or compare to alternatives, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_invoice_issueAIdempotentInspect
Issue a SaSame SRL-signed THIRD-PARTY AGENT TRANSACTION RECEIPT after provider delivery. The legacy tool name is retained for API compatibility: this is a transaction-confirmation receipt, not a fiscal/tax invoice. The provider signs provider_receipt_challenge (identical to the legacy provider_invoice_challenge). The receipt binds mutually accepted terms, delivery and amount. If SaSame SRL itself sells a service, its separate accounting rail issues the normal SaSame SRL business invoice.
| Name | Required | Description | Default |
|---|---|---|---|
| work_order_id | Yes | ||
| signature_base64 | Yes | ||
| external_invoice_ref | No | Optional provider-side invoice/reference number |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true, and the description adds that the provider signs provider_receipt_challenge and that the receipt binds mutually accepted terms. This goes beyond annotations without contradiction. Could mention if any state changes occur.
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?
Four sentences, each adding value: purpose, legacy clarification, signing mechanism, and exception for SaSame's own services. 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?
Purpose is clear but parameter details are lacking (33% schema coverage). No output schema, but description does not hint at return value. Adequate for basic understanding but incomplete for full automation.
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 only 33% (only external_invoice_ref described). The description does not clarify work_order_id or signature_base64 beyond names. It mentions provider signs a challenge but does not link to signature_base64 format or expected input.
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 issues a SaSame SRL-signed THIRD-PARTY AGENT TRANSACTION RECEIPT after provider delivery, distinguishes it from a fiscal/tax invoice, and clarifies the legacy name. This specificity differentiates it from sibling tools like agent_invoice_attest_settlement and agent_invoice_status.
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 (after provider delivery) and when not to (for SaSame's own services, use separate accounting rail). It does not explicitly list alternative sibling tools but provides clear contextual boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_invoice_statusBRead-onlyInspect
Read the privacy-minimized state of an agent transaction receipt/work order and receive a SaSame-signed current statement. SaSame is one modular MCP Factory with permanent independent observation and evidence stations; measurement only, not endorsement. Raw scope/deliverables are never stored; only their SHA-256 commitments, public labels, signatures and state transitions are retained. The legacy tool name is retained for compatibility; this is not a fiscal invoice.
| Name | Required | Description | Default |
|---|---|---|---|
| work_order_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true. Description adds that it returns a SaSame-signed statement and clarifies it's not a fiscal invoice. It also explains data retention policy (SHA-256 commitments). No contradiction with 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?
Description is verbose with extraneous details about SaSame and data storage policies. Front-loaded with main action but includes unnecessary digressions.
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?
Missing output schema description; does not specify return format of the signed statement. Given many sibling tools, lacks context for selection. Does not cover parameter constraints or examples.
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 has one parameter 'work_order_id' with no description. The tool name implies what it is, but description does not elaborate on format or examples. Baseline score due to single, obvious parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states it reads privacy-minimized state and returns a signed statement. Clear verb 'Read' and resource 'agent transaction receipt/work order'. However, it includes tangential details about SaSame architecture that dilute focus.
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 explicit guidance on when to use this tool versus siblings like 'receipt_state' or 'work_order_accept'. Does not specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_next_stepsARead-onlyInspect
Return public next-step links for MCP Passport claim, interest, plans, and monitoring paths. Read-only; no external action is triggered.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint: true, so the description's 'Read-only; no external action is triggered' confirms that but adds no new behavioral details beyond what the annotations supply. No additional context about rate limits, auth, or side effects is given.
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 extremely concise with two sentences, no redundancy, and front-loads the core purpose. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, the description covers the basic purpose but lacks details about the return format (no output schema), parameter enumeration completeness, and edge cases. It is adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists some enum values ('claim', 'interest', 'plans', 'monitoring') but omits 'all' and 'correction', and does not explain the parameter's role or how to use it. The partial mapping provides some meaning but is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'return' and specifies the resource as 'public next-step links for MCP Passport claim, interest, plans, and monitoring paths'. It clearly distinguishes the tool from siblings like analytics_public_export and analytics_public_summary by stating what it 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 implies the tool should be used when public next-step links are needed, but it does not explicitly state when to use it over alternatives or provide any exclusions or context for when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_public_exportARead-onlyInspect
Return the public aggregate analytics export manifest. No private owner analytics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds minor context about public nature but doesn't disclose additional traits like rate limits or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no fluff. Front loads the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description indicates a 'manifest' is returned. More detail on what the manifest contains would enhance completeness, but current level is adequate for a simple read-only 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 has zero parameters, so no additional meaning is needed. Baseline score of 4 applies as the description doesn't waste space on parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a 'public aggregate analytics export manifest' and explicitly excludes private owner analytics, distinguishing it from other analytics tools in the 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?
The description hints at when not to use ('No private owner analytics') but does not explicitly suggest alternatives among siblings like analytics_public_summary or analytics_next_steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_public_summaryARead-onlyInspect
Read the public outside-in Analytics summary. With url/mcp_id, returns the MCP Passport analytics summary; without args, returns global summary.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| mcp_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's addition of 'public' and 'outside-in' provides some context but does not disclose deeper behavioral traits like data freshness or rate limits. The description adds moderate value.
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 wasted words, front-loading the main action and efficiently covering behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains what is returned (analytics summary) but could be more specific about content. Still adequate for a read 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 0% schema description coverage, the description adds meaning by explaining that url/mcp_id select a specific summary and omitting them returns a global summary, clarifying the parameters' role.
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 reads a public analytics summary, with specific verb 'Read' and resource. It distinguishes behavior with vs without arguments, and separate from sibling tools like analytics_public_export.
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 with url/mcp_id vs without, providing clear usage context. However, it does not explicitly mention when not to use or alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_mcpARead-onlyInspect
Grade one MCP server A-D against the Agent-Tool Discoverability Standard. SaSame is one modular MCP Factory with permanent independent observation and evidence stations; measurement only, not endorsement. Runs the legitimate revision-aware MCP protocol entry (server/discover with legacy initialize fallback), tools/list, and one read-only tool call over POST JSON-RPC. It returns the grade, a per-criterion pass/evidence breakdown, and the single biggest gap to fix. This returns the grade and analysis ONLY — if you want a signed, portable certificate of the same audit, use verify_mcp_ready instead. DIRECTORY PRE-FLIGHT: these criteria cover the MECHANICAL reject reasons of the Claude Connectors Directory and ChatGPT Apps Directory (annotations, typed schemas, description clarity, liveness, graceful errors, anti-ghost) — run it before you submit. It does NOT cover privacy-policy, identity/business verification, OAuth callbacks, or prohibited-category rules; it catches mechanical failures, it does not guarantee a pass. SECURITY SIGNALS (advisory, never a verdict): plain-HTTP exposure, redirect count, Server/X-Powered-By header disclosure, stack-trace-shaped text in error responses (zero extra cost — read from responses already fetched), plus two bounded best-effort checks — RFC 9728 OAuth protected-resource metadata and TLS certificate expiry/trust-chain status. CAPABILITY SIGNALS (advisory, never graded): resources/list and prompts/list support (OPTIONAL per the MCP spec — their absence is not a defect), tools/list pagination, and the raw capabilities the server declared. Protocol inspection only — no auth-bypass, no payment. Free. Best run against YOUR OWN server. (The census found ~80% of public MCP servers return no real content; this tells you which side you're on.)
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The MCP server endpoint URL (https) to audit — ideally your own |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with annotations readOnlyHint=true, the description adds extensive behavioral detail: it specifies the exact protocol steps ('server/discover with legacy initialize fallback, tools/list, and one read-only tool call over POST JSON-RPC'), what it measures and does not measure ('measurement only, not endorsement'), and its limitations ('no auth-bypass, no payment'). This goes far beyond the annotations to disclose scope and safety.
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 extremely long with many clauses and a typo ('SaSame'). While it is front-loaded with the main purpose and uses section-like paragraphs, the level of detail (e.g., the census statistic) makes it less concise than ideal. It is structured but not tightly written, earning a mid-range score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain return values, and it does: 'It returns the grade, a per-criterion pass/evidence breakdown, and the single biggest gap to fix.' It also covers exclusions, protocol details, and advisory signals, providing a complete picture for a complex tool. Very comprehensive given the absence of structured output metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the single parameter (url) with a clear description, so the baseline is 3. The description adds 'Best run against YOUR OWN server,' but this repeats the schema's 'ideally your own.' No additional syntax or format details are provided beyond the schema, so the description does not significantly enrich parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Grade one MCP server A-D against the Agent-Tool Discoverability Standard.' It clearly distinguishes from sibling tools by stating 'if you want a signed, portable certificate of the same audit, use verify_mcp_ready instead.' This makes the purpose unambiguous 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 explicitly says when to use the tool: 'DIRECTORY PRE-FLIGHT: ... run it before you submit.' It also states what it does NOT cover ('It does NOT cover privacy-policy, identity/business verification, OAuth callbacks, or prohibited-category rules') and names an alternative tool (verify_mcp_ready). This provides clear usage guidance with exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_queryARead-onlyInspect
Query SaSame's append-only audit log (meters, receipts, escrow statements, and Agent Work Ledger transitions). Read-only: an empty log returns 0, never fabricated activity. Filter by meter_id, agent_id, kind, or since (ISO timestamp). Use to reconstruct what SaSame recorded; party labels are not legal identities and recorded statements are not independent proof that underlying work or payment occurred.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | e.g. meter_charge / meter_reject / receipt_issue | |
| limit | No | ||
| since | No | ISO timestamp lower bound | |
| agent_id | No | ||
| meter_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds value by explaining that an empty log returns 0 with no fabricated activity, and provides context about the nature of recorded statements. No contradiction with 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 concise at 3-4 sentences with front-loaded purpose. Every sentence provides value, though the caveat statement could be slightly shorter. No 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?
The tool has 5 parameters, no output schema, and read-only annotations. The description covers filter options, emptiness behavior, and data limitations, but lacks details on limit behavior and return format, which are necessary for 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 coverage is 40% (only kind and since have descriptions). The description adds that meter_id, agent_id, kind, and since are filters, but does not explain the limit parameter fully. It provides some additional meaning but does not fully compensate for low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Query' and the resource 'SaSame's append-only audit log', listing specific data types. It is clear but does not explicitly differentiate from sibling tools, though the unique audit log focus makes it 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 gives usage context ('Use to reconstruct what SaSame recorded') and includes caveats about party labels and independent proof. However, it does not specify when not to use the tool or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capability_landscapeARead-onlyInspect
Zero-argument ecosystem view: SaSame's live 'State of the Agent Attack Surface' — how large the public MCP attack surface is, which capability classes it exposes (payment / code-execution / credential / write / send / fetch / read), and what share of state-changing tools ship with NO machine-readable safety annotation. An aggregate an agent cannot self-produce (it needs SaSame's whole observed population). ed25519-signed, offline-verifiable. OBSERVATION of the declared surface — not a safety, malware, or trust verdict. A frictionless first call: no URL needed. Cost-zero, observed level.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint=true, the description adds value by stating it is an 'observation, not a safety verdict', is 'ed25519-signed, offline-verifiable', and is an aggregate that cannot be self-produced. This goes beyond the annotation but could mention data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with 'zero-argument ecosystem view' and packs key info, but is a single run-on sentence with minor redundancy. It could be more structured, but it is mostly efficient and informative.
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 no output schema, the description covers purpose, content (e.g., capability classes), and security (signed). It lacks response format details, but for an observational tool, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description effectively communicates that no arguments are needed ('zero-argument', 'no URL needed'), fulfilling the requirement without needing further 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 clearly states it is a 'zero-argument ecosystem view' of SaSame's live 'State of the Agent Attack Surface', listing specific metrics (size, capability classes, missing safety annotations). It contrasts with sibling tools like 'capability_profile' which focus on individual tools, making 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 implies it is a 'frictionless first call' and 'cost-zero', suggesting it as an initial query. However, it does not explicitly state when not to use it or name alternatives, though context with siblings like 'capability_profile' provides indirect guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capability_profileARead-onlyInspect
DEFENSIVE pre-call check for one public MCP server: SaSame classifies its DECLARED tool surface (published tools/list) into capability-risk classes (code-execution / payment / credential / write / send / outbound-fetch / read), flags state-changing tools that publish NO machine-readable safety annotation (so a caller cannot auto-distinguish a read from a write/delete/payment before invoking), gives an exposure tier, and — the part an agent cannot self-produce — which higher-risk capability classes this server NEWLY exposed since SaSame first observed it. ed25519-signed, offline-verifiable. This is an OBSERVATION of the declared surface, NOT a vulnerability/malware scan and NOT a claim the server is unsafe. Use it before wiring an untrusted MCP into an agent. Cost-zero, observed level.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The MCP server endpoint URL (https) to profile |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description significantly adds context beyond the readOnlyHint annotation. It details that the tool is cost-zero, operates only on the declared tool surface (from tools/list), flags state-changing tools without machine-readable annotations, provides an exposure tier, and is ed25519-signed and offline-verifiable. It also clarifies it is an observation, not a security claim. No contradiction with 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 relatively concise for the amount of information conveyed, but it uses all-caps for emphasis (DEFENSIVE, OBSERVATION, NOT) which aids clarity. It front-loads key purpose and usage intent. A minor improvement could be to shorten some run-on sentences, but overall it is well-structured and reasonably sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool does, how it works (using tools/list, flagging unannotated state-changers, detecting new exposures), and its output characteristics (ed25519-signed, offline-verifiable). However, it does not specify the exact format or structure of the returned profile, which might be expected given the absence of an output schema. Still, it provides a comprehensive high-level overview sufficient for agent 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?
The input schema has one parameter 'url' with a description stating 'The MCP server endpoint URL (https) to profile'. The tool description does not add new semantic information about this parameter beyond what the schema already provides. With 100% schema coverage, a baseline of 3 is appropriate, as the description does not elaborate on URL format or validation rules.
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 'DEFENSIVE pre-call check for one public MCP server' that classifies declared tool surface into capability-risk classes and identifies newly exposed higher-risk classes. It distinguishes itself from siblings by specifying it is an observation of the declared surface, not a vulnerability scan, and differs from tools like 'verify_mcp_cert' or 'audit_mcp'.
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 tells when to use the tool: 'Use it before wiring an untrusted MCP into an agent.' It also clarifies what the tool is not ('NOT a vulnerability/malware scan and NOT a claim the server is unsafe'), providing clear usage boundaries. While it does not explicitly name alternative tools for vulnerability scanning, the context of 'defensive pre-call check' implies its specific use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chain_listARead-onlyInspect
List saved chain recipes (name, description, step count).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, so the tool is read-only. The description adds that it returns name, description, and step count, but does not disclose pagination behavior, ordering, or any limits. Since there are no parameters, the behavior is straightforward, but more detail (e.g., 'returns all saved chain recipes') would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence that front-loads the purpose and details. Every word is necessary; there is no redundancy or extra 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?
For a simple list tool with no parameters, the description adequately specifies what is returned. However, the lack of an output schema means the agent must infer the exact format. The description could be considered complete given the tool's simplicity, but it is missing potential context like whether the list is paginated or sorted.
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 baseline is high. The description does not need to add parameter information, and it correctly omits any. A score of 4 reflects that no improvement is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'saved chain recipes', and the fields returned ('name, description, step count'). It is specific and distinguishes the tool from others (e.g., factory_stations lists factory stations, not chain recipes).
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 the tool should be used to view saved chain recipes, but it does not provide explicit guidance on when to use it versus alternatives (e.g., other list tools) or when not to use it. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_engagementARead-onlyInspect
Poll the status of an engagement you opened with engage_sasame, and READ the human operator's reply — entirely over MCP, no email needed. Pass the ticket you got back from engage_sasame. Returns the full conversation thread (your request + any operator replies), the current state (new / answered / waiting / closed), and whether SaSame is now waiting on you. Call this again periodically (e.g. once a day) to pick up the operator's response. Free, read-only, deterministic — no LLM, no network.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket | Yes | The engagement ticket returned by engage_sasame (e.g. 'inq_...'). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states 'Free, read-only, deterministic — no LLM, no network', which aligns with the annotation readOnlyHint=true. It also describes the return value in detail (conversation thread, state, waiting flag). No contradictions with 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 concise, consisting of three sentences with no wasted words. The first sentence immediately states the main purpose. It efficiently covers usage, return value, and behavioral traits.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, read-only). The description adequately explains what is returned, how to use it, and behavioral characteristics. Since there is no output schema, the description covers return types and state enums, making it complete for agent usage.
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 single parameter 'ticket' described as 'The engagement ticket returned by engage_sasame'. The description adds only minor reinforcement ('Pass the `ticket` you got back from engage_sasame'), not substantial new meaning. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Poll the status of an engagement... and READ the human operator's reply'. It specifies the resource ('engagement you opened with engage_sasame') and the verb ('poll'/'read'). This distinguishes it from siblings like 'engage_sasame' (opening) and 'reply_engagement' (sending replies).
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 tells when to use it: after opening an engagement with engage_sasame, passing the ticket. It gives frequency guidance ('call this again periodically, e.g. once a day'). It does not explicitly say when not to use it or alternatives, but the context implies it's for polling only, not for opening or replying.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chronicle_summaryARead-onlyInspect
Return the public MCP Gold Rush Chronicle teaser. Detailed intelligence is paid/private.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true; the description adds that the teaser is public and contrasts with private detailed intelligence. No contradictions. Provides useful behavioral context 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?
One concise sentence front-loading purpose with no wasted words. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with annotations covering readOnlyHint, the description fully informs about the public teaser nature and the existence of private detailed intelligence. Complete for its 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?
No parameters, so schema coverage is 100%. Baseline 4 for 0 params applies; description does not need to add parameter info.
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 returns a public teaser of the MCP Gold Rush Chronicle, distinguishing it from a paid private version. The verb 'Return' and resource are specific, and it differentiates from sibling tools like gold_rush_report.
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 use for a public teaser only, noting detailed intelligence is private/paid. This provides clear context, but does not explicitly list alternative tools for detailed info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claim_confirmAIdempotentInspect
Confirm your domain-control proof and upgrade your SaSame MCP Observatory listing from Observed to CLAIMED. SaSame fetches /.well-known/mcp-ready-claim.txt (or checks the DNS TXT _mcp-ready-claim.) for the challenge token from claim_start. A match always creates a durable public Claim receipt and Claimed Control marker. The separate readiness certificate/badge is issued only for measured grade A/B. SSRF-guarded; free.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Your MCP server endpoint URL (https) — same as claim_start |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims creation of a durable receipt on each match, which contradicts the idempotentHint=true annotation implying repeated calls have same effect. It does disclose SSRF-guarded and free, but the inconsistency reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative but slightly verbose. It front-loads the core action and includes useful details like the readiness certificate and SSRF protection, though a bit more conciseness would improve it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and one parameter, the description is highly complete: it explains the process, conditions, outcome (receipt, claimed marker), and separation of readiness badge. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds context: the URL must be HTTPS and identical to claim_start. It also explains the verification mechanism, adding 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: confirming domain control proof to upgrade listing from Observed to CLAIMED. It uses specific verbs (confirm, upgrade) and resource (domain listing status), and distinguishes from sibling tools like claim_start and town_claim_confirm.
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 (after claim_start, verifying a challenge token) and the process (checking well-known file or DNS TXT). It doesn't explicitly state when not to use or name alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claim_startAIdempotentInspect
Start claiming YOUR MCP server in the SaSame MCP Observatory (Observed -> Claimed). Returns a challenge token bound to your endpoint. Prove you control the domain by EITHER (a) serving the token at https:///.well-known/mcp-ready-claim.txt, OR (b) a DNS TXT record at _mcp-ready-claim.. Then call claim_confirm. Every verified owner receives a durable public Claim receipt and Claimed Control marker; the separate measured readiness certificate/badge remains available only when the current grade is A/B. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Your MCP server endpoint URL (https) to claim |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations indicating idempotent, non-destructive, non-read-only, the description adds significant context: returns a challenge token, two verification methods, receipt and marker upon verification, and conditions for readiness badge. No contradictions with 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 information-dense but structured: purpose, method, outcomes. A bit long but each sentence adds value. Could be slightly more 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?
Covers purpose, input, multi-step process, and results. No output schema, but describes return of challenge token. Missing error cases, but adequate for initiating a multi-step flow.
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 a description for the single required parameter 'url'. The description does not add new meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Start claiming' and the resource 'YOUR MCP server'. It also distinguishes from sibling tools like claim_confirm and town_claim_start by describing the initiating step of the claim process.
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 this tool (to start claiming) and outlines the subsequent steps (serve token or DNS record, then call claim_confirm). It implicitly suggests not to use if already claimed, but lacks explicit 'when not to use' or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
demand_radarARead-onlyInspect
Honest aggregate of what agents have asked for via register_intent (and passive tool-call arg logging). 0 entries = returns 0. No fabrication. LIVING GATE posture: empty is empty. Shows: top need phrases by count, % matched to existing tools vs unbuilt, total sessions, time window.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the description's emphasis on 'honest aggregate' and 'no fabrication' adds context about truthfulness of empty results. It explains the data source and that empty means empty, which are behavioral traits 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 fairly concise and front-loaded with the core purpose. It contains no unnecessary words, though it could be slightly shorter by removing redundant emphasis on honesty. Still 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 no parameters and no output schema, the description explains the output fields (top need phrases, counts, percentages, total sessions, time window) sufficiently. It does not mention sorting or pagination, but for a read-only aggregate, it is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so baseline is 4. The description correctly omits parameter details as none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool aggregates what agents have asked for via register_intent and passive logging. It specifies verb 'aggregate' and resource 'demand/needs', and lists output fields (top need phrases, counts, percentages). It implicitly distinguishes from sibling register_intent (which registers) and other analytics tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking demand for agent requests, but does not explicitly state when to use this tool versus alternative analytics tools like analytics_next_steps or capability_landscape. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecosystem_searchARead-onlyInspect
FREE: search the live x402 agent-economy catalog (thousands of payable APIs; size varies by source) for services relevant to a query. Returns ranked matches with price, quality score, category, and URL. Useful for an agent that wants to discover other agents/APIs to delegate to.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What capability/data you are looking for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint and openWorldHint. Description adds that the tool is free, searches a live catalog with size varying by source, and returns price, quality score, category, and URL. No mention of rate limits or pagination, but adds significant behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose and scope, no wasted words. Efficiently conveys purpose, outputs, and use case.
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 output fields and free nature. Lacks details on result limits, sorting, or caching, but sufficient for a simple search tool with one parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the only parameter (query) with a description. Description restates that it searches for services relevant to the query, adding little 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?
Description clearly states it searches the x402 agent-economy catalog for services relevant to a query, returning ranked matches. Distinguishes from siblings like recommend_mcp and capability_landscape by specifying it's a search over a live catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states usefulness for discovering agents/APIs to delegate to, providing clear context. Does not mention when not to use or explicitly name alternatives, but the use case is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
engage_sasameAInspect
Open an evidence-backed External Call Activation engagement for a public MCP. Use this after or alongside audit_mcp when the owner wants SaSame to identify why agents stop at discovery/tools-list, establish a reproducible baseline, and consider a separately scoped repair with before/after external-call evidence. You get a ticket and continue over MCP with check_engagement/reply_engagement. Free to submit; no charge, contract, claim, subscription, or outcome is created by calling this tool. Do not paste secrets, credentials, or private payloads.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Optional referral handle from the `refer` tool (e.g. 'ref_...') — attributes this engagement to the agent/directory/MCP that referred you here. | |
| need | Yes | The public MCP URL and observed activation problem (e.g. 'Audit why agents do not call https://example.com/mcp; registries discover it but substantive tool calls are near zero') | |
| budget | No | Optional budget or scope hint | |
| contact | No | OPTIONAL out-of-band return channel (email / agent URL / name + channel). Not required — by default SaSame replies in-thread and you poll check_engagement(ticket). | |
| urgency | No | Optional timeline / urgency |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false. The description adds key behavioral context: it's free, creates a ticket, continues over MCP with check_engagement/reply_engagement, and warns against posting secrets.
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 about 100 words, front-loaded with the core purpose, and every sentence adds value without repetition or 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?
Despite no output schema, the description explains the outcome (creating a ticket and continuing via check_engagement/reply_engagement). It covers all necessary context for an engagement submission tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all five parameters documented. The description adds context about the 'ref' parameter being from the 'refer' tool, but does not further elaborate on parameter details 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 opens an 'evidence-backed External Call Activation engagement' for a public MCP. It distinguishes itself from sibling tools like audit_mcp and check_engagement/reply_engagement by specifying when to use it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this after or alongside audit_mcp' and provides clear context for when to engage. It also notes that it's free to submit with no contract created, setting expectations for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
escrow_attestAInspect
Sign a release OR refund authorization for an open escrow once the outcome is reported/verified. SaSame ed25519-signs a portable authorization {escrow_id, outcome, amount, ts} that an external settlement venue (smart contract / processor) consumes to move the funds — SaSame itself holds and moves nothing. Terminal: once an escrow is released or refunded it is settled and cannot be re-attested (double-release is refused). NOTE: SaSame signs what is reported/verified — for objective conditions pair it with audit_mcp; for subjective deliverables it attests the reported outcome, not independent proof of quality.
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | Optional note | |
| outcome | Yes | release = pay the payee; refund = return to the payer | |
| evidence | No | What the verdict is based on, e.g. 'audit_mcp grade A' or 'payer confirmed acceptance' | |
| escrow_id | Yes | The escrow_id from escrow_open |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral cues; the description compensates fully by detailing that SaSame signs a portable authorization, holds/moves nothing, and that the tool is terminal (double-release refused). No contradiction with 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 efficient (5 sentences) and front-loaded with main verb and resource. Minor redundancy ('SaSame' repeated, 'once the outcome is reported/verified' implied elsewhere) could be tightened, but no extraneous content.
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 4 parameters, no output schema, and minimal annotations, the description covers purpose, outcome options, evidence guidance, and terminality. It mentions the signed data structure but lacks explicit return format. Could briefly describe the output for full 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 clear descriptions. The description adds value by explaining that escrow_id comes from escrow_open and gives examples for evidence, though it introduces 'amount' and 'ts' not in input schema, causing slight confusion. Overall well-supported.
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 'Sign' and the resource 'release OR refund authorization for an open escrow', distinguishing it from sibling tools like escrow_open and escrow_status by specifying it operates on open escrows after outcome verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (after outcome reported/verified), notes terminal behavior (cannot re-attest after settlement), and provides alternative guidance for objective vs subjective conditions by referencing audit_mcp.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
escrow_openAInspect
Open a NON-CUSTODIAL conditional-release escrow (hold-then-release-on-outcome). SaSame holds NO funds and moves no money — the funds sit in YOUR settlement venue (an on-chain escrow contract or a licensed processor). SaSame records the parties, amount, and release condition in its append-only ledger and ed25519-signs the envelope, so it can later sign a release/refund authorization that a separate party verifies offline (trust_pubkey). This only moves money if your settlement venue is configured to honor SaSame's signature.
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | Optional note | |
| unit | No | Unit label, e.g. 'USDC', 'EUR', 'credits' (free text) | |
| payee | No | Who gets paid on release (self-claimed label, unverified) | |
| payer | No | Who funds the escrow (self-claimed label, unverified) | |
| amount | Yes | Amount held at your settlement venue, in your own units (informational — SaSame does not hold it). | |
| condition | Yes | The release condition in plain words, e.g. 'MCP server at X passes audit grade B+' or 'deliverable Y accepted by payer'. | |
| settlement_ref | No | Where the funds actually sit — a contract address or processor escrow id. SaSame does not hold them. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: it states SaSame holds no funds, moves no money, records in an append-only ledger, signs envelopes, and requires external settlement venue configuration. This gives the agent critical safety and dependency information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the main purpose, and every sentence adds value. No wasted words; it efficiently communicates the tool's essence and key behaviors.
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?
While behavioral context is rich, the description lacks any mention of return values or output. Since there is no output schema, the agent is left guessing what the tool returns (e.g., a signature or escrow ID). This is a notable gap for a creation 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 good parameter descriptions. The tool description adds system-level context that explains the role of parameters, e.g., amount is informational and settlement_ref is where funds sit, enhancing 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 the tool opens a non-custodial conditional-release escrow, specifying the verb 'open' and the resource 'escrow'. It distinguishes from siblings like escrow_attest and escrow_status by emphasizing the creation action and the non-custodial nature.
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 (to create a non-custodial escrow) and provides context on how it works, but does not explicitly exclude other tools or mention alternatives like escrow_attest for attestation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
escrow_statusARead-onlyInspect
Read an escrow's current state: terms, the release condition, whether it is settled, and the signed attestations recorded against it (replayed from an append-only log). The returned statement summary is ed25519-signed and offline-verifiable with trust_pubkey; each attestation also carries its own signed authorization.
| Name | Required | Description | Default |
|---|---|---|---|
| escrow_id | Yes | The escrow_id from escrow_open |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows it's read-only. The description adds valuable context: the returned statement is ed25519-signed, offline-verifiable with trust_pubkey, and attestations carry signed authorization. This reveals behavioral traits beyond the annotation.
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, each packed with relevant information. No wasted words. The first sentence states the purpose and key contents; the second adds verifiability details. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema, clear annotations), the description covers what is returned, security properties, and relationship to the broader escrow system. It feels complete without requiring additional clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add extra meaning for the escrow_id parameter beyond the schema's 'The escrow_id from escrow_open.' No format, validation, or derivation rules are provided.
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 reads an escrow's current state and lists specific elements (terms, release condition, settlement status, signed attestations). It distinguishes itself from sibling tools like escrow_open (creation) and escrow_attest (modification).
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 implicitly indicates this tool is for reading state, not for mutating escrows, but it does not explicitly state when to use or exclude alternatives. The sibling context suggests alternatives exist, but no direct guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_checkoutARead-onlyIdempotentInspect
Read the retirement status of the legacy per-lifecycle Activation checkout rail. New Activation sales are closed. Existing legacy entitlements and signed webhook processing remain supported, while current paid access uses factory_membership_checkout. This tool never creates a Checkout and never charges.
| Name | Required | Description | Default |
|---|---|---|---|
| buyer_email | No | Deprecated compatibility input; ignored and never persisted | |
| lifecycle_id | No | Deprecated compatibility input; ignored | |
| lifecycle_key | No | Deprecated compatibility input; ignored and never persisted | |
| stripe_live_payment_acknowledged | No | Deprecated compatibility field. factory_start never charges, and public Activation checkout creation is closed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds that it never creates or charges, reinforcing but not adding beyond annotations. 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?
Four concise sentences, each adding meaningful context. Front-loaded with main action. 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 zero required params, no output schema, and simple read-only nature, description adequately covers legacy context and relationship to sibling 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?
Schema coverage is 100%, but parameters are deprecated and ignored. Description explains the tool never charges, which gives context for why parameters are ignored, but doesn't add significant value over 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?
Description clearly states it reads retirement status of a legacy checkout rail. Distinguishes from sibling factory_membership_checkout by naming it as the current paid access tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (read retirement status of legacy Activation checkout) and when not (new sales closed, use factory_membership_checkout for current access).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_healthARead-onlyInspect
Read the Factory conveyor health, persistence sequence and Stripe mode. Contains no customer data or secrets.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that it contains no customer data or secrets, and lists specific data items, providing useful behavioral context 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?
Single sentence, no wasted words. Front-loads key action 'Read the Factory conveyor health...'.
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 health-check tool with no parameters and no output schema, the description fully conveys what it does and what data it returns.
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, baseline 4. Description adds meaning by specifying what data is returned, compensating for lack of output 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 reads conveyor health, persistence sequence, and Stripe mode. It is specific about the resource, but does not differentiate from sibling tools like factory_status.
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 vs alternatives. Does not indicate prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_membership_checkoutAIdempotentInspect
Create the account-level Factory membership Stripe LIVE subscription Checkout for a principal. Plans: factory / factory_pro / factory_team. The binding is your principal_id from OUR metadata — a buyer email never binds a membership. assisted_review is NOT sold here (no fulfillment path yet) and free_listing needs no checkout. Completing the Checkout charges real money via Stripe LIVE mode at the owner-set plan price.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | factory / factory_pro / factory_team | |
| offer_ref | No | Optional, required together with mission_id: the specific Mission offer this checkout is claimed to fulfill. Same no-authority-by-itself rule as mission_id. | |
| mission_id | No | Optional: attribute this checkout to a Mission offer (Project Pancho, #2837). Carried into Stripe metadata as-is; grants NO authority by itself — only an exact match against SaSame's own durable, selection-proof-validated Mission offer lineage ever counts as real Mission fitness/North-Star evidence. An unknown or mismatched value simply never matches anything; this checkout still proceeds as an ordinary membership purchase either way. | |
| variant_id | No | Optional: the specific Mission variant this checkout is claimed to fulfill. Only meaningful together with mission_id and offer_ref; same no-authority-by-itself rule. | |
| principal_id | Yes | ||
| principal_key | Yes | ||
| analytics_correlation_id | No | Optional opaque journey token; only its SHA-256 hash is stored for cross-channel analytics. | |
| stripe_live_payment_acknowledged | Yes | Required acknowledgement that completing the returned Factory membership Checkout charges real money via Stripe LIVE mode at the selected LIVE plan price. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent hints), description discloses real-money charge via Stripe LIVE mode, principal_id binding semantics (buyer email never binds), and the unavailability of assisted_review due to no fulfillment path. These are meaningful behavioral traits not present in 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?
Four sentences, each adds value: purpose, plans, binding/exclusions, and payment warning. No redundant repetition of schema or annotation fields; front-loaded with 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?
For a complex checkout tool with 8 params and no output schema, description covers purpose, plans, binding rules, exclusions, and live-payment warning. It doesn't mention return shape or prerequisite that principal must be registered, but annotations and schema fill many gaps. It's largely complete but not exhaustive.
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 already covers 75% of parameters with descriptions, so baseline is 3. Description adds meaningful semantics for principal_id (binding by principal_id, not email) and for stripe_live_payment_acknowledged (charges real money), and lists the valid plan values for plan_id. This extra context justifies above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Create' plus resource 'account-level Factory membership Stripe LIVE subscription Checkout' and explicitly lists plans. It also distinguishes itself by stating what it does NOT sell (assisted_review) and that free_listing needs no checkout, so an agent can tell it apart from sibling tools like factory_checkout.
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?
States clear context: account-level membership checkout for a principal, with plan options. Gives explicit when-not-to-use: assisted_review is NOT sold here and free_listing needs no checkout. However it doesn't explicitly name an alternative tool for assisted_review, so it stops short of full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_membership_statusARead-onlyInspect
Read one principal's account-level Factory membership: subscription status, plan, current period end, the resolved plan capabilities, and slot usage (guided build, managed monitoring, credentialed audit profiles). Requires the principal_id and its principal_key. Losing paid access only removes paid capabilities; no lifecycle, claim or receipt history is ever deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| principal_id | Yes | ||
| principal_key | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds valuable behavioral context: 'Losing paid access only removes paid capabilities; no lifecycle, claim or receipt history is ever deleted.' This clarifies data persistence and mutation effects beyond what annotations provide. The description also details what the read returns, enhancing transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and data, followed by parameter requirements and a behavioral note. At three sentences, it is concise and avoids redundancy. Minor improvement could be possible by tightening the parameter sentence, but overall it is 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?
For a read-only tool without an output schema, the description adequately lists the returned fields and adds behavioral context. It is missing explanations of terms like 'principal' or 'Factory', and does not hint at error conditions or response structure, but given the tool's simplicity, the coverage is sufficient for most use cases.
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 0% schema description coverage, the description should compensate by explaining the parameters. It merely states 'Requires the principal_id and its principal_key' without adding meaning beyond their names. No format, examples, or purpose are given, leaving the agent underinformed about what values to provide.
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 'Read' and clearly identifies the resource as 'one principal's account-level Factory membership'. It lists the exact data returned (subscription status, plan, period end, plan capabilities, slot usage), which distinguishes it from sibling tools like factory_status or factory_health that serve different purposes.
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 the required parameters (principal_id and principal_key) but does not explicitly tell when to use this tool versus alternatives. It implies usage for reading membership details, but no when-not-to-use or alternative tool suggestions are provided, leaving the agent to infer context 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.
factory_principal_registerAInspect
Register a durable, free SaSame Factory principal that can own an unlimited portfolio of MCP lifecycles. No checkout, no charge. Returns principal_id and principal_key; store this key now — it is shown once and cannot be recovered. contact_email is optional metadata stored hash-only and is never used for authority or binding.
| Name | Required | Description | Default |
|---|---|---|---|
| display_ref | Yes | Non-secret human-readable reference for this principal | |
| contact_email | No | Optional metadata; stored hash-only and never used as an authority or binding source | |
| analytics_correlation_id | No | Optional opaque journey token; only its SHA-256 hash is stored for cross-channel analytics. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint false). Description adds valuable context: the principal_key is shown once and unrecoverable, contact_email is stored hash-only and not used for authority. 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 compact: two sentences plus a clause. Front-loaded with purpose and key behavioral notes. Every sentence earns its place with 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?
No output schema, but description explains return values and critical warning about key recovery. Covers the essential behavioral aspects. Could mention error cases or rate limits, but sufficient for a registration 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 baseline 3. Description adds meaning for contact_email by repeating its optional nature and security properties, going beyond the schema's description. display_ref and analytics_correlation_id receive no extra explanation, but the added value for contact_email justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool registers a durable, free SaSame Factory principal. It specifies the return values (principal_id, principal_key) and highlights the key's single-show nature. Differentiates from siblings like factory_checkout by mentioning 'no checkout, no charge' and owning a portfolio.
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 no checkout or charge, implying when to use this over checkout-related tools. Provides context for the principal's capabilities but does not explicitly mention alternatives like register_intent or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_resolve_dead_letterAInspect
OWNER-ONLY. Classify and close one webhook dead-letter entry as expected_security_rejection (e.g. a signature-verification failure from a probe/attack) or real_operational_failure (a genuine bug needing a fix). Requires a signed owner_capability_token — mint one with scripts/factory/mint-owner-capability.mjs (VPS-only, requires the real trust signing key). A bare public caller can never resolve a dead letter, which would otherwise let a real rejected fraud/abuse attempt be self-declared 'expected' and hidden from the open backlog. Moves the entry out of open_dead_letter_count; dead_letter_count (full history) never shrinks.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional free-text context for the classification | |
| classification | Yes | Why this dead letter happened, as judged by the owner | |
| dead_letter_id | Yes | The fdl_... id from factory_health/receipts | |
| owner_capability_token | Yes | Release-bound, single-use, short-lived token signed with SaSame's trust key, minted for the dead-letter-resolution audience |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds detailed behavioral context beyond annotations: describes effect on open_dead_letter_count vs dead_letter_count, security implications, and token requirements. Annotations are minimal, so description carries the burden excellently.
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?
Front-loaded with purpose and ownership. Every sentence adds value, no fluff. Length is justified by the complexity of the 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?
Covers ownership, token, classification, and count effects. Lacks description of return value/response, but as a mutation tool without output schema, this is a minor 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 covers all 4 parameters with descriptions. The description adds minor extra context (e.g., token being 'Release-bound, single-use, short-lived'), but overall adds little beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool classifies and closes a webhook dead-letter entry into two categories. It uses specific verbs and resource, but does not distinguish from sibling tools directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit ownership requirement, token minting instructions, and security rationale. Does not list alternative tools but gives clear context for when to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_startAInspect
Start the real SaSame MCP Factory lifecycle from one of seven canonical creator entry types. Free Listing (live_entry) lists and claims unlimited MCPs for FREE — no checkout, ever. The four paid guided-build journeys (idea/blueprint/building/ready) require an ACTIVE account-level Factory membership (no per-journey activation gate) and make endpoint_url optional until inspection (supply it later with factory_provide_endpoint). monitoring_entry registers free; underperforming_entry needs a membership + endpoint. No checkout is created at start; a redirect never grants access.
| Name | Required | Description | Default |
|---|---|---|---|
| entry_type | No | Where this creator enters the one Factory lifecycle; defaults to live_entry for backward compatibility | |
| journey_id | No | Alias for entry_type. If both are supplied they must match; disagreement fails closed | |
| buyer_email | No | Only needed for a fixture/legacy activation checkout journey; membership/free journeys bill at the account level and never bind an email | |
| endpoint_url | No | Public MCP endpoint owned/operated by the creator. REQUIRED for live_entry/underperforming_entry/monitoring_entry; OPTIONAL for the four guided-build journeys (provide it later via factory_provide_endpoint) | |
| principal_id | No | v2 principal binding; required for the membership-gated guided/underperforming journeys | |
| principal_key | No | v2 principal binding; required for the membership-gated guided/underperforming journeys | |
| organization_id | No | v2 principal binding; legacy identity fields remain accepted | |
| creator_identity | Yes | Stable creator reference; SaSame persists only its SHA-256 hash | |
| verification_mode | No | Use sasame_self_test_fixture only for SaSame's own synthetic release verification; it is excluded from demand/revenue KPIs | |
| ownership_proof_url | No | Same-origin URL that will serve the returned ownership_proof_body; defaults to /.well-known/sasame-factory-claim.txt | |
| analytics_correlation_id | No | Optional opaque journey token generated by the caller. SaSame stores only its SHA-256 hash and uses it to correlate Web/MCP/Factory/checkout/fulfillment analytics; never put email, URL, credentials or personal data here. | |
| self_test_capability_token | No | Required alongside self_test_free_distribution: a release-bound, single-use, short-lived token signed with SaSame's trust key. Mint with scripts/factory/mint-self-test-capability.mjs (VPS-only). Unrelated to any other argument; omitting it while self_test_free_distribution=true fails closed. | |
| self_test_free_distribution | No | SaSame-internal only: requires verification_mode=sasame_self_test_fixture AND a valid self_test_capability_token. Completes the full lifecycle (through DISTRIBUTION) with zero Stripe interaction and never touches the real public shelf — the receipt is stamped shelf=sasame_internal_self_test / plan_context=self_test_no_charge / north_star_counted=false so it can never be mistaken for a real listing. External creators cannot use this to skip payment; it throws for any non-fixture traffic or without a valid token. | |
| stripe_live_payment_acknowledged | No | Deprecated compatibility field. factory_start never charges, and public Activation checkout creation is closed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that no checkout is created and redirect never grants access, which aligns with the annotations (destructiveHint=false, readOnlyHint=false). It explains behavioral traits like membership requirements, endpoint optionality for guided builds, and special handling for self_test. This adds value 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 packed with information in three long sentences, which is informative but somewhat dense. It is front-loaded with the main purpose, but the length could be reduced without losing clarity. A more structured approach (e.g., bullet points) would 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 14 parameters with full schema coverage, the description covers most behavioral aspects: entry types, membership requirements, endpoint timing, and self_test restrictions. However, it does not describe what the tool returns (e.g., a journey ID or status), which would be helpful since no output schema exists. Still, it is largely complete for a starter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all 14 parameters (100% coverage). The description adds meaning by grouping entry types, explaining the alias relationship between entry_type and journey_id, and clarifying when endpoint is required vs optional. This provides 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 it starts the SaSame MCP Factory lifecycle from seven canonical entry types. It distinguishes each entry type's purpose (free listing vs. paid guided-build vs. monitoring vs. underperforming), and mentions a related sibling tool (factory_provide_endpoint). This is specific and avoids tautology.
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 each entry type, what is required (e.g., membership for paid journeys, endpoint for live_entry), and when not to use (e.g., self_test_free_distribution is SaSame-internal only). It provides clear context but does not directly compare to other sibling tools beyond mentioning factory_provide_endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_stationARead-onlyInspect
Read one canonical station's private status and allowed operations for a Factory lifecycle. Requires the unguessable lifecycle key; it never advances or fabricates completion.
| Name | Required | Description | Default |
|---|---|---|---|
| station_id | Yes | Canonical station_id returned by factory_stations | |
| lifecycle_id | Yes | ||
| lifecycle_key | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds value by explicitly stating the tool 'never advances or fabricates completion', providing behavioral clarity beyond the annotations. 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?
Two sentences, no unnecessary words. Front-loaded with the core purpose, followed by a critical usage note. Every sentence 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?
The description adequately covers the tool's purpose and key behavior given the annotations and parameter count. Lack of output schema is mitigated by the clear read-only intention, but a brief note on the return format would enhance 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 low (33%). The description does not elaborate on lifecycle_id or station_id beyond the schema, though it mentions the lifecycle key requirement. This provides some context but does not fully compensate for the missing 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 action ('Read') and the resource ('canonical station's private status and allowed operations') with specific context ('Factory lifecycle'). It distinguishes from sibling tools like factory_stations and factory_station_action by focusing on a single station's private read-only state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the requirement for an unguessable lifecycle key, indicating when this tool is appropriate. It implies not to use when needing to advance or fabricate completion, but does not explicitly name alternative tools or provide 'when not to use' guidance, keeping it at 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_station_actionAInspect
Request one operation at one canonical Factory station. The runtime authorizes the operation from lifecycle state and evidence, rejects station skipping, and never treats a request as verified completion. Creator code and credentials remain creator-owned.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| payload | No | Station-specific non-secret input. Secret-like fields are rejected by the runtime. | |
| station_id | Yes | Canonical station_id returned by factory_stations | |
| lifecycle_id | Yes | ||
| lifecycle_key | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral traits beyond annotations: 'The runtime authorizes the operation from lifecycle state and evidence, rejects station skipping, and never treats a request as verified completion' and 'Creator code and credentials remain creator-owned.' This adds context about authorization, non-verification, and ownership, complementing 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 two sentences, front-loaded with the purpose, and contains no superfluous text. Every sentence adds value, making it 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?
Given the complexity (5 parameters, no output schema), the description covers authorization, rejection, non-verification, and ownership. It lacks details on success/failure responses or side effects, but the main behavioral aspects are addressed, making it fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, and the tool description does not explain individual parameter meanings (e.g., lifecycle_id, lifecycle_key, action enum values). While it vaguely references lifecycle state, it fails to compensate for the low coverage, leaving agents unclear on parameter specifics.
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 'Request one operation at one canonical Factory station,' specifying a verb (Request), resource (operation at Factory station), and scope (one station, one operation). It also mentions authorization and rejection of skipping, making the purpose unambiguous and distinguishable from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (e.g., runtime authorization from lifecycle state and evidence, rejects station skipping). However, it does not explicitly mention when not to use or compare to sibling tools, but the behavioral details are sufficient for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_stationsARead-onlyInspect
List the canonical 21 SaSame Factory stations, their honest maturity, supported recovery controls and available operations. This is capability/status metadata, not a quality or launch verdict.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and openWorldHint=false. The description adds value by specifying what data is returned (maturity, recovery controls, operations) and clarifying it's metadata, not a quality/launch verdict. No contradiction with 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?
Two sentences, front-loaded with the core action. No redundant words. Efficient and to the point.
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 explains the purpose and content (maturity, recovery controls, operations) but lacks details on output format. However, for a zero-parameter, no-output-schema tool, it provides sufficient context for selection and use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has zero parameters and 100% coverage, so baseline is 4. Description adds no parameter info, but none is needed. It does not repeat schema details, which 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 it lists the canonical 21 SaSame Factory stations with specific attributes (maturity, recovery controls, operations). It clearly distinguishes from siblings like 'factory_station' (singular) and 'factory_station_action', and clarifies it is metadata, not a quality verdict.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (for listing all stations) but does not explicitly mention alternatives like 'factory_station' for single-station details. It provides context that it's capability/status metadata, which aids in understanding appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_statusARead-onlyInspect
Read one Factory lifecycle, all 21 station states, station receipts, billing/entitlement state and current blocking reason. Requires the unguessable lifecycle key returned once by factory_start.
| Name | Required | Description | Default |
|---|---|---|---|
| lifecycle_id | Yes | ||
| lifecycle_key | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's 'Read' operation aligns. The description adds value by detailing the scope (all 21 stations, receipts, billing) and the key requirement, which goes beyond annotation signals. 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 no redundancy. The first sentence enumerates the read scope; the second specifies the key requirement. 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 complexity (many state components) and absence of output schema, the description provides a useful summary of returned data. It omits error scenarios (e.g., invalid key) but overall gives sufficient context for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain both parameters. It mentions 'lifecycle key' but not lifecycle_id, leaving the agent to infer that lifecycle_id identifies the lifecycle. This is insufficient for an agent to correctly supply the required inputs without additional knowledge.
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 'Read' and the resource 'one Factory lifecycle', listing specific data elements (21 station states, receipts, billing/entitlement, blocking reason). This distinguishes it from sibling tools like factory_start (which creates) or factory_health (which checks health), providing unambiguous purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly requires the 'unguessable lifecycle key returned once by factory_start', indicating this tool is used after starting a factory lifecycle. It does not list exclusions or alternatives, but the context makes it clear that other status tools (e.g., factory_health) exist for different purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factory_verify_receiptARead-onlyInspect
Offline-verify a Factory lifecycle station receipt's ed25519 signature (signed_by/signature, added #1475/#1768) against SaSame's trusted issuer key — the same key trust_pubkey and verify_mcp_cert already use. Detects any receipt content altered after signing, or a receipt that was never actually signed by SaSame. Pass any receipt object exactly as returned by factory_status/factory_start/etc (from station_receipts or receipt_history).
| Name | Required | Description | Default |
|---|---|---|---|
| receipt | Yes | A receipt object exactly as returned inside a Factory lifecycle's station_receipts or receipt_history |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the readOnlyHint annotation by explaining the cryptographic mechanism, detection of altered or forged receipts, and the trusted key relationship. No contradictions with 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?
Two concise sentences that front-load the purpose and include essential details without redundancy. Every sentence adds meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the lack of an output schema, the description covers purpose, input sourcing, and detection capability. It could be slightly more explicit about the return value format (e.g., boolean), but overall it is adequate for a single-parameter verification tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a good description of the receipt object. The tool description adds value by citing specific source tools (factory_status, factory_start) for obtaining the receipt, which aids agent understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair ('Offline-verify a Factory lifecycle station receipt's ed25519 signature') and distinguishes itself from siblings like verify_mcp_cert by specifying the same key usage and different target (receipt vs cert).
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 clearly says to pass a receipt object exactly as returned by factory_status/factory_start/etc, providing practical sourcing. However, it does not explicitly state when not to use this tool or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_badgeARead-onlyInspect
Get your embeddable 'SaSame MCP Readiness' status badge — it renders the LATEST grade SaSame has observed for an MCP server against the public 10-criterion standard (offered for A/B grades). Returns a ready-to-paste markdown + HTML snippet (a badge image linking back to your public SaSame observatory record) plus the offline-verifiable certificate URL. It is a re-checkable measurement, not an endorsement or a mark we sell, and it changes as your grade moves. If the server isn't observed yet, it tells you to run audit_mcp(url) first; to make the listing owner-confirmed, claim_start. Free, read-only, no signup.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The MCP server endpoint URL to get a badge for (ideally your own) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description reinforces that it is 'free, read-only, no signup.' It also discloses that the badge 'is a re-checkable measurement, not an endorsement' and changes as the grade moves, providing full behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is packed with useful information in a few sentences, though slightly verbose. It front-loads the main purpose and returns, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description fully explains the return value (markdown+HTML snippet, certificate URL) and error handling (server not observed case). For a single-parameter tool with read-only behavior, this is 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% for the single 'url' parameter. The description adds minimal extra context ('ideally your own'), which is useful but not substantial. Baseline 3 is appropriate as the schema already defines the parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific language: 'Get your embeddable 'SaSame MCP Readiness' status badge' and explains what it renders, distinguishing it from sibling tools like get_mark_snippet or get_usage_badge by focusing on the readiness badge with a public standard.
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 when to use (to get a badge for a server), what to do if the server isn't observed ('run audit_mcp(url) first'), and how to make it owner-confirmed ('claim_start'). It lacks explicit exclusions but provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mark_snippetBRead-onlyInspect
Return copy/paste snippets that turn a SaSame observation into visible status: README badge, HTML badge, MCP instructions, agent-card fragment, and .well-known body. This is a status mark, not an endorsement.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public MCP endpoint URL | |
| name | No | Optional server/project display name |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. The description adds that this returns a status mark, not an endorsement, but does not disclose other behavioral traits such as error handling, caching, or impact of invalid URLs.
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 redundancy. The first sentence efficiently conveys purpose and output types; the second provides a clarifying caveat.
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?
Lists the snippet types, but lacks description of the return format or structure (no output schema). Also does not differentiate from the similar sibling 'get_mcp_mark_snippet', which could confuse selection.
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 both parameters are documented in the schema. The description does not add additional meaning beyond the schema's field 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 returns copy/paste snippets for turning SaSame observations into visible status badges and fragments. It lists specific snippet types (README badge, HTML badge, etc.), but does not explicitly differentiate from siblings like 'get_badge' or 'get_mcp_mark_snippet'.
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. Siblings include similar tools like 'get_badge' and 'get_mcp_mark_snippet', but the description does not explain why one would choose this tool over those.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mcp_mark_snippetCIdempotentInspect
Return README/HTML/MCP instructions/agent-card/.well-known snippets for the signed SaSame Record Mark.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| name | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true (safe to retry) and destructiveHint=false. The description adds no new behavioral context, such as authentication requirements or side effects, but 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 a single sentence with no unnecessary words. It is concise and front-loaded with the key verb and resource, but lacks structure (e.g., not breaking down use cases or assumptions).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain return format or structure. It lists snippet types but does not indicate whether the result is a JSON object, a string, or a file. This is insufficient for an agent to reliably use the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning no parameters have descriptions. The tool description does not mention or explain the parameters `url` (required) or `name` (optional), leaving the agent without any guidance on their meaning or format.
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 'Return' and the resource 'snippets for the signed SaSame Record Mark.' It includes specific snippet types (README, HTML, etc.) and distinguishes from the sibling `get_mark_snippet` by mentioning 'signed SaSame Record Mark,' though the differentiation is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The sibling `get_mark_snippet` exists but is not mentioned, and there is no indication of prerequisites or context for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingARead-onlyInspect
Return the current single-product SaSame MCP Factory commercial projection from the canonical commercial SSoT. It reports capacity, SKU references, and fulfillment paths without redefining exact prices. Calling this tool never charges.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description reinforces that calling never charges. It also notes that the tool reports without redefining exact prices, adding behavioral context beyond the annotation.
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 that are front-loaded with the core purpose, followed by a clear note on side effects. 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 no output schema, the description partially explains the return value (capacity, SKU references, fulfillment paths) but does not specify the structure, format, or how these elements are presented, which may leave the agent uncertain about what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the description bears no burden for parameter explanation. The schema coverage is 100% (empty schema), and the description does not need to add 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 clearly states it returns a commercial projection for a single product, listing specific elements like capacity, SKU references, and fulfillment paths. However, it does not explicitly distinguish itself from the sibling 'pricing_overview' tool, which may have overlapping functionality.
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 no guidance on when to use this tool versus alternatives. The only usage hint is 'Calling this tool never charges,' which is more about side effects than use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_standardBRead-onlyInspect
Return the open Agent-Tool Discoverability Standard (v0.3): the falsifiable criteria an MCP/agent server should meet to be findable, understandable, trustable, and callable by AI. Each criterion is bound to the MCP spec, the official registry schema, crypto/information-theory, or direct measurement — never taste — so a competitor's checker reaches the same booleans. Free and open forever.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; the description adds context about the standard's content and philosophy. It does not contradict annotations but also does not fully describe behavioral traits like return format or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the key action and provides additional context in a few sentences. It is efficient but slightly verbose in explaining the standard's philosophy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify the return type or format. It covers the tool's purpose well but lacks specifics on how the result is delivered (e.g., JSON string, markdown).
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 exist, and the schema covers them fully (100%). Baseline score of 4 applies since the description adds nothing about parameters, which 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 returns the Agent-Tool Discoverability Standard v0.3 and explains its purpose. It distinguishes itself from siblings like lookup_readiness by focusing on the criteria document itself, though it does not explicitly call out alternatives.
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 such as lookup_readiness or verify_mcp_ready. The description explains what the tool does but not the decision context for invoking it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usage_badgeCIdempotentInspect
Return SaSame Record Mark badge URLs/embed code, creating Observed mark if needed.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| name | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent, non-destructive, and not read-only. The description adds that it can create an 'Observed mark' if needed, which is a useful behavioral trait beyond annotations. However, no details on response format or error handling.
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, but includes a typo ('SaSame') and is somewhat ambiguous. Could be more structured with separate clauses for primary action and side effect.
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 two undocumented parameters, no output schema, and related sibling tools, the description lacks sufficient context for correct invocation. Missing details on parameter usage and differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain what the 'url' or 'name' parameters represent. The agent must guess their purpose, which is a significant gap.
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 returns badge URLs/embed code, with a specific resource ('SaSame Record Mark'). It also mentions a side effect (creating mark if needed), which adds clarity. However, the typo 'SaSame' may cause slight 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?
No guidance on when to use this tool versus alternatives like get_badge or usage_mark_issue. No context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_rush_agent_runAInspect
Advance a Gold Rush Agent Package by ONE deterministic, allowed step under its standing authorization (observe → claim_instructions/report → receipt). Runs only reachability/observation, report, and receipt steps. It never triggers live settlement, DNS, wallet publication, external account creation, legal, KYC, or paid external actions because those effects are outside this package tool's scope. Writes an append-only action event and returns the next safe step.
| Name | Required | Description | Default |
|---|---|---|---|
| package_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: it writes an append-only action event, returns the next safe step, and explicitly lists what steps are allowed and what effects are never triggered. This complements annotations (readOnlyHint false, openWorldHint true) 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 concise (4 sentences) and front-loaded with the core purpose. Every sentence adds value without redundancy, achieving a high information-to-word ratio.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one simple parameter, no output schema, and a straightforward action, the description covers the essential: it writes an append-only event and returns the next safe step. It could be slightly more complete by hinting at the response format, but overall it suffices given the low 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 0%, so the description should explain parameters. The only parameter 'package_id' is not described, leaving the agent to infer its meaning from context. While the parameter name is self-explanatory, the description misses an opportunity to clarify its role (e.g., the package to advance).
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 advances a Gold Rush Agent Package by one deterministic step, listing specific step types (observe → claim_instructions/report → receipt). It also explicitly distinguishes itself from tools that trigger live settlement, DNS, etc., making its scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use the tool (advancing a package under standing authorization) and what it does not do (never triggers external actions). However, it does not mention specific alternatives among sibling tools like gold_rush_package_status or gold_rush_start, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_rush_package_statusARead-onlyInspect
Read the append-only state of a Gold Rush Agent Package by package_id. Returns factual stage label, preset, completed steps, record state (active/duplicate_candidate/claim_conflict/…), and known limitations. Public_safe only — never leaks owner/operator/private data. Measurement only.
| Name | Required | Description | Default |
|---|---|---|---|
| package_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds context: append-only, returns factual data, public-safe, and lists 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?
Three concise sentences front-load the action and key details, 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?
For a simple read tool with one parameter and no output schema, the description covers purpose, returns, safety, and read-only nature. Could mention pagination limits 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?
Schema has one string parameter with 0% coverage. The description says 'by package_id' implying the parameter, but lacks details on format or constraints. Adequate for a single obvious param.
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 reads the append-only state of a Gold Rush Agent Package by package_id, listing specific return fields. It distinguishes from sibling gold_rush tools (agent_run, report, start) by focusing on package status.
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 mentions 'Public_safe only' and 'Measurement only,' implying safe use for queries, but does not explicitly state when to use or not use this tool versus alternatives, nor provide when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_rush_reportARead-onlyInspect
Produce the Gold Rush Visibility Report for a package (JSON + Markdown). Includes the Visibility Report output, runtime health where available, tool-surface readability where available, receipt/replay references where available, the stage label, and known limitations. Avoids any endorsement, safety, security-certification, ranking, revenue, or adoption guarantee. Public_safe.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | ||
| package_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnlyHint=true and openWorldHint=true. The description adds behavioral context: it lists what the report includes (e.g., runtime health, tool-surface readability) and what it avoids (endorsement, safety guarantees), and notes 'Public_safe' for safety. This supplements the annotations well.
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 main action and then detailing content and limitations. It is concise without being cryptic, though it could be slightly more 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?
Given no output schema, the description explains the output format and contents adequately. However, it fails to clarify the 'format' parameter and does not specify required vs optional parameters, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for parameters, and the description does not explain the 'format' parameter or provide details beyond the obvious 'package_id'. The description mentions 'JSON + Markdown' but does not link it to the format parameter. This leaves the agent unclear on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Produce the Gold Rush Visibility Report for a package (JSON + Markdown).' It also lists specific contents (runtime health, tool-surface readability, etc.), making it distinct from sibling tools like gold_rush_agent_run or gold_rush_package_status.
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 contexts where it should not be used. Usage is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_rush_startAIdempotentInspect
Start the Gold Rush Agent Package — the ONE guided journey over SaSame's MCP measurement, claim, visibility, and receipt systems ('Directories list MCPs. Gold Rush records what happened to them.'). Optional mcp_url + goal. Creates or identifies an append-only package record and returns package_id, mcp_id, the selected preset, the standing authorization scopes, and the next action. Measurement only, no payment: this never triggers live settlement, DNS, wallet, account, legal, or KYC actions. No contact data required.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | ||
| contact | No | ||
| mcp_url | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond idempotentHint, description reveals that the tool creates or identifies an append-only record, returns specific fields, and never triggers payment, DNS, wallet, etc. This adds value 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?
Well-structured with front-loaded purpose and bolded emphasis. However, a few sentences could be trimmed without losing clarity.
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 starting tool with no output schema, the description lists all returned fields (package_id, mcp_id, preset, etc.) and clarifies constraints (no payment, no contact required). Adequate for decision-making.
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 0%, so description must compensate. Only 'Optional mcp_url + goal' is mentioned, but 'contact' parameter is ignored. No details on parameter types or expected values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool starts the Gold Rush Agent Package, a guided journey over multiple systems. It specifies what it creates/identifies and returns. Despite not explicitly differentiating from siblings, the purpose is specific and actionable.
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?
Description provides clear context: it's a measurement-only tool, no payment or live settlement, and no contact data required. It implies when to use (starting a guided journey) but does not explicitly mention alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_vein_publicARead-onlyInspect
Return broad public Gold Vein hints. Specific build opportunities are paid/private.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds context that hints are 'broad public' and limited compared to paid/private, which is useful behavioral info beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with purpose, 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?
Given no output schema and zero parameters, the description is brief. It does not explain what 'hints' consist of, but the simplicity of the tool makes this acceptable. Could be improved by describing the output format.
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 input schema; baseline score for 0 parameters is 4. The description does not need to add parameter details as there are none.
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 'Return' and resource 'broad public Gold Vein hints', and distinguishes from specific paid/private opportunities. However, it does not explicitly name a sibling tool for the paid version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (for broad public hints) and hints at alternative (paid/private for specific opportunities), but lacks explicit when-not-to-use or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guild_feedARead-onlyInspect
Read the Gold Rush Guild: SaSame's OPEN, machine-readable agent activity feed (open standards). Returns the participant roster (each marked content_verified — endpoint returns real content per SaSame Audit — or unverified, filtering out 'ghost' agents) plus recent posts. Use to discover other agents and SaSame's latest activity. Free. To appear here yourself, call join_guild.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, so the agent knows it's safe. The description adds that it returns verified/unverified markers, filters ghost agents, and is free, providing useful behavioral context 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?
Concise, front-loaded with purpose, then details, then usage guidance. Every sentence 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 no output schema, the description adequately describes the output content and purpose. Could mention format (machine-readable, open standards) but overall 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?
No parameters in schema, baseline score 4. Description does not need to add parameter info.
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 reads the Gold Rush Guild feed, specifies the output (participant roster with content_verified markers, filtering ghost agents, plus recent posts), and distinguishes from sibling join_guild.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use to discover other agents and SaSame's latest activity' and directs users who want to appear in the feed to use join_guild instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
join_guildAIdempotentInspect
Join the Gold Rush Guild — broadcast your agent/service to SaSame's open agent feed so other AIs can discover you. Submit a short Note; a human operator moderates, then it is published and labelled content-verified (your endpoint is checked by SaSame Audit for returning real content) or unverified. Identity stays self-claimed. A low-threshold way to gain discoverability in a market full of ghost agents. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Your live endpoint/agent-card URL (https). This is what SaSame Audit checks to grant content-verified. | |
| title | Yes | Short headline for your post (what you do / are announcing) | |
| content | Yes | 1-3 sentences: your agent's capability or update | |
| attributedTo | No | Your agent identity URL (self-claimed, https). Used as your name in the roster. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant transparency beyond annotations: it discloses human moderation, content-verification via SaSame Audit, self-claimed identity, and that the service is free. Annotations already indicate idempotent and non-destructive, and the description is consistent with these.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, front-loaded with the core purpose, and every sentence adds value without redundancy. It is concise yet informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description covers the submission lifecycle, moderation, verification outcomes, and positioning. It lacks explicit details on what the response contains, but given no output schema, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for each parameter. The description adds natural-language context (e.g., 'submit a short Note' for content, 'live endpoint/agent-card URL' for url) that reinforces understanding, though the schema already covers basics.
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 'Join' and the resource 'Gold Rush Guild', and explains the purpose of broadcasting to SaSame's open agent feed. It distinguishes from siblings like gold_rush_agent_run and town_become_citizen by focusing on discoverability via the guild feed.
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 good context on when to use the tool ('a low-threshold way to gain discoverability') and explains the process (submit note, human moderation, publication). However, it does not explicitly mention when not to use it or suggest alternative tools among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_passportARead-onlyInspect
Look up the public Gold Rush Passport for an MCP URL or mcp_id. Measurement record only, not a security audit.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| mcp_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; the description adds that it is a measurement record only, reinforcing the read-only nature and clarifying it is not a security audit. However, no additional behavioral details (e.g., rate limits, data freshness) are provided.
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 extremely concise, with only two sentences. The main action is front-loaded ('Look up the public Gold Rush Passport'), and the second sentence adds essential context without 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?
There is no output schema, and the description does not describe the return value beyond calling it a 'measurement record'. The agent has no idea what fields or structure to expect, which is a significant gap for a lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description indicates that the parameters are for an 'MCP URL or mcp_id', implying one of them is used. However, it does not specify format, constraints, or whether both can be provided, leaving ambiguity.
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 verb ('Look up'), resource ('public Gold Rush Passport'), and scope ('for an MCP URL or mcp_id'). It also clarifies it is for measurement, not security, which distinguishes it from sibling tools like provenance_verify_passport.
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 some usage context ('Measurement record only, not a security audit') but does not explicitly state when to use this tool versus alternatives or what prerequisites exist. There is no mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_readinessARead-onlyInspect
Look up SaSame's EXISTING, independently ed25519-signed Readiness attestation for any MCP/agent endpoint. SaSame is one modular MCP Factory with permanent independent observation and evidence stations; measurement only, not endorsement. a neutral third party's measured record (reachable / callable / schema-valid / grade / when last measured) that an agent CANNOT issue about itself. Backed by SaSame's continuously-refreshed observation ledger (25,000+ observed endpoints, 88,000+ measurements). Returns the matching record as a freshly signed attestation you re-verify OFFLINE (no callback to SaSame), or, if not yet observed, exactly how to add it (call audit_mcp). Pure read: no live probe, no network, instant. Verification status only - NOT a safety, quality, or trust verdict.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The MCP/agent endpoint URL or domain to look up (e.g. https://example.com/mcp or example.com) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. The description adds substantial behavioral context: it is a pure read with no live probe, no network activity, instant. It explains the source (SaSame's observation ledger with stats like 25,000+ endpoints, 88,000+ measurements), and that the attestation can be verified offline. No contradiction with 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 somewhat long but well-structured, front-loading the main purpose. Every sentence adds value (purpose, read-only, verification, source, alternative action). Could be slightly more concise without losing information, 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?
For a tool with one parameter and no output schema, the description provides rich context: what is returned (freshly signed attestation for offline verification), the source (SaSame's ledger with stats), and what to do if not found. It addresses the user's likely needs fully.
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 single parameter 'url'. The description mentions 'MCP/agent endpoint URL or domain' which is already covered by the schema description. The description adds no new meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: look up SaSame's existing signed readiness attestation for any MCP/agent endpoint. It specifies it is a pure read operation with no live probe, distinguishing it from other tools like audit_mcp which adds new records. The scope (existing records) and constraints (no network instant) are explicit.
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: to look up an existing attestation. It clarifies what the result is NOT (a safety/quality/trust verdict). It provides an alternative action if the endpoint is not yet observed: call audit_mcp. This gives clear guidance on usage versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_registry_entryARead-onlyInspect
Look up the public SaSame MCP Registry entry for an MCP URL or mcp_id. Public-safe latest status only; not an endorsement.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| mcp_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint=true, and the description reinforces this by saying 'Public-safe latest status only'. It adds context beyond annotations by stating 'not an endorsement'. 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?
Two concise sentences, no filler. Each sentence adds value: first states action and resource, second adds qualifiers.
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?
Tool has no output schema and few parameters. The description covers purpose and behavioral limits but does not describe the return value or structure of the registry entry. While adequate for a simple lookup, more detail on output 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?
Parameter names (url, mcp_id) are self-explanatory, and the description mentions 'MCP URL or mcp_id' implying they are alternative identifiers. However, with 0% schema description coverage, the description could have explained each parameter's format or constraints more thoroughly.
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: to look up a public MCP Registry entry using either a URL or mcp_id. It specifies the resource and action, distinguishing it from sibling tools like lookup_passport or lookup_readiness.
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 when to use ('public-safe latest status') and what it is not ('not an endorsement'). While it does not explicitly list alternatives or when not to use, the context is adequate for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_context_summaryARead-onlyInspect
Return public aggregate MCP Market Context. Aggregate measurement context only; not a recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is clear. The description adds that it is 'not a recommendation,' which is relevant behavioral context. However, it does not disclose other traits like data freshness, caching, or what 'public aggregate' means in terms of data scope.
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 brief clarifying clause. Every word is necessary and no extraneous information is included. It is appropriately front-loaded with the core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with no parameters and no output schema, the description provides the essential purpose and a key limitation (not a recommendation). However, it does not describe the output format or typical usage context, which would help an agent understand the expected return value for 'Market Context'.
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 zero parameters and schema coverage is 100% (vacuously). The description's mention of 'public aggregate' aligns with the absence of parameters, implying no user-specific filtering. Baseline for zero parameters is 4, and the description does not contradict this.
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 (Return) and the resource (public aggregate MCP Market Context). It adds a clarifying statement that it is not a recommendation, which helps distinguish from some similar tools, but could be more specific about what 'Market Context' includes.
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 aggregate measurements rather than recommendations via the statement 'Aggregate measurement context only; not a recommendation.' However, it does not explicitly name alternative tools for recommendations or other use cases, leaving the agent to infer from sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meter_chargeAInspect
Record a charge against a meter and ENFORCE the cap. If the charge would exceed the remaining budget it is REJECTED (signed denial). This is budget enforcement in code, outside the model — something an autonomous agent cannot trust itself to do. Returns remaining + a signed line-item.
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | What this charge was for | |
| amount | Yes | Amount to charge in the meter's units | |
| meter_id | Yes | The meter_id from meter_open |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that charges are capped and rejected if exceeding budget, and returns a signed denial. Annotations provide readOnlyHint=false and destructiveHint=false, and the description adds important context: budget enforcement is coded outside the model, which is critical for an autonomous agent. No contradiction with 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?
Two sentences that efficiently convey purpose, behavior, and return value. Front-loaded with the primary action ('Record a charge against a meter and ENFORCE the cap'), no redundant 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 has no output schema, the description explains the return format (remaining + signed line-item). The core behavior (cap enforcement, rejection on excess) is fully covered. For a mutation tool with 3 parameters, this is complete and actionable for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The description reiterates 'meter_id from meter_open' which adds slight context beyond the schema, but does not significantly enhance parameter understanding. Baseline 3 is appropriate as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool records a charge against a meter and enforces a cap. It uses specific verbs ('record', 'enforce') and distinguishes from siblings like meter_open and meter_status by highlighting the budget enforcement aspect.
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 (to charge a meter with cap enforcement) and implicitly when not to (e.g., to check status use meter_status). It explicitly notes this is for budget enforcement that an agent cannot trust itself to do, providing clear context. It could explicitly name alternatives, but the sibling list makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meter_openAInspect
Open a usage/budget meter recorded in SaSame's append-only ledger. Use when a principal/orchestrator wants to give a sub-agent a capped budget and have charges enforced + recorded by a separate process. SaSame holds NO funds and is NOT a payment processor: it timestamps and ed25519-signs the envelope with its published public key, so the accounting is offline-verifiable. Returns a meter_id + a signed receipt (verify the signature with trust_pubkey).
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | Optional note | |
| unit | No | Unit label, e.g. 'USDC', 'calls', 'tokens' (free text, informational) | |
| budget | Yes | Budget cap in your own units (e.g. USDC, tokens, calls). Charges beyond this are rejected. | |
| owner_label | No | Who owns this budget (self-claimed label, unverified) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that SaSame holds no funds, timestamps and signs envelopes with ed25519 for offline verification, and returns a signed receipt. This adds significant context beyond the annotations (readOnlyHint false, etc.). 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?
Three concise sentences front-loading purpose, usage, and key behavioral details. No fluff, 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?
Covers purpose, usage, behavior, and return value. Lacks details on receipt format or verification steps, but given schema coverage and annotations, it is sufficiently complete for an agent to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The description does not add extra meaning to parameters beyond what the schema provides. Baseline score 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 tool opens a usage/budget meter in SaSame's append-only ledger. It uses specific verb 'Open' and resource 'usage/budget meter', distinguishing it from siblings like meter_charge and meter_status.
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?
Describes when to use: 'when a principal/orchestrator wants to give a sub-agent a capped budget'. It also clarifies what it is not (payment processor). Lacks explicit exclusions or alternative tool references, but the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meter_statusARead-onlyInspect
Read a meter's current state: budget, spent, remaining, and its line-item history (replayed from an append-only log). The returned statement summary (budget/spent/remaining/item-count) is ed25519-signed and offline-verifiable with trust_pubkey; the individual line_items are the raw recorded entries and are not separately signed.
| Name | Required | Description | Default |
|---|---|---|---|
| meter_id | Yes | The meter_id from meter_open |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: it returns a signed statement (ed25519) and raw line items, explains verification with trust_pubkey, and notes that line items are not separately signed. This complements the readOnlyHint annotation by adding cryptographic detail 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 the core action and followed by essential details on verification. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description thoroughly explains the return structure (statement with budget/spent/remaining/item-count, line items) and verification. With a single parameter and no nested objects, this is complete for an agent to understand the tool's behavior.
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 with a clear description for meter_id. The tool description does not add extra parameter semantics beyond the schema; it focuses on output. A baseline of 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads a meter's current state, including budget, spent, remaining, and line-item history. It distinguishes itself from sibling tools like meter_open and meter_charge by specifying the read-only nature and the signed statement feature. The verb 'Read' and resource 'meter' are specific.
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 use for checking meter state but lacks explicit when-not-to-use guidance or alternatives. However, the read-only annotation (readOnlyHint) hints at non-mutating use, and the sibling context provides implicit differentiation. A slight gap remains in directing agents away from this tool for write operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitoring_receipts_publicARead-onlyInspect
Return public monitoring receipt candidates. Measurement records only; no SLA or endorsement.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds behavioral context beyond annotations, clarifying the records are measurement-only and lack SLA/endorsement, which is useful for understanding limitations.
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, no wasted words, front-loaded with purpose. Efficiently conveys 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?
For a simple read-only tool with no parameters and no output schema, the description is sufficiently complete. It covers purpose and key constraints (measurement-only, no SLA/endorsement), though it does not describe return format or pagination.
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 exist in input schema, so baseline is 4. Description does not need to add parameter details and does not contradict 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?
Description clearly states it returns public monitoring receipt candidates, with a specific verb ('return') and resource. It adds 'measurement records only; no SLA or endorsement' which distinguishes it from other receipt-related tools in the sibling list.
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?
Implies usage context by stating 'no SLA or endorsement', suggesting not to use when these are needed, but does not explicitly name alternatives or provide when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ocr_extractARead-onlyInspect
FREE: extract text from an image URL via SaSame OCR (tesseract). Returns text preview + confidence. Full untruncated extraction is the paid x402 /ocr/full endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | Public URL of an image (png/jpg) to extract text from |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses behavior beyond annotations: it states the tool is free, uses a specific OCR engine, returns a text preview and confidence score, and that full extraction requires payment. Annotations already indicate readOnlyHint=true and openWorldHint=true, and the description aligns with them, adding more depth about the tool's nature.
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 extremely concise, using two short sentences that front-load key information (FREE, action, algorithm). Every word is purposeful, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one param, no output schema, annotations present), the description provides sufficient context: what it does, what it returns, and how it relates to the paid version. It could mention supported image formats more explicitly, but the schema covers that. Overall, it is complete for an agent to select and use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single parameter 'image_url', describing it as a public URL for png/jpg images. The description does not add new semantic detail beyond emphasizing the URL aspect, so it meets the baseline expectation without exceeding 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 extracts text from an image URL via OCR, specifies the algorithm (SaSame OCR/tesseract), and distinguishes itself from the paid 'full' endpoint (x402 /ocr/full). This provides a specific verb and resource with sibling differentiation.
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 frames the tool as free and contrasts it with the paid full extraction endpoint, giving clear context on when to use this version vs the alternative. It does not mention when not to use it among the listed sibling tools, but the paid alternative is effectively a sibling in the same API family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onchain_read_verifiedARead-onlyInspect
One multi-chain onchain read (block_number|gas_price|balance|tx|erc20_balance|erc20_supply) reconciled across 2-3 independent RPC providers in parallel. Returns per-RPC value, the block each pinned to, a consensus verdict, and max deviation bps. A lone RPC can lag a block or return a stale/different answer — this detects that. Collapses eth_block_number, eth_gas_price, eth_balance, eth_tx, erc20_balance, erc20_supply into one focused primitive.
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | The onchain read operation | |
| hash | No | Transaction hash (required for tx) | |
| sign | No | Attach ed25519 receipt (default false) | |
| chain | No | Chain (default base) | |
| address | No | 0x address (required for balance, erc20_balance) | |
| contract | No | 0x contract address (required for erc20_balance, erc20_supply) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already provide readOnlyHint=true and openWorldHint=true, the description goes far beyond by detailing the verification mechanism: reconciliation across 2-3 providers, per-RPC values, block pinning, consensus verdict, and max deviation bps. It also warns about potential stale data from a single RPC. This adds rich behavioral context that annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences plus a parenthetical list of operations. It is front-loaded with the core purpose and key differentiator (multi-chain reconciliation). Every sentence adds value, with no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no output schema), the description compensates well by explaining output structure (per-RPC values, consensus verdict, max deviation). It covers the verification logic, supported operations, and chain options. This is complete for a read-only tool with good annotations.
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 all parameters described. The description does not add significant parameter-specific meaning beyond what the schema already provides (e.g., 'required for tx'). It frames parameters in the context of verification but does not enhance their semantics. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a multi-chain onchain read that reconciles across 2-3 independent RPC providers. It lists the specific operations it handles (block_number, gas_price, balance, tx, erc20_balance, erc20_supply), making it distinct from other tools. The verb 'read' plus resource 'verified on-chain data' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool: for verified onchain reads that detect stale/different answers from a lone RPC. It implies its value for cross-provider consensus. However, it does not explicitly state when not to use it or mention alternative tools, such as simpler reads without verification. The guidance is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pricing_overviewBRead-onlyInspect
Return the Factory Observation station package overview and whether hosted checkout intake exists per referenced rail. Read-only: no checkout or charge is triggered by this tool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description reinforces this and adds that no checkout or charge is triggered. It also describes the return content, but the 'per referenced rail' part is inconsistent with no input parameters.
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?
Description is two sentences, front-loaded with the main action, and no unnecessary words. Efficient and 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?
No output schema exists, so description must explain return values. It partially does (package overview and hosted checkout intake existence) but 'per referenced rail' is vague without input. Adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0 parameters, baseline is 4, but description mentions 'per referenced rail' which implies a parameter that does not exist, potentially misleading an agent. No additional meaning added to the empty 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 returns a 'Factory Observation station package overview' and indicates hosted checkout intake existence. However, it mentions 'per referenced rail' without a corresponding input parameter, causing ambiguity. It does not differentiate from sibling tool 'get_pricing'.
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?
Description explicitly states it is read-only and no checkout or charge is triggered, providing usage context. But no guidance on when to use over alternatives like 'get_pricing' or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provenance_passport_specARead-onlyInspect
Read the SaSame Provenance & Rights Passport contract: evidence levels, signing roles, timestamp assurance, chain-of-title events, and the mandatory legal boundary. Read-only; never creates or registers copyright. SaSame is one modular MCP Factory with permanent independent observation and evidence stations; measurement only, not endorsement.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. Description adds details on what the contract covers and a legal disclaimer, but does not reveal additional behavioral traits beyond what annotations signal.
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 contents, second reinforces read-only and philosophical context. Every sentence adds value, 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?
No parameters or output schema needed. Description fully explains what the tool does, its scope, and its limitations, making it complete for a read-only spec 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?
Input schema has zero parameters and 100% schema description coverage. Baseline is 4; description adds no param info but isn't needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads the provenance & rights passport contract and lists specific contents (evidence levels, signing roles, etc.). It distinguishes from sibling 'provenance_verify_passport' by emphasizing read-only nature.
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 declares read-only and clarifies it does not create/register copyright. Context about 'measurement only, not endorsement' helps usage. However, it does not explicitly state when not to use or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provenance_verify_passportARead-onlyInspect
Offline-compatible verification of a SaSame Provenance & Rights Passport JSON object. Checks the claimant Ed25519 declaration signature, artifact-set digest, event hash chain, event signer requirements, timestamp payload binding, and false qualified-timestamp states. Read-only; makes no legal ownership decision. SaSame is one modular MCP Factory with permanent independent observation and evidence stations; measurement only, not endorsement.
| Name | Required | Description | Default |
|---|---|---|---|
| passport | Yes | Complete SaSame Provenance & Rights Passport JSON object |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description reinforces read-only behavior and adds detailed behavioral traits: offline-compatible, checks specific cryptographic elements, and explicitly states it makes no legal ownership decision. No contradiction with 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 front-loaded with the core purpose in the first sentence, is about 60 words, and every sentence adds value (purpose, checks, read-only nature, SaSame context). No redundancy or 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?
The description explains what the tool does but omits return value details (e.g., whether it returns a boolean, a detailed report, or an error). Given no output schema, this omission affects completeness. However, parameter handling and behavioral context are well covered.
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 single parameter `passport` has a schema description ('Complete SaSame Provenance & Rights Passport JSON object') providing 100% coverage. The tool description adds no additional parameter-level details beyond what the schema already provides, 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?
The description clearly states that the tool performs 'offline-compatible verification of a SaSame Provenance & Rights Passport JSON object' and lists the specific checks (claimant signature, artifact digest, event hash chain, etc.). It distinguishes itself from siblings like lookup_passport and provenance_passport_spec by emphasizing its verification and read-only nature.
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 verifying a passport object and notes it is read-only, but does not explicitly state when to use this tool versus alternatives (e.g., lookup_passport for retrieval, provenance_passport_spec for specs). It provides sufficient context for a clear use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pubmed_evidenceARead-onlyInspect
PubMed citation retrieval. One call returns: PMID list, per-paper { title, journal, MeSH terms, authors, PubMed record URL (pubmed.ncbi.nlm.nih.gov// — resolves to the citation/abstract record page, not guaranteed full text), publication date, stale flag }. Abstract full text is NOT returned inline; see abstract_note for where to fetch it. Structured JSON, no free-text upsell in result. A structured citation response an agent can ingest without re-verifying.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Number of papers to return (default 5, max 10) | |
| topic | Yes | Biomedical topic, condition, drug, or question | |
| intent_token | No | Fresh single-use token returned by register_intent; required for this gated tool. | |
| freshness_days | No | Flag papers older than N days as stale |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint=true and openWorldHint=true, which the description matches by stating it returns structured JSON and does not return abstract full text. It adds details about stale flag and URL construction, but these align with annotations. 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 description is 4 sentences and front-loaded with the core purpose. It is concise but could be more structured (e.g., bullet points for output fields). Clear and efficient overall.
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 explains the return value well, lists the output fields, and notes the missing abstract. Without output schema, it compensates adequately. Could mention error handling or empty results but is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add extra meaning beyond the schema's parameter descriptions; it focuses on output fields instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'PubMed citation retrieval' and enumerates specific returned fields (PMIDs, title, journal, MeSH terms, etc.), distinguishing it from siblings like 'pubmed_lookup'. The verb is specific and the resource is well-defined.
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 use for structured citation retrieval, notes that abstract full text is not included, and references 'abstract_note' for further steps. However, it does not explicitly compare to 'pubmed_lookup' or specify when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pubmed_lookupARead-onlyInspect
FREE preview: real PubMed (NCBI) search. Returns top article titles + PMIDs + journals. No paid research tier is active.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Biomedical topic or question |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and openWorldHint. The description adds behavioral context by specifying it returns only titles, PMIDs, and journals, and that it is a limited preview without a paid tier, which is 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 two concise sentences that front-load the key information: it's a free preview of PubMed search and what it returns. No extraneous 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?
For a simple query tool with one parameter and no output schema, the description covers the main purpose and return items. It could mention ordering or limits, but overall it is adequate for a preview tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'topic' is fully described in the schema as 'Biomedical topic or question'. The description adds no additional information about parameter format, constraints, or examples, so it stays at baseline.
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 a real PubMed search and returns top article titles, PMIDs, and journals. It distinguishes itself as a FREE preview, differentiating from potential siblings like 'pubmed_evidence' which likely offer more extensive results.
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 implicitly indicates this is for quick previews by labeling it 'FREE preview' and noting 'No paid research tier is active'. However, it does not explicitly state when to avoid this tool or mention alternatives like 'pubmed_evidence'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
readiness_reportARead-onlyInspect
FREE full deliverable: the complete MCP Full Readiness Report for one server. Runs the same audit as audit_mcp, then returns every criterion with evidence, a concrete remediation for each failure, an ed25519-signed certificate (A/B), and the highest-impact next step. Use it as directory pre-flight. Legal/account requirements are out of scope. This inspection station does not create a separate paid offer; get_pricing reports the canonical Factory commercial projection. Best run against YOUR OWN server. Handshake only — no auth-bypass, no payment, cost-zero.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The MCP server endpoint URL (https) to produce a full readiness report for — ideally your own |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations readOnlyHint=true are consistent with the description calling it an 'inspection station' that runs an audit and returns results. The description adds value by detailing what the report contains (evidence, remediation, certificate, next step) and clarifying it does not create a paid offer. 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 moderately concise, front-loading the main purpose and then listing outputs and usage notes. Some information could be streamlined, but it remains clear and contains no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single required parameter, no output schema), the description adequately covers inputs, outputs, and usage constraints. It mentions out-of-scope items and connects to sibling tools audit_mcp and get_pricing, making it complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'url' is fully described in the input schema with a clear description including 'ideally your own'. The overall description reinforces the parameter's purpose. Schema coverage is 100%, so the baseline is 3; the description adds helpful 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 it produces a complete MCP Full Readiness Report for one server, listing specific outputs like evidence, remediation, and signed certificate. It distinguishes itself from the sibling 'audit_mcp' by noting it runs the same audit but returns more comprehensive results.
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 'Use it as directory pre-flight' and 'Best run against YOUR OWN server.' It notes that legal/account requirements are out of scope and that it is free. It provides context for when to use, but could be more explicit about when not to use or about alternatives beyond audit_mcp.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receipt_issueAInspect
Get an ed25519 receipt for an action/tool-call you (or a peer) report. SaSame records what you pass and signs it with its published key, so the receipt is signed by a separate party from the actor and is offline-verifiable. NOTE: SaSame signs what is reported; it does not independently witness that the action occurred. Pass what happened; you get back a portable receipt {signed_by, signature, canonical_json} that anyone can verify offline with trust_pubkey. Use for audit trails, dispute evidence, and recording that a step was reported.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | What happened, e.g. 'called provider X', 'delivered report', 'paid 0.5 USDC to 0x..' | |
| payload | No | Optional structured detail to bind into the receipt (hashed; capped in size/depth) | |
| agent_id | No | Self-claimed id of the acting agent (unverified label) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations set readOnlyHint=false, consistent with the write nature of issuing a receipt. The description adds valuable behavioral context: the receipt is signed by a separate party, offline-verifiable, and includes trust_pubkey verification. It also warns that SaSame does not witness the action, preventing misinterpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, and every sentence adds unique value. No superfluous text. 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?
Despite no output schema, the description explains the receipt structure (signed_by, signature, canonical_json) and verification method. Parameter descriptions are complete. The tool's trust model and limitations are clearly communicated. Everything an agent needs to invoke it correctly is present.
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 three parameters have schema descriptions (100% coverage). The description adds meaning beyond the schema by explaining the receipt output format (signed_by, signature, canonical_json) and the role of payload ('Optional structured detail to bind into the receipt (hashed; capped in size/depth)') and agent_id ('Self-claimed id of the acting agent (unverified label)'). This enriches parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get an ed25519 receipt for an action/tool-call you (or a peer) report.' It specifies the verb (get), resource (receipt), and details what it does (signs with SaSame's key). Among siblings, it stands out from receipt_state, receipt_status_set, etc., as the only one issuing signed receipts.
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: 'Use for audit trails, dispute evidence, and recording that a step was reported.' It also clarifies limitations: 'SaSame signs what is reported; it does not independently witness that the action occurred.' While it doesn't list alternative tools, the context is sufficient for an agent to decide when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receipt_stateARead-onlyInspect
Read the current lifecycle state of a receipt (rcp_* or atr_*): folded status (active/revoked/disputed/corrected/superseded), deterministic anti-fraud risk_flags (duplicate evidence hash reuse, missing evidence, self-dealing labels, wording that implies payment-guarantee/certification/fiscal-receipt), display_strength (strong/normal/weak), the correction chain, and the full status audit trail. Returns a SaSame-signed statement, offline-verifiable with trust_pubkey. Empty flags on an unknown receipt are never fabricated — unknown ids return an error.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_id | Yes | rcp_* or atr_* id |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it returns a SaSame-signed, offline-verifiable statement, and that unknown IDs return an error (no fabricated empty flags). This adds significant behavioral context beyond the readOnlyHint annotation, covering output format and error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences. The first sentence front-loads the core functionality and outputs, and the second adds essential details about verification and error handling. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description enumerates key return categories (status, risk_flags, display_strength, correction chain, audit trail) and explains the signed nature and error behavior. This is sufficient for an agent to understand what the tool returns and how to handle errors.
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 only parameter receipt_id has schema description 'rcp_* or atr_* id', and the description re-emphasizes this format. With 100% schema coverage and only one param, the description adds little additional semantic value beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads the lifecycle state of a receipt, listing specific outputs like status, risk flags, display strength, correction chain, and audit trail. It is specific to the receipt_state tool and distinct from sibling mutation tools like receipt_issue or receipt_status_set.
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 querying receipt state and notes behavior for unknown IDs (returns error). However, it does not explicitly differentiate from siblings like receipt_status_set or factory_verify_receipt. The readOnlyHint in annotations helps, but the text itself lacks explicit when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receipt_status_setAInspect
Record a lifecycle status against an issued receipt (rcp_* from receipt_issue, or atr_* agent transaction receipts): revoked / disputed / corrected / superseded. The original signed receipt is never mutated — this appends a NEW signed status event referencing it (event-sourced; the full trail stays auditable). Terminal: once revoked or superseded, later status changes are recorded but the state stays frozen. 'corrected' requires corrected_by = the replacement receipt id. Honesty boundary: SaSame signs the reported status; it does not adjudicate the dispute.
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| receipt_id | Yes | rcp_* or atr_* id | |
| corrected_by | No | For status=corrected/superseded: the replacement receipt id (must exist) | |
| status_reason | Yes | Why (bounded free text; shown in the audit trail) | |
| dispute_reason | No | For status=disputed: the dispute grounds | |
| reporter_label | No | Self-claimed label of who reports this (unverified) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, destructiveHint=false), the description reveals key behaviors: it appends a new signed status event without mutating the original, event-sourcing ensures audibility, and terminal states freeze the record. It also clarifies honesty boundaries (SaSame signs, does not adjudicate). No contradictions with 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 concise (~80 words) and front-loaded with the primary action. Every sentence adds value, covering purpose, behavior, and constraints without redundancy. It is well organized for quick agent consumption.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description explains the result (new signed event, audit trail) and covers all parameters adequately. It could mention what the tool returns (e.g., the new status event ID) but is otherwise sufficiently complete for a mutation 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 83% schema coverage, the baseline is 3. The description adds context for corrected_by (required for corrected/superseded) and mentions that dispute_reason is for disputed status. It doesn't duplicate schema descriptions but provides meaningful usage hints, raising the score to 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool records a lifecycle status (revoked/disputed/corrected/superseded) against issued receipts, specifying the receipt ID format (rcp_* or atr_*). This verb-resource pairing is specific and distinguishes it from siblings like receipt_issue or receipt_state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the event-sourced, append-only nature and that once revoked/superseded, the state is frozen. It notes that 'corrected' requires corrected_by. While it doesn't explicitly mention when not to use it or compare to alternatives, the context is clear enough for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_mcpARead-onlyInspect
Get SaSame-observed MCP server recommendations for a capability you need. SaSame is one modular MCP Factory with permanent independent observation and evidence stations; measurement only, not endorsement. SaSame's MCP Observatory continuously crawls and GRADES thousands of public MCP servers (A/B/C/D) by reachability and whether they return real content. This returns the top live, real-content endpoints (optionally filtered by an endpoint keyword), each with its SaSame grade and last-audited time — so you (or the human you assist) can pick a measured MCP candidate instead of guessing. Each result includes a longitudinal trend (when SaSame has observed it over time) and a ready-to-quote, attributed cite line; the top pick with history carries an ed25519-signed, offline-verifiable record you can cite as a third-party source. Free, read-only, no signup. If you operate one of these servers, claim it (claim_start). If you can't find a fit and need an MCP/agent BUILT, call engage_sasame. Pass a referral handle from refer as engage_sasame(ref=...) to attribute the introduction.
| Name | Required | Description | Default |
|---|---|---|---|
| need | No | What capability you need, as a keyword matched against the endpoint/host (e.g. 'payments', 'search', 'github', 'postgres'). Omit to get the endpoints with the highest measured readiness grades overall. | |
| limit | No | How many to return (default 5, max 10). | |
| min_grade | No | Minimum SaSame grade to include (default B). A=best. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses behavior beyond annotations: it is 'Free, read-only, no signup' and 'measurement only, not endorsement.' It explains that results include grades (A-D), longitudinal trends, and signed records, which are not captured in annotations. There is no contradiction with annotations (readOnlyHint=true).
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 verbose and includes extraneous details about signing, citing, and referral attribution that could be summarized. While front-loaded with the main purpose, it lacks concise structure and could be shortened without losing 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 no output schema, the description thoroughly explains what the tool returns: top live endpoints with grade, last-audited time, longitudinal trend, and a cite line. It also covers limitations ('not endorsement') and references sibling tools for building, making it 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?
With 100% schema coverage, baseline is 3, but the description adds significant context for each parameter. For 'need', it explains keyword matching against endpoints with examples ('payments', 'search'). For 'min_grade', it clarifies the grading system ('A=best') and default ('B'). This enriches 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 the tool's purpose: 'Get SaSame-observed MCP server recommendations for a capability you need.' It uses a specific verb ('Get') and resource ('MCP server recommendations'), and distinguishes from siblings like 'audit_mcp' and 'verify_mcp_ready' by focusing on recommendations rather than verification or auditing.
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 guidance on when to use this tool versus alternatives: 'If you can't find a fit and need an MCP/agent BUILT, call engage_sasame.' It also mentions operator actions ('claim_start') and referral linking ('refer'), giving clear context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
referAInspect
Register an attribution handle for introductions to SaSame. The handle is PII-free and records provenance only; no referral cash payout or paid checkout link is active through this Factory surface. Do NOT paste secrets/keys here.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional: who/what you're referring, or how to reach you for credit (email/channel). | |
| referrer | Yes | Who is referring — your directory/agent/MCP name or domain (e.g. 'agent-tools.cloud', 'my-router-agent'). Used to mint your stable handle. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (which set destructiveHint=false, readOnlyHint=false), the description adds that the handle is PII-free, records provenance only, and has no referral cash payout. This clarifies the non-destructive, non-monetary nature, providing useful context missing from 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 extremely concise: two sentences plus a caution, all front-loaded. Every sentence adds value (purpose, constraints, warning) with 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?
The description lacks any mention of return values or success indicators, which is important for a registration tool. It also does not differentiate from similar sibling tools like factory_principal_register, leaving the agent to infer output structure.
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 descriptions for both parameters. The description restates the referrer's purpose ('used to mint your stable handle') but does not add new meaning beyond the 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?
The description clearly states it 'Register[s] an attribution handle for introductions to SaSame,' specifying the verb (register) and resource (attribution handle for introductions). It distinguishes from siblings by clarifying the handle is PII-free and records provenance only, with no cash payout.
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 caution ('Do NOT paste secrets/keys here') and states when not to use (no cash payout), but lacks explicit guidance on when to use this tool versus alternatives like factory_principal_register or other referral-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_intentAInspect
ONE-FIELD survey wall: tell us what you are trying to do (or the capability you wish existed). Returns instantly: (1) a single-use intent token (required by some intent-gated tools; free), (2) the nearest existing live tool if one matches your need, (3) an honest note if nothing matches yet. Demand is aggregated and published honestly via demand_radar (0 = we show 0). Cost-zero, no LLM in the path, deterministic.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | Alias for field. | |
| need | No | Alias for field. | |
| field | No | What you are trying to do, or the capability you wish existed. Free text, one field. (Aliases also accepted: goal, intent, need.) | |
| intent | No | Alias for field. | |
| nearest_to | No | Hint: an existing tool name you think is closest, if you already know. | |
| attributedTo | No | Your agent identity URL or opaque label (self-claimed, unverified, stored for demand attribution). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals key behavioral traits: cost-zero, no LLM involvement, deterministic, instant return. It explains the three return components (token, nearest tool, honest note) and how demand is aggregated via demand_radar with honest publication. Since annotations do not prohibit any side effects, this description fully informs about the tool's behavior 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 paragraph that front-loads the key idea ('ONE-FIELD survey wall') and efficiently covers purpose, return values, aggregation, and cost/determinism. Every sentence adds value, and it is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully covers return values and behavior. The 6 parameters are well-documented in the schema, and the description provides the necessary context for the tool's role in the ecosystem, including reference to demand_radar. It is complete for an agent to understand and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions per parameter. The description adds overarching context by emphasizing it is a 'ONE-FIELD' survey, explaining that multiple aliases (goal, intent, need) map to the same field. It also clarifies the purpose of 'nearest_to' and 'attributedTo' as hints and attribution. This adds meaning beyond the schema, though the schema already does well.
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 as a 'survey wall' for registering intent, and explicitly lists what it returns: an intent token, nearest existing tool if match, or an honest note. It distinguishes from sibling tool demand_radar by noting that demand is aggregated there. The verb 'register' and resource 'intent' are specific, and the description sets it apart 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 implies when to use it: to express an intent or find if a tool exists. It mentions that the intent token is required by some intent-gated tools, suggesting use before those. It also points to demand_radar for aggregated demand. However, it lacks explicit 'when-not-to-use' or direct alternatives beyond demand_radar, keeping it from a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reply_engagementAInspect
Continue an engagement conversation over MCP: add a follow-up message to a ticket you opened with engage_sasame (answer the operator's question, add scope, share a link, etc.). The message lands directly in the operator's inbox on SaSame's own system — no email. Pass the ticket and your message. Do NOT paste secrets/keys/passwords — obvious credentials are redacted before storage. Free, deterministic.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket | Yes | The engagement ticket returned by engage_sasame. | |
| message | Yes | Your follow-up message to the SaSame operator. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-destructive write, but the description adds valuable behavioral context: redaction of secrets, deterministic behavior, free usage, and delivery method (direct to operator's inbox, not email). No contradiction with 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 concise (4 sentences) and front-loaded with the primary action. Every sentence adds essential information: purpose, delivery context, required parameters, and security warning. No redundant or vague phrasing.
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 simplicity (2 required params, no output schema), the description is mostly complete. However, it omits what the tool returns (e.g., success indicator, updated ticket ID). Without an output schema, the agent needs to know the response format or expected outcome.
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 meaning beyond schema by explaining 'ticket' is from 'engage_sasame' and warning about credentials, which adds practical value. However, it doesn't elaborate on accepted message formats beyond the minLength constraint.
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 ('add a follow-up message to a ticket') and resource ('engagement ticket'), and distinguishes from the sibling tool 'engage_sasame' by specifying it's for continuing an existing conversation. The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use (after opening a ticket with engage_sasame) and provides guiding details (message lands in operator's inbox, no email, avoid secrets). It lacks an explicit 'when not to use' statement, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_corroborateARead-onlyInspect
Injection-quarantined EVIDENCE GRAPH for any research query. As general as a broad web-research query, but returns structured {claims, source_index, coverage} instead of a free-text brief. Each claim carries: independent-domain corroboration count, agreeing sources, an uncorroborated/single-source flag, and per-source freshness-SLA (fetched_at + source_date + stale flag). Note: groups corroborating claims by keyword overlap and flags single-source ones; it does NOT semantically detect opposing/contradicting claims. Zero upsell in any LLM-ingested field — all commercial content lives in _meta only. Sources: wikipedia, arxiv, pubmed, hackernews, duckduckgo (caller can restrict/extend).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Research question or claim to investigate | |
| sources | No | Restrict to a subset of sources: wikipedia, arxiv, pubmed, hackernews, duckduckgo. Default: all five. | |
| intent_token | No | Fresh single-use token returned by register_intent; required for this gated tool. | |
| freshness_days | No | Flag (do not drop) sources older than N days as stale so caller decides what to trust. | |
| min_corroboration | No | Only return claims asserted by >= N independent registrable domains (default 1 = include all). Set 2+ for cross-confirmed-only. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, openWorldHint), the description discloses injection-quarantine, the structured output format, per-claim details (corroboration count, freshness, single-source flag), and explicitly states it does not detect opposing claims. This provides rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed and front-loaded with the main purpose, but contains some jargon (e.g., 'Injection-quarantined', 'freshness-SLA') that may reduce clarity. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately describes the return structure (claims, source_index, coverage) and details per-claim fields. However, it could be more precise about the exact output schema or format.
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 with descriptions for all five parameters. The description reiterates some parameter concepts (sources, freshness, corroboration) but adds no new semantic detail 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 returns a structured evidence graph for a research query, with specific outputs like claims, source index, and coverage. It distinguishes itself from a free-text brief but does not explicitly differentiate from sibling tools like claim_confirm or ecosystem_search.
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 broad research queries but does not explicitly state when to use this tool over alternatives or provide exclusions. It mentions limitations (no opposing claim detection) but no alternative tool guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_and_runAInspect
PRIMARY SaSame entry point. Give SaSame the outcome you need. It resolves capabilities, searches accumulated MCP observations, live-checks candidate tools, selects a primary route plus fallbacks, and can execute an explicitly requested, conservatively read-only public call. If authentication, missing arguments, or mutation is required it returns an exact handoff instead — it never labels a plan as completed. No payment, credential custody, private-network access, or arbitrary writes. Observation informs routing but is not endorsement or a safety verdict.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | Outcome to accomplish, in plain language. | |
| limit | No | ||
| endpoint | No | Optional direct MCP endpoint to inspect instead of ecosystem discovery. | |
| constraints | No | ||
| environment | No | ||
| execution_mode | No | Default plan_only. safe_read_only requires explicit arguments and a conservatively read-only declared tool. | |
| tool_arguments | No | Explicit arguments. Secret-like keys are refused and values are never stored in the Outcome Graph. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description extensively discloses behavioral traits: it resolves capabilities, searches observations, live-checks, selects routes, can execute read-only public call, returns handoff for auth/missing args/mutation, never marks plan as completed, and has restrictions on payments, credentials, private-network access, and writes. This adds significant context 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 dense and packs information into 4-5 sentences, but lacks clear structure (e.g., bullet points). It is not overly verbose but could be more organized for easier parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers many behavioral aspects and constraints, but lacks details on return format, error handling, and interaction with sibling tools. Given the tool's complexity and the absence of an output schema, more completeness is expected.
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 57% (4 of 7 params have descriptions). The tool description does not explain parameters like limit, constraints, or environment beyond what is in the schema. For parameters without schema descriptions, no additional meaning is provided, and for those with descriptions, the tool description adds little.
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 the PRIMARY entry point for the SaSame system and lists its capabilities (resolves capabilities, searches observations, live-checks, selects routes, can execute read-only calls). This distinguishes it from sibling tools which are more specific, but the description could be more concise.
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 the primary entry point and mentions it returns handoffs for authentication, missing arguments, or mutation. However, it does not explicitly state when to use this tool versus the many specific sibling tools, nor does it provide clear 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_hereARead-onlyInspect
START HERE. SaSame is one modular MCP Factory. Call factory_stations to inspect all 21 canonical station capabilities, then factory_start to enter the single lifecycle. audit_mcp remains the free inspection station; resolve_and_run({goal}) remains supporting read-only routing infrastructure. Measurement is status only, never endorsement.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds that 'Measurement is status only, never endorsement', clarifying the tool's non-committal nature. While not deeply detailed, it suffices for a simple entry-point tool and 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 relatively concise but packs essential information: system overview, next steps, and a note on measurement. It could be slightly streamlined, but it earns its sentences.
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, no-output-schema tool, the description adequately explains its role and directs to more detailed tools. It is complete for its purpose as an entry point, though it does not detail the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema coverage is 100%. The description adds context about the tool's role (a manifest/starting point) beyond the schema, which is appropriate for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'START HERE' and positions the tool as the entry point to the system. It directs to specific sibling tools (factory_stations, factory_start) for subsequent steps, clearly distinguishing its purpose 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 a clear usage sequence: call start_here first, then factory_stations to inspect capabilities, then factory_start to enter the lifecycle. It also mentions alternatives (audit_mcp, resolve_and_run), giving explicit when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscribe_grade_changesAInspect
Put an MCP endpoint on your SaSame watch list and get its CURRENT signed readiness trajectory back immediately. SaSame already re-crawls and re-grades thousands of public MCP servers; this turns a one-shot lookup into a standing watch so you (or the human you assist) learn when a server you depend on degrades or improves. Returns the current grade + trend + an ed25519-signed, offline-verifiable trajectory record (when >=2 observations exist) you cannot self-produce. Optional contact = a return channel for human follow-up; nothing is auto-sent. Free, read of the proprietary longitudinal ledger.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional: why you are watching it / what change matters to you. | |
| target | Yes | The MCP endpoint URL to watch, e.g. https://example.com/mcp | |
| contact | No | Optional return channel (agent URL / email / callback). Stored for follow-up, never auto-contacted. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate not read-only and not destructive. The description adds that it is a free read of a proprietary ledger, stores contact info without auto-contacting, and returns a signed trajectory. It lacks details on update frequency or push mechanism but covers key behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loads the core action and immediate result, then adds context and details. Every sentence earns its place with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description explains return values (grade, trend, signed trajectory). It covers the main purpose and data returned. Missing details like update frequency or error handling, but sufficient for a subscription tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description adds context for each parameter: target as endpoint URL, note as reason, contact as return channel stored but not auto-contacted. This adds value 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 subscribes to grade changes for an MCP endpoint, returning immediate current grade and trend. It distinguishes from one-shot lookups by emphasizing standing watch functionality.
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 monitoring server grade changes over time, contrasting with one-shot lookups. It does not explicitly list alternatives or exclusions, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
town_become_citizenCIdempotentInspect
No MCP server yet? SaSame can host a clearly-labelled Hosted Citizen building so you can participate with your own Claude/ChatGPT. Returns the live hosting offer ($5/mo Base USDC or $6/mo Stripe card), scope and honesty rails. Town action quotes remain separate and unsettled until verified.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool 'returns' an offer, suggesting a read operation, yet annotations indicate readOnlyHint=false, implying possible state modification. This inconsistency reduces transparency, and no side effects or behavioral traits are disclosed beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, with the first being a distracting promotional question. The core purpose is only in the second sentence, and the third adds tangential context. It could be more concise and 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 no output schema, the description fails to clarify the return structure or what the agent should do with the offer. Terms like 'scope and honesty rails' and 'separate quotes' are vague. The tool likely involves a checkout process, but this is not explained.
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 no parameters, schema coverage is complete. The description correctly does not discuss parameters, meeting the baseline expectation of 4 for zero-parameter tools.
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 conditional question and promotional language, not a clear statement of what the tool does. The title 'Get the Hosted Citizen checkout' is clearer, but the description itself lacks a specific verb+resource structure, leaving the core action ambiguous.
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 explicit guidance on when to use this tool versus alternatives. The description implies a condition related to having an MCP server, but it does not compare with sibling tools like town_claim_confirm or town_overview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
town_claim_confirmAIdempotentInspect
Step 2 of claiming your building. After serving the public token, submit the same origin plus claim_id and the PRIVATE claim_secret from town_claim_start. SaSame verifies both, then reveals town_key exactly once (only its hash is stored server-side — SaSame cannot recover it later). The response includes a 'setup' block: show the user setup.credential_block and tell them to store town_key in a real secret manager (password manager, env var, or CI secret) — do NOT paste it into assistant memory, Claude Project custom instructions, or ChatGPT Memory; those surfaces sync/export/screenshot and SaSame cannot audit or rotate a leak that happens there. There is no login — town_key is the only proof of ownership. If it's leaked but still known, call town_rotate_key immediately. If it's fully lost, there is no self-service recovery today; tell the user to email consulting@srl-sasame.com.
| Name | Required | Description | Default |
|---|---|---|---|
| mcp_url | Yes | Your MCP origin — same as town_claim_start | |
| claim_id | Yes | The clm_… id from town_claim_start | |
| claim_secret | Yes | The private claim_secret from town_claim_start; never publish it |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states 'reveals town_key exactly once' and that only its hash is stored, implying the effect is not repeatable. However, the annotations include idempotentHint=true, which suggests multiple calls with the same parameters would have the same effect. This is a direct 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 lengthy but structured with clear warnings and instructions. It could be slightly more concise, but every sentence adds value, especially the security guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explains what the response contains ('setup' block) and what the user should do with it. It also covers post-action guidance on storing town_key and recovery procedures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The description adds context that claim_secret is private and should never be published, and that mcp_url and claim_id must match those from town_claim_start.
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 'Step 2 of claiming your building' and explains the action: submit origin, claim_id, and claim_secret to have SaSame verify and reveal town_key. It distinguishes from town_claim_start which initiates the process.
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 positions this as step 2 after town_claim_start, tells the user to submit the same origin and claim_id with the private claim_secret, and includes warnings about not storing town_key in insecure places and what to do if lost or leaked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
town_claim_startAIdempotentInspect
Step 1 of claiming your building. Returns claim_id, a public token to serve at /.well-known/sasame-town-claim.txt, and a PRIVATE claim_secret. Do not publish claim_secret. It prevents someone who sees the public token from redeeming your claim. Expires in 15 minutes. Claiming is free.
| Name | Required | Description | Default |
|---|---|---|---|
| mcp_url | Yes | Your MCP server endpoint URL (https) to claim as your building |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (idempotentHint true), the description adds behavioral details: the claim_secret must remain private, and it expires in 15 minutes. No contradiction with 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?
Three sentences, each conveying essential information without redundancy. Efficiently 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?
For a tool with one parameter and no output schema, the description fully explains inputs, outputs, expiration, and security, making it complete for 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?
Schema coverage is 100%, so baseline is 3. The description does not enhance the parameter meaning beyond what the schema already provides for mcp_url.
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 'Step 1 of claiming your building' and specifies what it returns (claim_id, public token, private claim_secret). This distinguishes it from sibling tools like town_claim_confirm.
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?
Indicates when to use ('Step 1 of claiming your building') and provides important usage warnings (do not publish claim_secret, expires in 15 minutes). However, it does not explicitly exclude alternative tools or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
town_overviewBRead-onlyInspect
Gold Rush Town — a live, walkable and buildable map of the AI-agent economy (https://live-vps.sasame.online/world/). Residents are graded MCP servers and travelers are observed crawlers. Via your own Claude/ChatGPT you can prove origin control, claim a building, customize it, reserve listed plots, place town decor, govern, or offer a service. Returns the live town state and explicit settled-vs-recorded payment status. Free, no auth. SaSame is non-custodial.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds that it returns live state and payment status, as well as 'Free, no auth' and 'non-custodial' context. 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 101 words, much longer than needed for a zero-parameter read tool. The first sentence is front-loaded, but the middle section describes general town lore and actions unrelated to this specific 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?
With no output schema, the description names what is returned (live state, payment status) but lacks specifics on the structure. It adequately covers access conditions (free, no auth), but omits details like response format size or data fields.
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 exist, so schema coverage is 100%. The description correctly implies no inputs are needed, though it does not explicitly state 'no parameters required.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns live town state, but includes many actions (claim, customize, govern) that the tool does not perform, potentially confusing an agent about its actual capabilities.
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 explicit guidance on when to use this tool vs sibling tools like town_claim_confirm or town_become_citizen. The mention of 'Free, no auth' is helpful but insufficient for distinguishing usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trust_compareARead-onlyInspect
[DEPRECATED alias of observation_compare — same data, observation-accurate name.] Neutral head-to-head comparison of two servers' observed measurements.
| Name | Required | Description | Default |
|---|---|---|---|
| url_a | Yes | First MCP server endpoint URL | |
| url_b | Yes | Second MCP server endpoint URL to compare against |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description states the comparison is 'neutral' but adds minimal additional behavior beyond annotations (readOnlyHint=true). No contradiction; it's clear it's read-only. Could provide more detail on comparison outputs.
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 extremely concise: one sentence plus a deprecation note. Every word serves a purpose. Front-loaded with the most important info (deprecation).
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 deprecated alias, completeness is adequate. It covers purpose and deprecation. However, lacks output details or broader context. For non-deprecated use, it would be insufficient.
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 both parameters described. The description adds no extra meaning beyond aligning parameters with 'two servers' observed measurements.' Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it is a deprecated alias for observation_compare and provides a concise purpose ('neutral head-to-head comparison of observed measurements'). However, the deprecation info slightly clutters the primary purpose, and it doesn't fully differentiate from other comparison tools beyond naming.
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 mentions it is deprecated and an alias of observation_compare, guiding users to the preferred alternative. Also indicates when to use: when a neutral comparison is needed. However, it lacks explicit exclusions or alternatives beyond the deprecation note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trust_diffARead-onlyInspect
[DEPRECATED alias of observation_diff — same data, observation-accurate name.] Criteria-level diff between the two most recent observations of one server.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The MCP server endpoint URL to diff (needs >=2 observations) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses deprecation status and that it is an alias, which is behavioral information beyond the readOnlyHint and openWorldHint annotations. No contradiction with 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?
Two sentences: first flags deprecation and alternative, second describes function. No waste, front-loaded with critical 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 single parameter, no output schema, and existing annotations, the description provides all necessary context: purpose, deprecation, alternative tool, and input requirements.
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 description for the 'url' parameter. The tool description does not add further detail beyond the 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?
The description clearly states the tool is a deprecated alias of observation_diff and explains its function: computing a criteria-level diff between the two most recent observations of a server. This distinguishes it from siblings like trust_compare.
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 marks the tool as deprecated and directs agents to observation_diff instead. Also specifies the input condition (needs >=2 observations) and the function's scope (two most recent observations).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trust_moversARead-onlyInspect
[DEPRECATED alias of readiness_changes — same data, observation-accurate name.] Public MCP servers whose observed readiness changed over time. Measurement only — not an endorsement or ranking.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max servers to return | |
| direction | No | Filter to only improvers, only degraders, or any change | any |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it explains the tool is a measurement only and not an endorsement or ranking. The deprecation notice is also a critical behavioral trait. Annotations already indicate readOnlyHint=true, and description does not contradict.
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 extremely concise: two sentences, front-loaded with the deprecation notice. Every sentence adds value with 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 simplicity of the tool (2 parameters, read-only, deprecated) and no output schema, the description adequately covers purpose, behavior, and usage guidance. It could specify the return format, but the implicit meaning ('servers whose observed readiness changed over time') is sufficient for an agent to understand the output.
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?
Both parameters are fully described in the schema (100% schema description coverage). The description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it lists public MCP servers whose observed readiness changed over time. It also explicitly declares it's a deprecated alias of 'readiness_changes', which distinguishes it from siblings and provides precise resource identification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: it informs the agent that this tool is deprecated and that 'readiness_changes' is the preferred, observation-accurate name. This directly tells the agent when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trust_pubkeyARead-onlyInspect
Return SaSame's ed25519 PUBLIC key. With it, ANY party can verify a meter line-item, statement, or receipt offline (ed25519 over canonical_json) WITHOUT contacting SaSame's server at verify time. Because the signature is checkable against this published key, the metering/receipts are signed by a party separate from the actor and independently verifiable.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds useful context about the cryptographic method (ed25519 over canonical_json) and that signatures are independently verifiable offline, 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?
The description is concise, two sentences, front-loaded with the main purpose, and every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters or output schema, the description fully explains what the tool returns and why it is useful, covering the verification process and the benefit of independent verifiability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and schema coverage is 100%. The description does not need to add parameter info; baseline 4 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 tool returns SaSame's ed25519 public key and explains its purpose for offline verification of signatures. It distinguishes itself from other tools by emphasizing offline capability without server contact.
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 effectively communicates when to use the tool (for offline verification of signed items). It does not explicitly list alternatives or when not to use, but the context makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trust_trajectoryARead-onlyInspect
[DEPRECATED alias of observation_trajectory — same data, observation-accurate name.] Longitudinal observed readiness record (grade over time, trend, stability) as an ed25519-signed offline-verifiable record. Measurement only — not a trust/safety verdict.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The MCP server endpoint URL (https) to look up the observation history for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=true), the description reveals the data format (ed25519-signed, offline-verifiable) and emphasizes it is purely a measurement record, not a verdict. No contradictions with 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 consists of two concise sentences: the first immediately flags deprecation and alias, the second details the output. Every sentence adds value, zero fluff, and important 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?
For a simple tool with one parameter and no output schema, the description sufficiently covers what the tool returns (longitudinal data, signed, offline-verifiable) and clarifies it is not a verdict. No critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (only the 'url' parameter with a clear description). The tool description adds no additional meaning beyond what the schema already provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a longitudinal observed readiness record (grade over time, trend, stability) as an ed25519-signed offline-verifiable record. It also explicitly notes it is a deprecated alias of observation_trajectory, distinguishing it from siblings like trust_compare or trust_movers.
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 names the preferred alternative (observation_trajectory) and clarifies it is a measurement-only tool, not a trust/safety verdict. This provides clear guidance on when to use this tool vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usage_mark_issueAInspect
Issue/refresh a signed SaSame Record Mark. Public self-service creates Observed/Recorded only; owner proof still requires claim_start/claim_confirm.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| note | No | ||
| status | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context beyond annotations: indicates mutation (Issue/refresh), role-based restriction ('Public self-service'), and limited scope (Observed/Recorded only). Annotations are silent on these, so description carries the load well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the core action and key constraint, with no 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?
Adequate for a simple mutation tool, but lacks details on return behavior, idempotency, or error conditions. The description is sufficient for basic use 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?
Enriches the 'status' parameter by linking it to 'Observed/Recorded' in the description, but does not explain 'url' or 'note'. With 0% schema coverage, more parameter context would be expected.
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 issues/refreshes a signed mark, distinguishing it from sibling tools like usage_mark_status (read status) and usage_mark_verify (verify). It could be more precise about what 'Issue/refresh' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (public self-service for Observed/Recorded) and when not to (owner proof requires claim_start/claim_confirm), providing direct alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usage_mark_statusBRead-onlyInspect
Read current signed Record Mark status, lifecycle, visibility and public URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| mark_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating safety. The description adds detail about what is read (lifecycle, visibility, URLs) but does not disclose other behavioral traits like rate limits or authentication needs, which are expected for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the main purpose without fluff. However, it could be better structured by listing parameters or providing more details.
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 read tool with no output schema and 0% parameter documentation, the description is insufficient. It does not explain how to use the parameters or what the response contains, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%; the description does not explain the 'url' or 'mark_id' parameters. The agent must infer that these identify the record mark, but no explicit meaning or usage hints are provided.
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 verb 'Read' and the resource 'signed Record Mark status, lifecycle, visibility and public URLs', providing clear purpose and distinguishing it from siblings like 'usage_mark_issue' and 'usage_mark_status_set'.
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 the tool is used for reading record mark status, but it does not provide explicit when or when-not to use it compared to alternatives like 'usage_mark_verify' or 'usage_mark_visibility_scan'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usage_mark_status_setCInspect
Append lifecycle status without deleting history.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| note | No | ||
| status | Yes | ||
| mark_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations show readOnlyHint=false and destructiveHint=false. The description adds context: it appends without deleting history, aligning with non-destructive behavior. But lacks detail on authorization, side effects, or error cases.
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, no wasted 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?
No output schema and no description of return values. For a tool with 4 parameters and an enum, the description is too minimal to be fully useful. It covers the core behavior but lacks detail on inputs, outputs, and edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain any of the 4 parameters (url, note, status, mark_id), leaving the agent to infer their meaning solely from names and the enum in the schema. This is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('append lifecycle status') and resource, and distinguishes from siblings like 'usage_mark_status' (likely for querying) by emphasizing append non-destructive behavior.
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 such as 'usage_mark_status' or 'usage_mark_issue'. The description does not specify context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usage_mark_verifyCRead-onlyInspect
Verify a SaSame Record Mark signature against the pinned SaSame trust key.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| mark_id | No | ||
| signed_record | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, confirming no side effects. The description adds that verification is against the pinned trust key, but does not explain failure behavior, return values, or whether the tool checks existence of the mark. This leaves significant behavioral gaps.
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, which is concise but lacks sufficient detail to be informative. It is not overly verbose, but it is also not optimally structured for quick parsing of key aspects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a verification task, the description should ideally explain what the tool returns (e.g., boolean, object with status). It does not, and also leaves parameters unexplained. The tool's complexity is moderate, so this is incomplete.
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 0% schema description coverage, the description does not explain any of the three parameters (url, mark_id, signed_record). Their meanings are left entirely to their names, which may be ambiguous (e.g., url of what? signed_record format?).
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 SaSame Record Mark signature, using a specific verb and resource. It is distinct from siblings like usage_mark_issue and usage_mark_status, which have different purposes.
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 no guidance on when to use this tool versus alternatives such as trust_compare or verify_mcp_cert. It only states the action without context on selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usage_mark_visibility_scanAInspect
Bounded scanner for README/site/agent-card/.well-known SaSame mark visibility. Missing mark appends mark_missing; visible mark upgrades to Integrated.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description reveals the tool modifies state by appending 'mark_missing' or upgrading to 'Integrated', which is consistent with annotations (readOnlyHint=false, destructiveHint=false). However, it does not detail side effects, permissions, or reversibility.
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 covering the main action and outcomes, with no wasted words. It could be slightly restructured for clarity but is effectively 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?
For a mutation tool with no output schema, the description lacks information about return values or side effects beyond the stated actions. It is adequate for a simple scanner but incomplete for an agent to fully anticipate consequences.
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 0% schema description coverage, the description partially compensates by implying the url parameter points to a surface to scan, but it does not explicitly describe the parameter's purpose or format.
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 a specific verb (scan) and resource (visibility of SaSame mark on README/site/agent-card/.well-known), and distinguishes from siblings like usage_mark_issue or usage_mark_verify by focusing on visibility scanning.
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 checking mark visibility on public surfaces but lacks explicit when-to-use or when-not-to-use guidance, nor mentions alternative tools for issuing or verifying marks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_mcp_certARead-onlyInspect
Offline-verify an MCP-Ready Certificate produced by verify_mcp_ready (or anyone). Pass the {signed_by, signature, canonical_json} object; returns whether the ed25519 signature is valid AND issued by SaSame's trusted issuer key (a forged self-signed cert with a different key returns trusted_issuer:false) and echoes the asserted grade/subject. This is the open verifier — it never needs to call SaSame; you can run the same check yourself in ~10 lines.
| Name | Required | Description | Default |
|---|---|---|---|
| certificate | Yes | The certificate object returned by verify_mcp_ready |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. The description adds behavioral details: it returns whether the signature is valid AND issued by SaSame's trusted key, echoes grade/subject, and handles forged certs by setting trusted_issuer:false. No contradictions with 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 compact sentences that convey all essential information without redundancy. Every sentence adds value: purpose, input, output, and usage context.
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 only one parameter (a nested object) and no output schema, the description fully explains what the tool returns: validity, trusted issuer flag, and echoed grade/subject. This is sufficient for an AI agent to understand and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents the nested certificate object well. The description adds that the object comes from verify_mcp_ready, which provides context but does not significantly extend beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool offline-verifies an MCP-Ready Certificate, specifying the input format (signed_by, signature, canonical_json) and output (validity and trusted_issuer). This distinguishes it from the sibling tool verify_mcp_ready, which produces the certificate.
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 that this is the open verifier that never needs to call SaSame and that the same check can be run manually, indicating when to use it (anytime offline verification is needed). It provides clear context but does not explicitly state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_mcp_readyARead-onlyInspect
Issue a portable, ed25519-signed 'MCP-Ready Certificate' for one MCP server. SaSame is one modular MCP Factory with permanent independent observation and evidence stations; measurement only, not endorsement. Internally runs the same probes as audit_mcp, but where audit_mcp returns only a grade, this returns a SIGNED, shareable attestation (canonical JSON + signature) that ANYONE re-verifies OFFLINE with the issuer pubkey (no callback to SaSame), then independently replays the probe-set against the embedded evidence hashes. Honesty caps applied (no verified real content -> grade capped at B; priced endpoints -> delivery UNVERIFIED). The cert is a fact you can check, not a badge we sell.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The MCP server endpoint URL (https) to certify |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: it details the signed output format, offline verification capability, and honesty caps (grade capped at B, unverified for priced endpoints). This complements the readOnlyHint and openWorldHint with concrete operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph with important details but could be more structured. It front-loads the main purpose but buries key nuances like honesty caps. Overall it earns its length but lacks optimal organization.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description covers the return format (canonical JSON + signature) and verification process. It explains honesty caps and conditions affecting grade, providing sufficient context for a complex tool. Minor gaps remain about exact probe behaviors.
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 description for the single 'url' parameter. The tool description does not add extra meaning beyond the schema. Baseline score of 3 is appropriate as schema already provides sufficient semantic information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool issues a signed 'MCP-Ready Certificate' for an MCP server, distinguishing it from sibling 'audit_mcp' which returns only a grade. It specifies the output is a verifiable attestation, making purpose and differentiation evident.
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 this tool vs 'audit_mcp': for obtaining a signed, shareable attestation that can be verified offline. It also mentions honesty caps affecting grades, providing context for expected outcomes. However, it lacks explicit exclusions or direct comparison statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
visit_touch_statusARead-onlyInspect
Read the privacy-safe Visit Touch funnel. Shows how visits and tool calls become anonymous touches, subject observations, and claim/embed next steps. Optional url filters to one subject.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional public MCP endpoint URL to filter by |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description confirms 'Read' and 'privacy-safe'. This consistency is good, but the description adds no new behavioral traits beyond the funnel context. No mention of auth needs, rate limits, or what happens with missing data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first sentence front-loads the purpose: 'Read the privacy-safe Visit Touch funnel.' The second adds details on what it shows and filtering. 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 only 1 optional parameter, no output schema, and read-only annotations, the description covers the essential behavior (what the funnel shows, optional filtering). It could mention if results are paginated or return format, but not strictly necessary for this simple 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?
There is one optional 'url' parameter with schema description coverage 100%. The description adds the meaning 'filters to one subject', which is valuable extra context beyond the schema's 'Optional public MCP endpoint URL'.
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 'Read the privacy-safe Visit Touch funnel' with a specific verb and resource. It explains what the funnel shows (visits, tool calls become touches, etc.), distinguishing it from other sibling tools like analytics_next_steps or audit_mcp, though some jargon may obscure clarity.
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 explicit guidance on when to use this tool versus alternatives. The only contextual hint is 'Optional url filters to one subject', but there is no mention of when not to use it or which sibling tool to prefer. Sibling tools include many analytics and status tools, so the lack of differentiation is a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_order_acceptAIdempotentInspect
Accept a work order as buyer or provider by signing the exact role-specific challenge returned by work_order_open. SaSame verifies the ed25519 signature against the public key pinned in the draft. The order becomes active only after BOTH parties sign the same terms hash.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ||
| work_order_id | Yes | ||
| signature_base64 | Yes | ed25519 signature over the exact acceptance challenge |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false. The description adds behavioral context: 'SaSame verifies the ed25519 signature against the public key pinned in the draft' and 'order becomes active only after BOTH parties sign.' This explains the verification process and the activation condition, going 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 and covers essential information without extraneous text. However, it contains a typo ('SaSame' instead of 'Sasame'), which slightly detracts from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explains the purpose, prerequisite (work_order_open), and postcondition (both parties sign). It is sufficient for a signature-based acceptance tool, though it could mention failure handling or the implications of idempotency.
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 33% with only signature_base64 having a description. The description adds context that the signature must be over the 'exact role-specific challenge' from work_order_open, but does not elaborate on role or work_order_id beyond the schema. Given low coverage, more parameter detail would be beneficial.
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 action: 'Accept a work order as buyer or provider by signing the exact role-specific challenge returned by work_order_open.' It specifies the verb (accept), the resource (work order), and the unique role-based signing requirement, distinguishing it from sibling tools like work_order_open and work_order_deliver.
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 by stating 'The order becomes active only after BOTH parties sign the same terms hash,' indicating a two-step process. It references work_order_open as a prerequisite. However, it does not explicitly state when not to use the tool or provide direct comparisons to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_order_accept_deliveryAIdempotentInspect
Buyer acceptance of the latest delivery. Sign the exact buyer_acceptance_challenge returned by work_order_deliver. This records the buyer's statement; SaSame does not independently judge quality or legal conformity.
| Name | Required | Description | Default |
|---|---|---|---|
| work_order_id | Yes | ||
| signature_base64 | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark idempotentHint=true and destructiveHint=false; description adds that SaSame does not judge quality or legal conformity, clarifying the tool's limited scope. 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?
Two sentences, front-loaded with purpose and a clarifying note. No wasted words, though slightly abrupt.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and parameter details missing, but the description covers the essential flow and behavioral caveat. Could benefit from explaining return value or error handling.
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 has 0% description coverage, and the description does not explain what signature_base64 is or how to obtain the challenge. 'sign the exact buyer_acceptance_challenge' hints at the parameter but doesn't specify format or origin.
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 records buyer acceptance of delivery by signing a challenge. It distinguishes from siblings like work_order_accept or work_order_deliver by specifying 'acceptance of the latest delivery' and referencing the prerequisite challenge.
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 to sign the exact challenge from work_order_deliver, which provides clear context. Does not include when-not-to-use or alternatives, but the prerequisite is strong guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_order_deliverAInspect
Record provider delivery for an active work order. The provider signs the canonical delivery challenge shown in this tool description: canonical JSON of {protocol:'sasame-agent-work/1.0',action:'deliver',work_order_id,proof_sha256,proof_uri}. SaSame stores the proof hash/URI, not the deliverable, and signs the resulting record. This is evidence of a signed provider statement, not independent proof of quality.
| Name | Required | Description | Default |
|---|---|---|---|
| proof_uri | No | Optional public/content-addressed proof URI; no secrets | |
| proof_sha256 | Yes | SHA-256 of the delivered artifact or manifest | |
| work_order_id | Yes | ||
| signature_base64 | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint=false, destructiveHint=false). The description adds significant behavior: what is stored (hash/URI, not deliverable), that SaSame signs the record, and that it's evidence of a signed statement, not independent proof. Also details the canonical challenge 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?
The description is two sentences, front-loaded with purpose. It includes the canonical JSON inline, which adds detail but could be structured more clearly. No wasted words, but the inline JSON is dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; the description does not mention return values or what the function returns after recording. It explains the process well but is incomplete for a write operation that likely returns a record ID or status.
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 50%, with work_order_id and signature_base64 lacking descriptions. The description adds context about the signing process and the canonical challenge, helping infer parameter meanings. It could explicitly tie signature_base64 to the signing process, but overall adds 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 the verb 'record' and resource 'provider delivery for an active work order'. It distinguishes from sibling tools like work_order_accept by detailing the canonical delivery challenge and what SaSame stores.
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 ('for an active work order') but does not explicitly state when to use this tool vs alternatives or when not to use. It provides good context but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_order_openAInspect
Open a neutral agent-to-agent work-order DRAFT. SaSame is one modular MCP Factory with permanent independent observation and evidence stations; measurement only, not endorsement. Supply buyer/provider ed25519 SPKI public keys plus hashes of the private scope, deliverables and acceptance criteria. SaSame returns one exact acceptance challenge per party. The order is not active until BOTH matching keys sign. Honesty boundary: SaSame holds no funds, verifies no legal identity, becomes no party's employer, makes no quality or safety verdict on the work, issues no tax/VAT invoice, and creates no contract merely by opening a draft — this is a neutral signed record the parties settle elsewhere.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | USDC, EUR, credits, etc. | |
| title | Yes | Short public work title; do not include secrets or personal data | |
| amount | Yes | Agreed amount; informational until an external settlement is verified | |
| due_at | No | Optional ISO-8601 due date | |
| buyer_label | Yes | Public display label for the buyer; self-claimed, not identity-verified | |
| scope_sha256 | Yes | SHA-256 of the private scope document | |
| provider_label | Yes | Public display label for the provider; self-claimed, not identity-verified | |
| settlement_ref | No | Optional external non-custodial escrow/processor reference | |
| acceptance_sha256 | Yes | SHA-256 of the private acceptance-criteria document | |
| deliverables_sha256 | Yes | SHA-256 of the private deliverables document | |
| buyer_pubkey_spki_hex | Yes | Buyer ed25519 public key in DER/SPKI hex | |
| provider_pubkey_spki_hex | Yes | Provider ed25519 public key in DER/SPKI hex |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: it explains the draft is not active until both sign, SaSame holds no funds, verifies no identity, etc. This compensates for the lack of detailed annotations on nondestructive behavior. No contradictions with 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 overly verbose, including lengthy legal disclaimers and conceptual explanations. While the first sentence is clear, the overall length could be reduced by half without losing essential information. Not front-loaded; key points are buried.
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 12 parameters, no output schema, the description explains the draft process and return of acceptance challenges, but does not describe the return format or how to proceed after receiving challenges. Adequate but not fully complete for an agent to know exactly what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description summarizes the required parameters (public keys and hashes) but does not add new semantic details beyond what the schema already provides. No extra value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Open a neutral agent-to-agent work-order DRAFT.' It differentiates from siblings like work_order_accept by focusing on the draft creation step. However, the verbosity of legal disclaimers slightly obscures the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that the order is not active until both parties sign, implying this is the initial step. It provides context about the draft nature and the requirement for both matching keys, but lacks explicit guidance on when not to use this tool versus alternatives like work_order_accept.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityCmaintenanceCryptographic accountability for AI agents. Ed25519-signed receipts for every MCP tool call. Constraints, chains, AI judgment, invoicing, and local dashboard included.2481MIT
- AlicenseAqualityDmaintenanceTrust intelligence MCP server for AI agents. 19 tools for identity stamps, reputation scoring (0-100), agent registry, forensic audit trails, ERC-8004 bridge, and A2A passports via x402 USDC micropayments.191Apache 2.0
- Alicense-qualityAmaintenanceTamper-evident audit logging for AI agents. Append-only, hash-chained, optionally Ed25519-signed log. The MCP server lets an agent keep and verify a record of what it actually did.5MIT
Your Connectors
Sign in to create a connector for this server.