GYOTAK Fish Market
Server Details
Sashimi-grade flash-frozen fish from Thailand. Catalog, ordering, and on-chain traceability.
- Status
- Healthy
- Uptime
- 100.0% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 25 tools
Most tools have a clearly distinct resource+action, and the descriptions actively differentiate lookalikes (get_catch_reports vs verify_catch, get_komon_records vs verify_komon, and the three verify_* variants). The main risk is the database-read vs on-chain-verify pairs, which an agent could still confuse without reading carefully, but boundaries are spelled out.
Almost all tools follow a consistent verb_noun snake_case pattern (get_catalog, place_order, verify_temp, register_payout, check_payment_status). The only clear deviation is the noun-phrase 'my_referrals' and the domain-suffixed 'ask_gyotak'/'contact_gyotak', but the overall convention holds.
25 tools sits at the heavy end of the range, and the surface spans several sub-domains (catalog, orders, test-payments, referrals, on-chain verification, support). Each tool is plausibly earning its place, but the set feels large enough to burden selection, landing it borderline rather than well-scoped.
Coverage is broad: registration, ordering, key recovery, order history, payment test flow, the full referral lifecycle, and layered verification (catch, komon, temp, purchase). Gaps are minor—no order cancellation or retail order-status tracking—but agents can work around them.
Available Tools
25 toolsapply_referrerAInspect
Look up your GYOTAK referral MCP URL. The URL is issued automatically when the payment for your first chat order is confirmed and is included in the payment confirmation email; call this to see it again. If you have a paid order but no URL yet, one is issued now. Referrers earn 5% of the product subtotal on paid orders placed through their URL. If you are connected through a personal token URL, omit customerKey.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Referrer display name — optional, defaults to your registered name | |
| contact | No | Contact (email, LINE ID, etc.) — optional | |
| customerKey | No | Your customerKey (gyotak_cus_...). Omit when connected through a personal token URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to rely on, the description carries the behavioral disclosure burden. It explains that the URL is automatically issued after first payment confirmation, that calling the tool can issue a missing URL, and that referrers earn 5% on paid orders. It does not explicitly state what happens when the user has no paid order, but the conditional side effect is clearly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary purpose and each sentence adds useful context around issuance, commission, and parameter behavior. The phrase 'call this to see it again' is slightly redundant with 'look up,' but overall the description is efficient 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?
The description covers the main outcome, conditional issuance, commission, and a parameter caveat, but it leaves one important gap: it never explicitly states that a paid order is a prerequisite or what happens if the caller has never had one. Since there is no output schema, and the annotations provide no safety/side-effect context, this missing eligibility detail keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three optional parameters in full, including the customerKey omission rule and the default for name. The description's mention of omitting customerKey repeats schema guidance rather than adding new parameter-level meaning, so the high schema coverage keeps this at the 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 opens with a specific verb and resource: 'Look up your GYOTAK referral MCP URL.' It clearly distinguishes the tool's purpose from sibling payment, order, and catalog tools, making its function immediately identifiable without restating the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to call the tool: to re-view an already issued URL or to have one issued if a paid order exists but no URL is present. It also provides a conditional usage rule (omit customerKey for personal token URLs), though it does not explicitly name alternative sibling tools or say 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.
ask_gyotakAInspect
Search GYOTAK FAQ for answers about shipping, payment, products, defrosting, traceability, B2B registration, etc. Returns top matching FAQ entries. If no match, suggest using contact_gyotak to escalate.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | Question text (any language) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does well by disclosing that it returns top matching FAQ entries and suggests contact_gyotak on no match. The read-only nature is implied by 'Search' but not made explicit; still, the success and fallback behaviors are clearly stated.
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 short sentences with no wasted words: the main action is front-loaded, followed by return behavior and the fallback instruction. Every sentence contributes to the agent's understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter FAQ lookup with full schema coverage, the description covers the core invocation, return type ('top matching FAQ entries'), and the no-match path. The lack of an output schema is partially mitigated by the return description, though exact formatting or count of matches is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes 'question' as 'Question text (any language)', so the baseline applies. The description's topic list adds context about content areas but not about the parameter's format or constraints beyond what the schema 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 uses a specific verb and resource ('Search GYOTAK FAQ') and lists concrete topic areas, making the tool's purpose immediately clear. It also explicitly contrasts with contact_gyotak by funneling no-match cases to that sibling, which sharpens 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 gives clear context: use this tool for FAQ lookup on the listed topics. It explicitly names contact_gyotak as the escalation alternative when no match is found. However, it does not distinguish from other search-oriented siblings like search_fish, leaving some when-to-use guidance implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_payment_statusAInspect
Test / QA only — do not use for customer orders. Returns the Cardano preprod payment session of an order placed by a GYOTAK test customer (status, amount, deadline, TX hash if paid). For any other order_id it returns PromptPay guidance and nothing about the order. Customers pay via the PromptPay QR attached to the order confirmation email and receive an email once the payment is confirmed.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order ID (e.g. "BB-42") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses exactly what the tool returns (status, amount, deadline, TX hash if paid), what happens for other order_ids (returns PromptPay guidance and nothing about the order), and the payment/confirmation flow. This is a transparent read-only description with no hidden 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?
Three sentences, each essential: a warning, the return payload, and the fallback behavior/payment context. No fluff or redundant 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?
For a single-parameter read-only tool with no output schema and no annotations, the description is complete: it tells what it returns, when to use it, when not to, and the payment context. Nothing an agent needs for correct invocation is missing.
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 order_id, so the baseline is 3, but the description adds significant meaning: it specifies that only orders from GYOTAK test customers are valid, and that any other order_id yields PromptPay guidance instead of order data. This clarifies the parameter's domain and edge-case behavior 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 states a specific verb ('Returns') and resource ('Cardano preprod payment session'), and restricts it to orders placed by a GYOTAK test customer. It also clarifies the tool's scope is test/QA only, distinguishing it from sibling payment tools like confirm_payment or create_payment.
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 forbids use for customer orders ('Test / QA only — do not use for customer orders'), giving a clear when-not condition. It also describes behavior for any other order_id, which implicitly tells agents that the tool is only meaningful for test customer orders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_replyAInspect
Check if GYOTAK staff has replied to a previously submitted inquiry.
| Name | Required | Description | Default |
|---|---|---|---|
| inquiryId | Yes | Inquiry ID (e.g. "INQ-042") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of signaling side effects. The verb 'Check' implies a read-only, non-destructive operation, which is useful. However, it does not disclose the return shape, idempotency, or any authentication/rate-limit implications, leaving some behavioral ambiguity.
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?
A single, direct sentence with no filler. The action and target are front-loaded, making it immediately scannable for an agent.
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 one fully documented parameter and no output schema, the description covers the invocation trigger (previously submitted inquiry) but does not clarify the tool's return value (e.g., boolean vs. reply content). This is the main completeness gap, though the tool is simple enough that an agent can still infer basic 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?
The input schema already fully documents inquiryId with type and example, so schema coverage is 100%. The description adds only the context that the inquiry was previously submitted; no additional parameter semantics are necessary or 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 uses a specific action ('Check') and a concrete resource ('GYOTAK staff reply to a previously submitted inquiry'). It clearly distinguishes this tool from siblings like ask_gyotak (submission) and check_payment_status (payment), even without naming 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?
The description situates the tool in a clear workflow: after an inquiry has been submitted, check whether staff has replied. It does not explicitly name alternatives or exclusions, but the 'previously submitted inquiry' context is unambiguous and provides enough guidance for an agent to know when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claim_purchase_proofAInspect
Link your own purchases’ on-chain purchase proofs to your X (Twitter) account, so a post of yours can be checked against the chain. Buyer’s X account (self-declared): the buyer linked this purchase to their own X account; GYOTAK has not checked that the account belongs to the buyer. Each stamped purchase comes with the URL of its public verification page. Only works through a personal token URL connector — there is no customerKey argument. Called with no arguments it only lists the purchases that can be linked and links nothing, every time — pass handle to actually link. A link is stamped on chain and cannot be undone, so let the user pick the handle before you pass one. Automatic binding of future purchases is off by default: to turn it on, pass handle with auto_bind "on" — the first such call returns the consent text; show it to the user word for word (the text is in Japanese and English; show both), and only if they agree call again with consent true. Pass auto_bind "off" to stop it (no handle needed); only later purchases stop, anything already recorded stays.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | Your X handle without the leading @ (letters, digits and underscore, 1-15 characters). Required to link: a call without it only lists your purchases and links nothing, even if you linked before. Pass it on every link. | |
| consent | No | Set true only when the user has read the consent text returned by an earlier auto_bind "on" call and agreed to it. Never set it on your own. | |
| auto_bind | No | Turn automatic binding of future purchases to your X handle on or off. "on" needs handle and consent. "off" needs nothing else. Omit to leave the setting as it is. | |
| purchase_id | No | Link only this purchase (e.g. "PB-20260917-a97953d3"). Omit to link every purchase of yours that is not linked yet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so: it discloses the on-chain irreversibility of a link, that no customerKey argument exists, that the buyer's X account is self-declared and unverified by GYOTAK, that auto-binding is off by default, and that 'off' does not retroactively remove recorded links. This is exactly the behavioral context an agent needs before mutating state.
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?
Purpose is front-loaded in the first sentence and almost every clause carries operational information. It is somewhat long and the buyer's-X-account disclaimer sits awkwardly mid-paragraph rather than with the other behavioral caveats, but there is little pure 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?
There is no output schema and no annotations, and the description compensates well: it explains what a listing-only call returns, that stamped purchases carry a public verification URL, and that the first auto_bind 'on' call returns consent text to be shown verbatim in both Japanese and English. Given the tool's complexity, an agent has enough to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter semantics the schema does not: handle must be re-passed on every link call, auto_bind 'off' needs no handle, and consent must only be set after the returned consent text is shown to the user. It does not, however, document the purchase_id format expectation beyond the schema example.
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 first sentence states a specific verb and resource — linking the caller's own on-chain purchase proofs to their X account so a post can be verified against the chain. This is clearly distinct from the verification/listing siblings (verify_catch, get_order_history), and the scope ('your own purchases') is 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 routes behavior: a no-argument call only lists linkable purchases and links nothing 'every time', handle must be passed to actually link, and auto_bind requires a specific two-call consent sequence. It also warns the agent to let the user choose the handle first because the link is irreversible.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_paymentAInspect
Test / QA only — do not use for customer orders: customers pay via the PromptPay QR attached to the order confirmation email. Executes the Cardano preprod A→B→A settlement for an order placed by a GYOTAK test customer. Requires that test customer's customerKey, a pending payment session from create_payment, and a monthly auto-settle allowance. For any other order_id it returns PromptPay guidance and changes nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order ID (e.g. "BB-123") | |
| customer_key | Yes | customerKey of the test customer that placed the order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses that it executes a settlement (a mutating action) and that for non-test orders it returns guidance without changing anything. It also mentions prerequisites that may affect behavior (pending payment session, allowance). This goes beyond simply stating the action and provides useful context about side effects and network (preprod). However, it doesn't explicitly state whether the settlement is reversible or what exactly happens to the order after settlement, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with the most critical information ('Test / QA only — do not use for customer orders') front-loaded. Every sentence adds necessary context: the exclusion, the alternative payment method, the specific action, prerequisites, and the fallback behavior. No redundant words or fluff, making it efficient for an agent to parse quickly.
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 moderate complexity and lack of output schema, the description covers the essential aspects: what it does, when to use it, prerequisites, and behavior for non-matching inputs. It does not explicitly describe the return value or output format, which might be important for an agent to know (e.g., success/failure status). However, for a test/QA tool, this might be less critical, and the description still provides sufficient context to decide whether to call it and what to expect in terms of side effects.
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 describes both parameters (order_id with example format, customer_key as the test customer's key). The description adds the requirement that customer_key must belong to a test customer, but this is already in the schema. It also mentions that the payment session must be pending, which relates to the order_id indirectly. With 100% schema coverage, the description adds marginal value beyond the schema, so the baseline 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 executes a Cardano preprod A→B→A settlement for a test customer's order. It explicitly identifies itself as test/QA only and distinguishes itself from customer payment flows (PromptPay QR) and from sibling tools like check_payment_status or create_payment by specifying its exact action and scope. The verb 'Executes' and the resource 'Cardano preprod A→B→A settlement' are 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 gives explicit when-to-use guidance: only for test/QA, not for customer orders, and only when certain prerequisites are met (test customer's customerKey, pending payment session from create_payment, monthly auto-settle allowance). It also states the behavior for non-matching order_ids (returns PromptPay guidance and changes nothing), effectively saying when not to use it. While it doesn't name a specific alternative tool, it clearly indicates the condition for use and provides a fallback behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contact_gyotakAInspect
Submit a question to GYOTAK staff when FAQ does not have the answer. Staff will reply via Discord. Use check_reply to retrieve the response later.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Your name (optional) | |
| question | Yes | Question to ask GYOTAK staff |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the only source of behavioral context. It discloses the asynchronous workflow ('Staff will reply via Discord' and 'Use check_reply to retrieve the response later') but does not mention side effects, whether the submission is stored, or any rate/format constraints. That is partial disclosure, not full.
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, with the action and condition front-loaded and the essential follow-up instruction immediately after. Every word contributes; there is no redundant or filler 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?
For a two-parameter submission tool with no output schema, the description is largely complete: it gives the trigger, the action, and the retrieval path. It does not describe what the call returns or how to distinguish this from ask_gyotak, but these are minor gaps for such a 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?
Input schema coverage is 100% and each parameter already has a description. The tool description only reinforces 'question' implicitly and adds no new semantic detail about either parameter, so the schema carries the burden and the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Submit a question'), a target ('GYOTAK staff'), and a triggering condition ('when FAQ does not have the answer'). However, it does not differentiate from the sibling ask_gyotak, whose name suggests a similar action, so the agent is left to infer the distinction.
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 directs when to use the tool ('when FAQ does not have the answer') and points to the follow-up tool ('Use check_reply to retrieve the response later'). It stops short of naming ask_gyotak as an alternative or stating when not to use this tool, so a small guidance gap remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_paymentAInspect
Test / QA only — do not use for customer orders, and do not call it after placing a customer order: customers pay via the PromptPay QR attached to the order confirmation email. Works only for orders of GYOTAK test customers; for any other order_id it returns PromptPay guidance and creates nothing. For a test order it computes the THB→tADA conversion, creates a Cardano preprod payment session with a 30-minute expiry, and returns the payment details (GYOTAK A→B→A round-trip).
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order ID (e.g. "BB-42") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so thoroughly: it only works for test customers, computes THB→tADA conversion, creates a preprod session with a 30-minute expiry, and creates nothing for unsupported order IDs. The side-effect boundary is clearly stated.
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 critical warning is front-loaded, and the two sentences pack in scope, exclusions, parameter constraints, behavior, and a time-bound expiry. Nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for selection and invocation, but with no output schema it only vaguely says 'returns the payment details' and does not specify the returned fields or how they connect to siblings such as check_payment_status. Minor gap in an otherwise strong definition.
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?
Although the schema already documents order_id and provides an example, the description adds crucial parameter-level meaning: the ID must belong to a GYOTAK test customer, and any other value causes a non-creating fallback. That materially changes how an agent should treat the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states an exact scope: a test/QA-only helper that creates a Cardano preprod payment session and returns payment details. It distinguishes itself from a production payment path by explicitly saying it is not for customer orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use ('Test / QA only'), when-not-to-use ('do not use for customer orders', 'do not call it after placing a customer order'), and what happens with invalid input ('returns PromptPay guidance and creates nothing'). This leaves no ambiguity about whether the agent should select it for a real order.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_catalogAInspect
Get GYOTAK's full fish catalog with real-time availability, retail prices (THB/kg), freshness tiers, and traceability records. Retail prices are always included. For registered chat customers, pass customerKey (gyotak_cus_...) to show wholesale pricing and enable one-tap checkout. For LINE VIP customers, pass lineUserId. Delivery is available within Thailand only. International addresses are not accepted.
| Name | Required | Description | Default |
|---|---|---|---|
| lineUserId | No | LINE user ID for VIP pricing (optional) | |
| customerKey | No | GYOTAK customerKey (gyotak_cus_...) for registered chat customers — enables identification, wholesale pricing, and one-tap checkout (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that retail prices are always included, that customerKey enables wholesale pricing and one-tap checkout, and that delivery is Thailand-only. These are meaningful behavioral details beyond the tool's name and schema, though it stops short of discussing output format or failure modes.
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-loads the primary purpose, and then adds only the essential conditional logic and delivery constraint. Every sentence contributes actionable information with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description covers the essential returns, optional parameter behavior, and a critical geographic restriction. It does not explicitly compare against search_fish or other sibling tools, but it is sufficiently complete for a read-only catalog retrieval tool with two optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds semantic value by clarifying which type of user should pass each optional parameter and what behavior changes when they do. This goes beyond the schema's per-parameter descriptions by linking them to customer types and checkout behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb and resource: 'Get GYOTAK's full fish catalog.' It enumerates the key returned data (real-time availability, retail prices, freshness tiers, traceability records), making the tool's purpose unambiguous. The word 'full' also helps distinguish it from sibling search-oriented tools like search_fish.
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 pass customerKey vs lineUserId, and it clearly states that international delivery is not accepted. It does not explicitly name alternative sibling tools or state when to prefer search_fish, but the contextual usage instructions are clear enough for an agent to invoke the tool appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_catch_reportsAInspect
Get catch records by date or freshness tier. Returns the catch date, the region (district name), the blog post URL when published and, for records registered on the Midnight blockchain, a verify link per batch. Exact GPS coordinates are never returned: on v3 records the exact position is not on the chain (only a commitment to it); the record carries a zero-knowledge proof that the position lies within a range, and the district name is a label set by GYOTAK that is not part of that proof. In-stock products reference these records by date. To check a record on-chain without trusting GYOTAK, open its verify link, or call verify_catch with network "mainnet", the v3 contract address given in the response and the batch ID.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | YYYY-MM-DD format. Returns records for that specific date. | |
| tier | No | Freshness tier: fresh=last 30 days, tier1=31-60 days, tier2=61-90 days |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so unusually well: it discloses that exact GPS coordinates are never returned, that v3 records only carry a commitment plus a zero-knowledge range proof, and that the district name is a GYOTAK-applied label outside that proof. It also explains the Midnight blockchain verify-link trust model, which is exactly the kind of context an agent cannot infer 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?
Front-loaded with purpose and return fields, then the privacy caveat, then the verification route — a logical ordering. The middle sentence is dense and long (zero-knowledge proof, district labeling), but every clause conveys non-obvious information rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields and adds the privacy/trust caveats an agent needs. It stops short of covering result-set behavior: no pagination, ordering, empty-result handling, or what happens when date and tier are combined or both omitted (neither is required).
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%: the date format (YYYY-MM-DD) and the tier enum semantics (fresh=last 30 days, tier1=31-60, tier2=61-90) are already documented in the schema. The description only restates 'by date or freshness tier' and adds no syntax or interaction semantics, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get catch records by date or freshness tier') and immediately enumerates what is returned (catch date, district, blog post URL, per-batch verify link). It also separates itself from the sibling verify_catch by positioning that tool as the on-chain alternative, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit alternative path: 'To check a record on-chain without trusting GYOTAK, open its verify link, or call verify_catch with network "mainnet"...'. That is clear when-to-use-other guidance. It does not, however, explain when to pass date vs tier, what happens if both or neither are supplied, or how this differs from other record-retrieval siblings such as get_komon_records.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contact_infoAInspect
Get the two ways to buy from GYOTAK, with the contact details for each: retail (order here through place_order, or browse the web shop) and B2B wholesale for restaurants and businesses (LINE @284ezjvm, tier pricing, application required). Call this when the user asks how to buy, how to open a wholesale account, or how to reach GYOTAK. Takes no arguments and returns static text — for product availability or prices use get_catalog, and for other questions use ask_gyotak.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden, and it succeeds. It discloses that the tool takes no arguments, returns static text, and summarizes the actual content (retail vs. B2B wholesale, LINE contact, tier pricing, application required). This makes the behavior fully transparent for a simple static-info tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every part earns its place: purpose, key details, call triggers, argument behavior, and sibling routing. It is front-loaded with the core purpose and does not waste words on generic filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument tool returning static text, the description is complete. It covers what the tool returns, when to invoke it, what not to use it for, and which alternatives to choose. No output schema is needed because the description already tells the agent the response is static text with known content.
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, which sets a baseline of 4. The description reinforces this by explicitly saying 'Takes no arguments,' matching the empty input schema. There is no additional parameter meaning to add because there are no 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 states exactly what the tool does: returns the two ways to buy from GYOTAK with contact details. It is specific about both retail and B2B wholesale paths, which differentiates it from the listed siblings such as get_catalog, place_order, and ask_gyotak.
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 call it: when the user asks how to buy, how to open a wholesale account, or how to reach GYOTAK. It also gives clear alternatives: use get_catalog for availability/prices and ask_gyotak for other questions, so an agent knows exactly 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.
get_komon_recordsBInspect
Get GYOTAK KOMON physical authentication records from the database. Each record represents a PUF (physically unclonable function) registration with minutiae extraction and on-chain commitment. Shielded records do not expose GPS.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status (default: all non-test) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does reveal meaningful context: records represent PUF registrations with minutiae extraction, on-chain commitment, and shielded records do not expose GPS. However, it does not explicitly state that the operation is read-only, describe auth requirements, or clarify response behavior beyond the data model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with the first sentence clearly stating the action and resource and the second adding necessary context. There is no filler, tautology, or redundant repetition. It is appropriately front-loaded and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description could do more to explain the return structure, pagination, or whether all records are returned by default. It does cover the core semantics of the records and notes GPS shielding, which is helpful. Missing usage guidance and explicit behavioral expectations keep it below a 4.
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 covers the only parameter ('status') with 100% description coverage and an enum. The tool description does not add parameter-specific meaning beyond the schema, which is acceptable under the baseline when schema coverage is high. It provides helpful background about what a 'record' is, but not about the status filter itself.
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 names a specific verb ('Get'), a clear resource ('GYOTAK KOMON physical authentication records'), and a source ('the database'). It also adds useful domain context about PUF registration and on-chain commitment, making the tool's purpose understandable. It does not explicitly distinguish itself from sibling tools like get_catch_reports or verify_komon, but the resource is specific enough to avoid major ambiguity.
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, nor does it state exclusions or prerequisites. With many sibling tools such as verify_komon and get_catch_reports, the agent is left to infer the appropriate selection without explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_historyAInspect
Get B2B order history (last 20 orders). Requires lineUserId of a registered VIP customer.
| Name | Required | Description | Default |
|---|---|---|---|
| lineUserId | Yes | LINE user ID of the VIP customer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It discloses the result limit ('last 20 orders') and eligibility ('registered VIP customer'), but it does not describe return format, error behavior, or what happens when the user is not found or not eligible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence with the core action front-loaded and the eligibility requirement stated immediately after. 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 one-parameter read operation with no output schema, the description covers the essential context: what is returned, the limit, and who is eligible. It omits details like return shape or failure modes, but these are less critical 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?
The input schema already fully describes lineUserId with 100% coverage, providing a baseline of 3. The description adds extra semantic value by clarifying that the user must be a registered VIP customer and linking the parameter to B2B order history.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get B2B order history' with a concrete constraint of 'last 20 orders'. This clearly distinguishes it from sibling tools like place_order or create_payment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear prerequisite: the caller must have a lineUserId of a registered VIP customer. This provides enough context for when the tool is applicable, though it does not explicitly mention when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_referralsAInspect
Show your referral summary as a GYOTAK referrer: your referral URL, number of referred orders (paid / unpaid), this month's estimated commission, unpaid balance, payout destination status, and the last 5 paid referred orders (order number, date, subtotal, commission — no buyer details). Only works for the customer of this connection; if you are connected through a personal token URL, omit customerKey.
| Name | Required | Description | Default |
|---|---|---|---|
| customerKey | No | Your customerKey (gyotak_cus_...). Omit when connected through a personal token URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It states that the tool is read-only in nature ('Show'), explicitly scopes it to the current connection, and discloses output limitations such as 'no buyer details' and 'last 5 paid referred orders.' This gives the agent a solid understanding of what the tool will and will not do, though it does not cover error or authentication failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then lists the exact components of the summary in a compact enumeration. Each clause adds specific, useful detail without filler or repetition. It is appropriately sized for the amount of information being conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description does the necessary work of specifying what the response contains: referral URL, order counts, commission, unpaid balance, payout destination status, and last 5 paid orders. It also covers the single parameter's usage condition, making the tool fully actionable for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the customerKey parameter and explicitly says to omit it when connected through a personal token URL, so the description largely repeats that guidance. The added phrase 'Only works for the customer of this connection' provides slight extra context, but the description does not meaningfully expand beyond the schema's 100% 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 opens with a specific verb and resource — 'Show your referral summary as a GYOTAK referrer' — and then enumerates exactly what the tool returns (referral URL, paid/unpaid orders, commission, payout status, last 5 orders). This clearly distinguishes it from siblings like get_order_history or check_payment_status by focusing on the referrer summary rather than general orders or payments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when the tool is applicable: 'Only works for the customer of this connection.' It also provides a concrete parameter condition: if connected through a personal token URL, omit customerKey. It does not explicitly name alternatives or say when not to use this tool versus siblings, but the context is sufficiently clear for a self-contained summary tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_orderAInspect
Place an order. Two modes: (A) VIP wholesale: provide lineUserId of a registered VIP customer. (B) Guest retail: provide customerName, phone, items array, and a delivery address — shippingAddress, shippingProvince and email are all required, and an order missing any of them is rejected. Guest orders are priced at tier-linked retail rates (server-calculated) and the total is final at this point; a confirmation email with a PromptPay QR follows. Without customerKey or a personal token URL connection, every order creates a new customer with a new customerKey, even when the email was used before (orders are never linked to an existing customer by email); the new key is returned in the response and the confirmation email — tell the user to save it. Inventory is NOT deducted — orders go to the pick queue for staff fulfillment. Delivery is available within Thailand only, so the province must be a Thai one. International addresses are not accepted.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | (Guest mode, optional) Language of the confirmation email. Defaults to en. | |
| memo | No | (Optional) Order notes | |
| No | (Guest mode) Email address for the order confirmation — required for guest orders | ||
| items | No | (Guest mode) Order items | |
| phone | No | (Guest mode) Contact phone number | |
| fishName | No | (VIP mode) Fish name (romaji) | |
| totalThb | No | (VIP mode) Total amount in THB | |
| lineUserId | No | LINE user ID of VIP customer (VIP mode). Omit for guest mode. | |
| referrerId | No | (Optional) Referrer ID for tracking | |
| customerKey | No | (Guest mode) Registered customer key (from register_customer). Resolves name/phone/shipping automatically. If you are connected through a personal token URL the customer is already resolved: send items[] alone and omit this, customerName, phone and lineUserId. | |
| requestedKg | No | (VIP mode) Requested weight in kg | |
| customerName | No | (Guest mode) Customer name | |
| shippingAddress | No | (Guest mode) Street address and building name — required for guest orders | |
| shippingDistrict | No | (Guest mode) Hua Hin / Pranburi 等の地元配達判定に必須。住所に含まれていれば自動判定するが、明示推奨 / District name. Required to detect local (free) delivery for Hua Hin / Pranburi. Auto-detected from shippingAddress when present, but explicit value recommended. | |
| shippingProvince | No | (Guest mode) Thai province name, used for shipping cost — required for guest orders. Thailand only. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so thoroughly. It discloses that guest orders are priced at retail rates, the total is final, a confirmation email with a PromptPay QR follows, a new customer is created when no customerKey or token URL connection exists, inventory is not deducted, and delivery is Thailand-only. These are exactly the behavioral traits an agent needs to know before invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence contributes necessary operational detail. It is front-loaded with the two modes and required fields, then expands into behavioral caveats. A slightly more structured layout (e.g., separating modes) would improve scannability, but there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 15-parameter tool with no annotations and no output schema, the description covers a remarkable amount: modes, required fields, pricing, customer creation, inventory handling, delivery constraints, and confirmation behavior. It falls just short of full completeness by not describing the response structure beyond the returned customerKey and not covering error cases beyond missing required 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?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema by explaining mode-specific requirements, the customerKey resolution behavior, and the personal token URL shortcut. This elevates it above the baseline without needing to restate every parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Place an order' and immediately distinguishes two concrete modes (VIP wholesale and guest retail), each with its own required inputs. This makes the tool's function unmistakable and separates it from sibling tools like create_payment or check_payment_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 provides clear context for when to use each mode, including required fields and the condition for omitting customerKey when connected via a personal token URL. It does not explicitly name alternative tools or state when not to use this tool, but the mode-based guidance is strong enough for an agent to decide correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recover_customer_keyAInspect
Explains where a lost customerKey can be found: a key issued with an order is written in the order confirmation email sent to the registered address (each order placed without a key has its own key). For keys that cannot be found there, it points to contact_gyotak. This tool does not look up, verify or send anything.
| Name | Required | Description | Default |
|---|---|---|---|
| phone | Yes | Phone number used at registration |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it clearly discloses that the tool has no lookup, verification, or send side effects. However, it does not explain how the required phone parameter is used or whether it influences the guidance, which is a transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences carry the core behavior, the fallback, and the boundary with no filler. The first sentence is a bit dense with the parenthetical, but the overall structure is coherent 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?
The description covers the main behavior and limitation, but there is no output schema or annotations and the role of the mandatory phone input is unexplained. An agent can select and call the tool, but it may not know what the tool does with its only input or exactly what response 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?
The schema already describes 'phone' as the phone number used at registration (100% coverage), so the description adds little parameter meaning. It does not connect the phone to the order confirmation email or say whether the phone shapes the explanation, which keeps this at the 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 opens with a specific verb and object: it 'explains where a lost customerKey can be found.' It also defines what the tool is not ('does not look up, verify or send anything') and names contact_gyotak as the fallback, making its role distinct from look-up and verification 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?
It states the condition for use (a lost customerKey) and gives the exact recovery path: check the order confirmation email, and if it cannot be found there, contact_gyotak. The explicit non-action statement also tells the agent not to expect verification or sending from this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_customerAInspect
Register as a GYOTAK customer. Collect name, phone, address, email, and customer type (Retail or Wholesale) via conversation BEFORE calling this tool. Returns a customerKey for future orders. Save the key in your AI memory.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Full name (English) | |
| No | Email address (optional) | ||
| phone | Yes | Contact phone number | |
| address | Yes | Shipping address | |
| customerType | Yes | Customer type: Retail (consumer) or Wholesale (business) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It reveals that the tool returns a customerKey and instructs saving it in AI memory, which is key for future orders. It does not mention potential failure modes or duplicate registration behavior, but covers the essential workflow.
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 short sentences with no filler. The purpose, prerequisite, and return-value handling are each stated once, efficiently and in logical order.
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 to collect, what will be returned, and how to handle the result, which is sufficient for a registration tool with no output schema. It does not cover edge cases like validation errors or duplicate registrations, but those are not critical for basic 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%, so the description doesn't need to explain parameter meanings. The description lists the same fields as the schema and adds no new semantics beyond the conversational collection requirement.
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: 'Register as a GYOTAK customer.' It identifies the resource (customer) and differentiates itself from siblings like place_order and recover_customer_key by focusing on customer creation.
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 the agent to collect all required information via conversation BEFORE calling, which gives a clear prerequisite. It does not mention alternatives like recover_customer_key for already-registered customers, so some usage context is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_payoutAInspect
Email the GYOTAK referrer a link to the form where they register where their commission should be sent: a Thai PromptPay QR (read inside the form, the image is never uploaded) or a stablecoin address (USDC on Base, or USDM on Cardano). Call this when the user wants to register, see, or change their payout destination. Returns the destination currently on file, masked, and the masked address the link was sent to. For security the form URL is never shown in the chat — the link goes only to the email address on file, so tell the user to open it from their email. Never ask the user to type the number or the wallet address into the chat.
| Name | Required | Description | Default |
|---|---|---|---|
| customerKey | No | Your customerKey (gyotak_cus_...). Omit when connected through a personal token URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does so well: it discloses the return value (masked destination on file plus the masked address the link was sent to), the security constraint (form URL never shown in chat, link goes only to the email on file), and an explicit behavioral instruction (never ask the user to type the number or wallet address). This is unusually rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The action and usage trigger are front-loaded, and nearly every sentence carries operational value (destination types, return shape, security behavior). It is long and slightly over-explained in places, but no sentence is pure 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?
Although there is no output schema, the description explicitly states what is returned (the masked destination and the masked email address), and it covers the security constraints and user-facing instructions an agent needs. Nothing material for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single customerKey parameter is already documented in the schema, including the 'omit when connected through a personal token URL' guidance. The description adds no parameter-level detail, so 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 states a specific verb and resource: it emails a link to the payout-registration form for a GYOTAK referrer's commission destination. It even enumerates the two supported destination types (Thai PromptPay QR, USDC on Base / USDM on Cardano), so an agent knows exactly what this tool accomplishes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger: 'Call this when the user wants to register, see, or change their payout destination.' That covers the main invocation paths clearly. It does not name when-not-to-use or a competing sibling, but no sibling overlaps this payout-registration purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fishBInspect
Search fish by name (Japanese, Thai, or English). Provide lineUserId to include VIP tier pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Fish name to search for | |
| lineUserId | No | LINE user ID for VIP pricing (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose the conditional behavior that providing lineUserId includes VIP tier pricing, which is useful. However, it says nothing about read-only nature, return format, error handling, or rate limits, so transparency is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence covering the core action, then a second sentence addressing the optional parameter. Every word earns its place, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with two parameters and no output schema, the description covers the basics. However, it omits what the search returns, does not differentiate from get_catalog, and does not state whether any authentication or prerequisites apply, leaving moderate 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 coverage is 100%, so the baseline is 3. The description adds meaningful parameter context by specifying accepted language values for 'query' and explaining that 'lineUserId' modifies pricing to include VIP tiers, going beyond the schema's minimal 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 operation ('Search fish by name') and specifies supported languages (Japanese, Thai, English), making the tool's purpose concrete. However, it does not explicitly differentiate from sibling tools like get_catalog, which may also relate to fish data, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over alternatives such as get_catalog or other fish-related tools. It implies its use by stating what it does, but lacks exclusions or comparisons, leaving an agent to infer usage context on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_catchAInspect
Verify a GYOTAK catch record DIRECTLY from the Midnight blockchain. Reads on-chain state and returns the raw hex plus decoded fields for independent verification. Unlike get_catch_reports (GYOTAK's own list of records: date, district and verify links, never GPS), this lets you verify without trusting GYOTAK. The exact position is not on the chain (only a commitment to it). The record carries a zero-knowledge proof that the position lies within a range. The region name is a label set by GYOTAK; the range used in the proof is not part of the record. Supports both preprod and mainnet. batchId also accepts several IDs separated by commas: they are all checked against a single fetch of the contract state, and the response lists found/not-found per ID.
| Name | Required | Description | Default |
|---|---|---|---|
| batchId | No | Filter to a specific catch record by batchId (e.g. "CR-TESTV3-INSIDE-02"). Omit to return all records in the contract. | |
| network | No | Midnight network (default: preprod) | |
| contractAddress | Yes | Midnight contract address (64-char hex). Example: 2e519c349331a6aaee82a7ed31aa5e39d6a3995f6cf85ec2256c97cda9a8c302 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden and does so well: it discloses that raw hex plus decoded fields are returned, that the exact position is not on-chain (only a commitment), that a ZK range proof is carried, that the region name is an off-chain label, and that comma-separated batchIds are checked against a single contract-state fetch with per-ID found/not-found results.
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 the core action and the sibling contrast, and each subsequent sentence adds a distinct, non-redundant fact. It runs long, but no sentence is filler or restates the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the return content (raw hex plus decoded fields) and the shape of the multi-ID response. The proof/label caveats close the remaining interpretive gap for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: batchId accepts several comma-separated IDs processed in one fetch with per-ID found/not-found results, and network support spans preprod and mainnet.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (verify) and resource (GYOTAK catch record), plus the exact source (Midnight blockchain on-chain state). It explicitly contrasts itself with the sibling get_catch_reports, so an agent can route between the two without opening either schema.
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 names the alternative (get_catch_reports) and the condition that selects this tool instead: trustless verification without trusting GYOTAK. It also notes what the sibling returns (date, district, verify links, never GPS), making the choice concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_komonAInspect
Verify a GYOTAK KOMON record directly from the Midnight blockchain. Reads on-chain state and returns the raw hex plus decoded fields for independent verification. Unlike get_komon_records (which returns GYOTAK's database), this reads directly from the chain. Shielded records prove region membership without exposing GPS. Currently preprod only.
| Name | Required | Description | Default |
|---|---|---|---|
| komonId | No | Filter to a specific komon record by ID. Omit to return all records. | |
| network | No | Midnight network (default: preprod) | |
| contractAddress | No | Midnight komon contract address (64-char hex) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does well by disclosing that it reads on-chain state, returns raw hex and decoded fields, and preserves GPS privacy via shielded records. However, the statement 'Currently preprod only' conflicts with the network parameter enum that includes mainnet, creating ambiguity about whether mainnet is usable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action and resource. Every sentence adds useful context: what it does, what it returns, how it differs from the sibling, its privacy property, and its current environment.
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 no output schema and no annotations, the description adequately explains return content, source of truth, and usage distinction. The main gap is the unresolved contradiction between 'preprod only' and the network enum exposing mainnet, which prevents it from being fully unambiguous.
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% parameter description coverage, so the baseline is 3. The description adds no additional parameter-level detail beyond what the schema already provides, and the 'preprod only' note slightly muddies the network parameter's documented mainnet option.
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 names a specific verb (Verify), a specific resource (GYOTAK KOMON record), and a specific source (Midnight blockchain). It also distinguishes itself from get_komon_records by clarifying that it reads on-chain state rather than GYOTAK's database, and it states the output (raw hex plus decoded fields).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly contrasts with get_komon_records, telling the agent that this tool is for independent verification directly from the chain. It also adds a clear environmental constraint, 'Currently preprod only,' which helps the agent decide 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_purchaseAInspect
Show a purchase proof and trace it: purchase → catch → storage temperature. Use this when the customer asks to see what they bought, where it was caught or how it was stored. Pass the customerKey from this conversation, or a purchase ID (PB-…). Read-only; returns only stamped (on-chain) proofs, with the arguments for verify_catch and verify_temp.
| Name | Required | Description | Default |
|---|---|---|---|
| purchaseId | No | Purchase ID (PB-YYYYMMDD-xxxxxxxx). Takes precedence over customerKey. | |
| customerKey | No | Your customerKey (gyotak_cus_...). Omit when connected through a personal token URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full safety burden and does disclose the key traits: it is 'Read-only' and returns 'only stamped (on-chain) proofs', which is a meaningful result filter an agent would otherwise not know. It does not cover error cases (e.g. unknown purchase ID, missing key) or authentication requirements beyond the key mechanics.
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 dense sentences, each earning its place: purpose and trace chain first, trigger conditions second, input and return behavior last. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no output schema and no annotations, the description covers purpose, invocation triggers, input choices, and the shape of the return ('arguments for verify_catch and verify_temp'). Only failure modes and pagination/empty-result behavior are unaddressed.
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 both parameters are already documented, including the purchaseId precedence rule and the personal-token case. The description's 'Pass the customerKey from this conversation, or a purchase ID (PB-…)' largely restates that, adding only light conversational framing, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Show a purchase proof and trace it') and spells out the trace chain: purchase → catch → storage temperature. That chain immediately distinguishes it from the sibling verifiers verify_catch and verify_temp, so an agent can route without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete trigger conditions -- 'when the customer asks to see what they bought, where it was caught or how it was stored' -- and signals the downstream relationship by mentioning verify_catch and verify_temp. It stops short of explicit when-not-to-use guidance or naming a competing tool to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_tempAInspect
Verify GYOTAK cold-chain storage temperatures DIRECTLY from the Midnight blockchain. Reads on-chain state and returns decoded hourly temperature records per freezer for independent verification. Unlike the dashboard (which reads from GYOTAK's D1 database), this lets you verify without trusting GYOTAK. Each value is the HOURLY AVERAGE committed on-chain; it does not prove the temperature stayed within any limit at every moment in that hour. Supports both preprod and mainnet.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Midnight network (default: mainnet) | |
| freezerId | No | Filter to a specific freezer by ID. Omit to return all freezers. | |
| hourStartUtc | No | Filter to a specific hour (e.g. "2026-07-09 11:00:00"). Omit to return all hours. | |
| contractAddress | No | Midnight temp-log contract address (64-char hex). Default: mainnet production contract. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It clearly states this is a read-only operation ('Reads on-chain state'), explains what the data represents (hourly averages committed on-chain), and explicitly discloses the limitation that it does not prove temperatures stayed within limits at every moment. It also notes network support (preprod and mainnet). It doesn't specify output format or error behavior, but the key behavioral caveat about hourly averages is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core function ('Verify ... DIRECTLY from the Midnight blockchain'), followed by the key trust differentiator, the critical limitation, and network support. Every sentence earns its place: the first sentence states the purpose, the second explains why this tool exists (vs the dashboard), the third warns about what the data doesn't prove, and the fourth notes supported networks. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 optional parameters, no required parameters, no output schema), the description covers the essential context: what it verifies, why it's different from the dashboard, the hourly-average limitation, and supported networks. It doesn't describe the return format or error cases, but for a read-only verification tool with heavily documented parameters, the described context is largely sufficient. The trust/verification framing is particularly valuable for agent 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 description coverage is 100%, so all four parameters are already described in the input schema. The tool description adds context about what the parameters filter (network, freezerId, hourStartUtc, contractAddress) by explaining the purpose of verification, but it doesn't add new parameter-level semantics beyond the schema. The baseline of 3 is appropriate because the schema does the heavy lifting and the description reinforces the verification context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Verify'), a specific resource (GYOTAK cold-chain storage temperatures from the Midnight blockchain), and immediately distinguishes itself from the dashboard reading from GYOTAK's D1 database. It clearly explains the independent verification purpose and the hourly-average limitation, which differentiates it from sibling tools like verify_catch or verify_komon. The scope is precise: reads on-chain state and returns decoded hourly temperature records per freezer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: use this when you need independent verification without trusting GYOTAK, unlike the dashboard. It also clarifies the limitation that hourly averages do not prove continuous compliance, which is a key usage consideration. It names the alternative context (the dashboard) and explains the trust difference, giving clear when-to-use reasoning.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
verify_purchase
1 tool update
- Changed
claim_purchase_proof2 fields changed- changed
Input schema / properties / handle / descriptionPrevious value: -"Your X handle without the leading @ (letters, digits and underscore, 1-15 characters). Required to claim: a call without it only lists your purchases and claims nothing, even if you claimed before. Pass it on every claim."New value: +"Your X handle without the leading @ (letters, digits and underscore, 1-15 characters). Required to link: a call without it only lists your purchases and links nothing, even if you linked before. Pass it on every link." - changed
Input schema / properties / purchase_id / descriptionPrevious value: -"Claim only this purchase (e.g. \"PB-20260917-a97953d3\"). Omit to claim every purchase of yours that is not claimed yet."New value: +"Link only this purchase (e.g. \"PB-20260917-a97953d3\"). Omit to link every purchase of yours that is not linked yet."
1 tool update
- Changed
confirm_payment1 field changed- changed
Input schema / properties / customer_key / descriptionPrevious value: -"Your customer key (from register_customer)"New value: +"customerKey of the test customer that placed the order"
1 tool update
- Changed
claim_purchase_proof2 fields changed- added
Input schema / properties / auto_bindAdded value: +{ + "description": "Turn automatic binding of future purchases to your X handle on or off. \"on\" needs handle and consent. \"off\" needs nothing else. Omit to leave the setting as it is.", + "enum": [ + "on", + "off" + ], + "type": "string" +} - added
Input schema / properties / consentAdded value: +{ + "description": "Set true only when the user has read the consent text returned by an earlier auto_bind \"on\" call and agreed to it. Never set it on your own.", + "type": "boolean" +}
1 tool update
- Changed
claim_purchase_proof2 fields changed- removed
Input schema / properties / auto_bindRemoved value: -{ - "description": "Turn automatic binding of future purchases to your X handle on or off. \"on\" needs handle and consent. \"off\" needs nothing else. Omit to leave the setting as it is.", - "enum": [ - "on", - "off" - ], - "type": "string" -} - removed
Input schema / properties / consentRemoved value: -{ - "description": "Set true only when the user has read the consent text returned by an earlier auto_bind \"on\" call and agreed to it. Never set it on your own.", - "type": "boolean" -}
1 tool update
- Changed
claim_purchase_proof2 fields changed- added
Input schema / properties / auto_bindAdded value: +{ + "description": "Turn automatic binding of future purchases to your X handle on or off. \"on\" needs handle and consent. \"off\" needs nothing else. Omit to leave the setting as it is.", + "enum": [ + "on", + "off" + ], + "type": "string" +} - added
Input schema / properties / consentAdded value: +{ + "description": "Set true only when the user has read the consent text returned by an earlier auto_bind \"on\" call and agreed to it. Never set it on your own.", + "type": "boolean" +}
1 tool update
- Changed
claim_purchase_proof1 field changed- changed
Input schema / properties / handle / descriptionPrevious value: -"Your X handle without the leading @ (letters, digits and underscore, 1-15 characters). Required the first time; afterwards the handle from your last claim is reused unless you pass a new one."New value: +"Your X handle without the leading @ (letters, digits and underscore, 1-15 characters). Required to claim: a call without it only lists your purchases and claims nothing, even if you claimed before. Pass it on every claim."
1 tool update
- Added
claim_purchase_proof
1 tool update
- Changed
place_order1 field changed- added
Input schema / properties / items / items / properties / statusAdded value: +{ + "description": "Cut / preparation of the fish (e.g. \"sashimi fillet\"). Pass the status shown for this fish in get_catalog, verbatim. Optional: when omitted the server fills it in from stock, and asks which one if more than one cut is available.", + "type": "string" +}
1 tool update
- Added
register_payout
2 tool updates
- Changed
get_share_kit1 field changed- added
Input schema / properties / includePhotosAdded value: +{ + "description": "Set true only if the user wants to attach a photo they take themselves with a blockchain capture record. Returns photo_capture_url and the list of recorded photos.", + "type": "boolean" +}
- Removed
set_share_draft
Related MCP Connectors
AI-readable directory + commerce layer: 3,500+ SEA businesses, plus products from verified stores.
Free read-only crypto whale-tracking & market-data MCP tools across 14 chains. No auth.
AI-powered organic supply chain verification: certification, OFAC, FDA import checks.
A2A + MCP hub for retail grocery procurement — 20 markets on the SCHEMA algo record. Trade only.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceSemantic product search and price-intelligence API over Singapore e-commerce data. Computes auditable value-scores from Shannon entropy across vendor price distributions, with pay-per-call pricing via x402 (USDC) alongside Stripe.-
- AlicenseNot gradedqualityDmaintenanceMethodology-transparent BTC + ETH whale forensics. 30 tools, anonymous OAuth 2.1 Free tier.MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI agents to discover, purchase, and query blockchain-based datasets using Filecoin/IPFS storage with Ethereum NFT access controls and Lit Protocol encryption. Provides a decentralized marketplace for secure dataset trading with automatic purchase workflows and SQL query capabilities.0-
- AlicenseAqualityCmaintenanceReal-time crypto whale intelligence MCP server with 55 tools across 14 blockchains. Free, no auth required.561MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.