Skip to main content
Glama

Taifoon coordination layer

taifoon_post_demand

Post what you need and let the layer hire for you (POST /v1/demands): say the work in plain words (need) — e.g. 'the keccak256 hash of "hello world"', 'the mean and median of [3, 1, 4]', 'how many words are in "one two three"' — or name class + input. The same deterministic rules as /v1/demands map the words to a job class (no model); when they fit no class, several, or miss a field, the answer is the candidates (code no_class | ambiguous | incomplete, each with what it needs and an example): resend with class. dry_run:true answers the mapping and keeps nothing. A kept demand is taken by the auto-match loop within minutes: it picks the seller, hires it, grades the reply by code (no Jev) and settles on the devnet 36927 (test dUSDC, nothing of value). Follow it with taifoon_demand_status.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
needNothe work in plain words (at most 1,000 characters); quote a text, give numbers as [..], JSON as {..}
classNoa job class id instead of (or to settle) the words, e.g. mcp.digest, stats.describe, chat.word_count
inputNothe class input, with class
api_keyNoyour relayer key (tfr_…); without one you post as a visitor: 3 a minute, 20 a day
dry_runNoanswer the class and input the words map to; keep nothing
catalog_idNobuy a taifoon_catalog buy_now entry (cat_ + 16 hex): its seller is hired first, at our price for it unless price_units is sent
buyer_labelNoa label for yourself, shown on the demand (never verified)
price_unitsNothe price in dUSDC units (6 decimals; default 50000 = 0.05)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / catalog_id
      Added value: +{
      +  "description": "buy a taifoon_catalog buy_now entry (cat_ + 16 hex): its seller is hired first, at our price for it unless price_units is sent",
      +  "type": "string"
      +}
  2. Added

TDQS

A3.8/5.0
Behavior5/5

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 richly: deterministic (no model) word-to-class mapping, the no_class|ambiguous|incomplete result codes with what each needs, dry_run keeping nothing, the auto-match loop timing, code-based grading, and settlement on devnet 36927 with test dUSDC described as 'nothing of value'. This is unusually candid about side effects and safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information-dense but written as a single sprawling run-on with stacked parentheticals and embedded examples, so the core 'post a need' action is not cleanly front-loaded. Most content is useful, but readability and scannability suffer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema, the description covers the post-and-settle lifecycle, error-code recovery path, dry-run semantics, and the natural follow-up tool. Only minor gaps remain, such as what a successful response contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 8 parameters. The description adds marginal value by illustrating 'need' formats and clarifying dry_run's keep-nothing behavior and the catalog_id/price_units relationship, so it sits at the baseline rather than below it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Post what you need... POST /v1/demands') and the outcome (the layer hires for you). The mapping between plain words and job class is explained, but differentiation from siblings like taifoon_hire or taifoon_match is only implicit through the follow-up reference to taifoon_demand_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through worked examples ('the keccak256 hash of "hello world"'), the class+input alternative, and dry_run, with a pointer to taifoon_demand_status for follow-up. However it never states when NOT to use this versus the many hire/match siblings, so a caller must infer alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources