Skip to main content
Glama

Server Details

Evidence-based acupuncture protocol matcher – search symptoms, match protocols, browse acupoints.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 81 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.1/5.0

Scored across 16 tools

Disambiguation4/5

Most tools have clearly distinct roles, and descriptions actively steer between the near-neighbours: get_point vs get_meridians (one free vs whole paid catalogue), get_page vs get_pages vs get_full_corpus (single, batch, bulk), search_wiki vs list_pages vs get_categories vs get_recent_changes (keyword, browse, orient, poll). The only real ambiguity is the symptom/protocol cluster (search_symptoms, get_symptom_detail, search_protocols), which is a pipeline rather than a set of rivals, plus seven different wiki-reading entry points that an agent must pick from.

Naming Consistency5/5

Every name is snake_case verb_object following a small set of stable verbs (get_, list_, search_, create_, send_). Singular/plural is used meaningfully and consistently (get_page vs get_pages), so the naming itself conveys the single-vs-batch distinction.

Tool Count4/5

16 tools is at the upper edge but each covers a real access pattern across three sub-domains: wiki retrieval, clinical lookup, and a paid checkout flow. Nothing looks like dead weight, though the wiki-reading side alone accounts for seven tools and could be trimmed by folding get_full_corpus into get_pages.

Completeness3/5

Read coverage is excellent (single, batch, bulk, search, browse, history, recent changes, categories), but get_page instructs the agent to fetch blocks and pass version as 'the edit's baseVersion' and get_page_history refers to a 'restore' — yet no create/update/restore page tool exists, so those documented workflows dead-end. The commerce side is also thin: checkout and order lookup exist, but no product listing or cancellation, and orders cannot be listed or searched at all.

Available Tools

16 tools
create_checkoutCreate checkout sessionAInspect

Create a Stripe Checkout session for an AcuiQ product and return its URL. Give the URL to the human to open and complete – the agent never touches payment data. Creates a live session on Stripe: call it when the person has said they want to buy, not to look up a price.

NameRequiredDescriptionDefault
sourceNoOptional: the acuiq.com page the purchase follows from, as a path or URL – the symptom or point page whose `guide` pointer you are acting on. Attributes the sale to that page. Never personal data.
productYesProduct to purchase. press-needles ($19.99/box, ships US); treatment-guide ($12.99 digital download, free updates for life); practitioner-edition ($39 digital download, free updates for life); point-reference ($29 digital download, free updates for life); atlas-charts ($14 digital download, free updates for life); corpus-licence ($999 digital download, free updates for life); mini-headache ($5 digital download, free updates for life); mini-back ($5 digital download, free updates for life); mini-neck-joints ($5 digital download, free updates for life); mini-sleep-mood ($5 digital download, free updates for life); mini-digestion ($5 digital download, free updates for life); mini-ear-eye ($5 digital download, free updates for life); mini-skin-nerves ($5 digital download, free updates for life); mini-womens ($5 digital download, free updates for life); mini-heart ($5 digital download, free updates for life); mini-urinary ($5 digital download, free updates for life)
quantityNoNumber of boxes (physical products only, default 1, max 20)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare the write/irreversible profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true); the description adds real context beyond them: this hits live Stripe, the session is handed to a human, and the agent never handles payment data. It doesn't say what happens on repeat calls or session expiry, which is the one remaining behavioral gap.

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

Conciseness5/5

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

Three short sentences, front-loaded with the action and return value, with the human-in-the-loop constraint and the usage condition each stated once. No filler.

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 a 3-parameter mutation tool with no output schema, the description covers action, return value, side-effect scope and usage condition, and annotations carry the safety profile. Remaining gaps are minor: session lifetime, repeat-call behavior, and error cases.

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% – product, source and quantity are all fully documented in the schema, including prices and the 1–20 box cap. The description adds no format or semantic detail beyond the schema, so the baseline 3 for full schema coverage applies.

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

Purpose5/5

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

States a specific verb and resource ('Create a Stripe Checkout session for an AcuiQ product') plus the return value (its URL). It also implicitly separates itself from the read-only siblings by noting this is not a price lookup, so an agent can choose without opening a schema.

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

Usage Guidelines4/5

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

Gives an explicit trigger ('when the person has said they want to buy') and an explicit non-trigger ('not to look up a price'), which is stronger than most mutating tools. It stops short of naming the sibling that handles price/product lookup (e.g. a wiki or product page tool), so the routing is implied rather than complete.

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

get_categoriesList categoriesA
Read-onlyIdempotent
Inspect

The category tree of the AcuiQ reference wiki, the cheapest way to orient before searching. Each node carries its path (a tagPath list_pages and search_wiki take), name, description, pageCount (pages filed at that path) and pageCountDeep (with every descendant). tagPaths lists every tag path that holds pages, including any the tree does not name.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and a closed-world boundary, so safety and side effects need no restating. The description adds genuinely new behavioral context: the return shape per node and the caveat that `tagPaths` can include paths the tree does not name, which warns the agent the tree is not exhaustive.

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

Conciseness4/5

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

Two sentences, both front-loaded, with the purpose stated before the field inventory. The field list is dense but every item earns its place, since no output schema exists to carry it. A shorter framing of `pageCount` vs `pageCountDeep` would be slightly crisper.

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

Completeness5/5

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

With no output schema and no parameters, the description must carry the return contract and it does: node fields (`path`, name, description, `pageCount`, `pageCountDeep`) and the top-level `tagPaths` behavior. Nothing an agent needs to call it correctly or interpret the result is missing.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate, which is the baseline 4 case. The description's references to `path`/`tagPath` values describe outputs rather than inputs and do not mislead.

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

Purpose5/5

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

States a specific resource (the category tree of the AcuiQ reference wiki) with an explicit scope and value claim ('the cheapest way to orient before searching'). An agent can tell this apart from get_pages, list_pages, and search_wiki 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.

Usage Guidelines4/5

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

It positions itself as the orientation step before searching and names the two siblings (list_pages, search_wiki) that consume the `path` values it returns, which is a real routing signal. It stops short of stating when not to use it, e.g., that it should be skipped if a path is already known, so it is clear but not exhaustive.

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

get_full_corpusWhole corpusA
Read-onlyIdempotent
Inspect

The whole of the AcuiQ reference wiki as one text document, for bulk ingestion. Preflight first: sizeOnly=true returns the character count, a token estimate, the per-branch breakdown and the largest pages. Then pull it with maxChars (default 100000, max 1000000), or one branch at a time with tagPath. Truncation is page-aligned: truncated, omittedPages and nextSkip say where to resume (pass skip=nextSkip). For a handful of pages get_pages is cheaper.

NameRequiredDescriptionDefault
skipNoResume from this page index: the `nextSkip` of the previous truncated call (default 0)
tagPathNoOne branch and its descendants. Omit for everything.
maxCharsNoCharacter budget for `document` (default 100000, max 1000000)
sizeOnlyNoSizes and breakdowns only, no document. Do this before the first real pull.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnly/idempotent/closed-world; the description adds the real behavioral traits: page-aligned truncation, the truncated/omittedPages/nextSkip return fields, and how to resume via skip=nextSkip. It also discloses what sizeOnly returns (character count, token estimate, per-branch breakdown, largest pages).

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

Conciseness4/5

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

Front-loaded with the core purpose, then procedures in the order an agent needs them. It is dense and somewhat packed into one paragraph (workflow, params, truncation, alternative), but nearly every sentence carries actionable information.

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

Completeness5/5

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

With no output schema, the description carries the return-value burden and does so: it names the sizeOnly payload fields and the truncation/resume fields. Combined with the workflow and the sibling pointer, an agent has everything needed to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents all four parameters; the description still adds value by framing sizeOnly as a preflight step and tying skip to nextSkip and tagPath to branch scoping. It largely restates defaults/maxima that the schema already carries, so it is above baseline but not fully additive.

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

Purpose5/5

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

States a specific verb and resource — the entire AcuiQ wiki returned as a single text document — and names its purpose (bulk ingestion), which immediately separates it from per-page siblings like get_page/get_pages.

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

Usage Guidelines5/5

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

Gives an explicit two-step procedure (preflight with sizeOnly=true, then pull) and names the alternative: 'For a handful of pages get_pages is cheaper.' Both the when-to-use and when-not-to-use cases are stated.

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

get_meridiansList meridiansA
Read-onlyIdempotent
Inspect

List every channel group in the AcuiQ point catalogue with its acupoint count and page URL – the 14 classical meridians plus the extra-point and auricular groups the catalogue files points under. Descriptions and five-element associations are returned where recorded, which is currently for almost none of them. Priced at $0.50, paid with a Stripe shared payment token (SPT), single use over MPP (Machine Payments Protocol): send the credential at params._meta["org.paymentauth/credential"]. It is the whole catalogue in one call – for ONE point use get_point, which is free, and every other tool here is free too.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/openWorld annotations, it discloses the cost ($0.50), the payment rail (Stripe SPT, single use over MPP) and the exact credential location, plus a data-completeness caveat that descriptions and five-element associations are recorded for almost none of the groups. That is material behavioral context an agent cannot get from annotations or schema.

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

Conciseness4/5

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

Front-loads the resource and its returned fields, then payment mechanics, then sibling routing — a sensible order with no filler sentences. It is slightly dense with stacked parentheticals ('plus the extra-point and auricular groups the catalogue files points under', 'which is currently for almost none of them'), which costs it the top mark.

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

Completeness5/5

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

With zero parameters, no output schema and safe read annotations, the description carries everything needed: what is returned, the payment prerequisite and its exact location, and where to go for a single point. Nothing required to invoke it correctly is missing.

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

Parameters4/5

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

There are no parameters, so the baseline is 4. Schema coverage is 100% and the description correctly spends its words on return fields rather than inventing parameter semantics; the only 'parameter' mentioned is the payment credential path, which is a transport detail rather than an input.

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

Purpose5/5

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

States a specific verb (List) and resource (every channel group in the AcuiQ point catalogue) plus the exact returned fields (acupoint count, page URL) and the scope (14 classical meridians plus extra-point/auricular groups). It explicitly distinguishes itself from get_point for single points, so the agent can separate it from siblings without opening a schema.

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

Usage Guidelines5/5

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

Gives both the when ('It is the whole catalogue in one call') and the alternative with its selecting condition ('for ONE point use get_point, which is free'). It also states that every other tool here is free, which removes ambiguity about when paying is required.

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

get_orderCheck order statusA
Read-onlyIdempotent
Inspect

Check a checkout created by create_checkout and, once it is paid, return the delivery link for a digital product. Call it after handing the person the checkout URL – leave a few seconds between calls, it is not a busy-wait. Requires the session_id create_checkout returned: orders cannot be listed, searched, or looked up by email, and no personal data (email, name, address) is ever returned.

NameRequiredDescriptionDefault
session_idYesThe session_id create_checkout returned (starts "cs_")

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and openWorld hints, so the bar is lower. The description still adds meaningful behavioral context: it returns a link only once payment is confirmed, is not a busy-wait, requires the create_checkout session_id, and never returns personal data. This goes well beyond the annotations.

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

Conciseness5/5

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

Three sentences cover purpose, timing, polling behavior, source of the parameter, and privacy constraints with no filler. The main action is front-loaded and every sentence carries useful information.

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

Completeness5/5

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

For a simple one-parameter tool with rich annotations and no output schema, the description is complete: it identifies the parameter, the expected caller flow, the polling cadence, and what the tool returns. Nothing critical is missing for an agent to invoke it correctly.

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%, and the schema already explains that session_id is the value returned by create_checkout and starts with 'cs_'. The description reinforces that the session_id is required and cannot be replaced by email or other lookup, but it does not add substantial meaning beyond the schema.

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

Purpose5/5

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

The description states a specific verb and resource: check a checkout created by create_checkout and return the delivery link once paid. It clearly distinguishes the tool from siblings like create_checkout and the unrelated get_* and search_* tools, and explicitly notes that orders cannot be listed, searched, or looked up by email.

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

Usage Guidelines5/5

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

It gives explicit guidance on when to call the tool: after handing the person the checkout URL. It also warns against using it as a busy-wait loop by recommending a few seconds between calls, and explains that the session_id must come from create_checkout. No alternatives are relevant, and the constraints are clearly stated.

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

get_pageRead a pageA
Read-onlyIdempotent
Inspect

One page of the AcuiQ reference wiki in full: its text, version, update date and metadata. Address it by path ("tag/path/slug", exactly the path or url a listing returns), or by tagPath + slug; a category's own path reads its hub article. Not a title. For 2 to 20 pages call get_pages, one round trip rather than N. A miss names the nearest pages, so a wrong guess is fixed in one retry. A page's URL with .md appended is its markdown. With blocks: true, content is the stored block array, ids and all, beside the page id and its whole metadata: read a page this way before editing it, and send its version back as the edit's baseVersion.

NameRequiredDescriptionDefault
pathNoThe page's whole path, e.g. "developers/scrypto/blueprints". Preferred over tagPath + slug.
slugNoPage slug. Ignored when `path` is set.
blocksNoReturn the stored blocks rather than prose, for an edit
tagPathNoTag path only ("" for a top-level page). Ignored when `path` is set.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, closed-world), yet the description adds real behavioral detail beyond them: a miss returns nearest pages, URL + '.md' yields markdown, and blocks:true returns stored blocks with ids plus full metadata. It also explains the read-before-edit workflow and the version/baseVersion contract, which nothing else discloses.

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

Conciseness4/5

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

Front-loads the return shape, then addressing, then the batch alternative and edit workflow — a sensible order with no filler sentences. It is dense and runs longer than most definitions, but nearly every clause carries load; slightly tighter phrasing would reach a 5.

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

Completeness5/5

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

No output schema exists, and the description compensates by describing the returned fields, the blocks variant's structure, and the miss response. For a 4-parameter read tool with full annotation coverage, an agent has everything needed to call it correctly and to recover from failures.

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

Parameters5/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema lacks: it clarifies that path values must be exactly the path or url a listing returns and that a category's path reads its hub, and it expands blocks:true into the full return shape and editing workflow. That is substantive value over the schema's one-line descriptions.

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

Purpose5/5

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

States a specific verb and resource: reads one page 'in full: its text, version, update date and metadata.' Immediately distinguishes it from get_pages (batch) and implicitly from list_pages/search_wiki by naming the sibling it is not.

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

Usage Guidelines5/5

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

Explicit routing: 'For 2 to 20 pages call get_pages, one round trip rather than N.' Gives addressing rules (path preferred over tagPath+slug, not a title, category path reads its hub) and the recovery path for a wrong guess. When-to-use and alternatives are both stated.

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

get_page_historyPage historyA
Read-onlyIdempotent
Inspect

A page's revisions in the AcuiQ reference wiki, newest first: each one's id, version, change type, message, date and the blocks it changed. Address the page as get_page does. A revision id is what a restore takes, where this server has one. Defaults: limit 20 (max 100).

NameRequiredDescriptionDefault
pathNoThe page's whole path, e.g. "developers/scrypto/blueprints". Preferred over tagPath + slug.
slugNoPage slug. Ignored when `path` is set.
limitNoMost revisions returned (default 20, max 100)
tagPathNoTag path only ("" for a top-level page). Ignored when `path` is set.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context: revisions are newest first, the limit defaults to 20 with a max of 100, and revision ids are what a restore takes. It does not need to repeat the read-only nature already provided by annotations.

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

Conciseness5/5

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

The description is compact and front-loaded: it begins with what the tool returns, then explains addressing, revision id use, and defaults. Every sentence contributes relevant information without repetition or filler.

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?

With no output schema, the description appropriately lists the revision fields an agent will receive, including id, version, change type, message, date, and changed blocks. It also covers ordering and limit defaults. A minor gap is that it does not explain pagination beyond the limit, but the core return shape and usage context are adequately described.

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 baseline is 3. The description reinforces the limit default and maximum and says to address the page as get_page does, but most parameter meaning is already fully documented in the schema. It adds little beyond what the schema provides.

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?

The description clearly states that this tool returns a page's revisions in newest-first order and enumerates the revision fields returned. It distinguishes itself from get_page by noting that the page should be addressed as get_page does, though it does not explicitly contrast with get_recent_changes.

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?

The description implies when to use the tool by describing revisions and their use in restore operations, but it does not explicitly state when to choose this over siblings like get_recent_changes or get_page. The reference to addressing pages as get_page does adds some context but stops short of clear usage alternatives.

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

get_pagesRead up to 20 pagesA
Read-onlyIdempotent
Inspect

Batch read: 1 to 20 pages of the AcuiQ reference wiki in full in one call, which is how to read search or listing results. Pass paths as the listings return them. Paths that do not exist come back in missing rather than failing the call, anything past 20 in remaining, and pages past maxChars (default 250000) in omitted with their sizes.

NameRequiredDescriptionDefault
pathsYesPage paths, 1 to 20 per call
maxCharsNoTotal characters across the pages returned (default 250000, max 1000000)

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only establish read-only/idempotent; the description goes well beyond by disclosing partial-failure semantics that matter operationally: nonexistent paths land in `missing` instead of erroring, overflow past 20 goes to `remaining`, and oversized pages are chunked out to `omitted` with sizes. That tells the agent the call degrades gracefully and that a short response may still mean more work remains.

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

Conciseness4/5

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

Front-loads the verb, resource, and batch size before any conditional detail, and every clause carries behavioral information rather than restating the name. It is packed into essentially one long sentence, which is dense but not padded.

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?

With no output schema, the description carries the return-value burden and does name the three auxiliary fields (`missing`, `remaining`, `omitted`). It never describes the shape of the successful page payload itself (how content maps back to each path), leaving one modest gap for a tool whose primary return is page content.

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 coverage is 100%, so both parameters are already documented, which sets the baseline at 3. The description adds one genuinely useful constraint, 'Pass `paths` as the listings return them,' warning against normalizing paths, plus the default and truncation behavior of `maxChars`, but it does not elaborate further.

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

Purpose5/5

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

States a specific verb and resource with explicit scope: 'Batch read: 1 to 20 pages of the AcuiQ reference wiki in full in one call.' The batch framing plus the 1-20 cap immediately separates it from get_page (single) and list_pages/search_wiki (listing only).

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

Usage Guidelines4/5

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

Gives a concrete triggering condition: 'which is how to read search or listing results,' tying it to the search/list siblings in the toolset. It omits an explicit inverse rule (use get_page for a single known page), so the routing guidance is clear but not fully closed.

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

get_pointLook up an acupointA
Read-onlyIdempotent
Inspect

Resolve one acupoint by code ("LI4", "li04"), English name ("Junction Valley"), Chinese name ("合谷") or pinyin ("Hegu", "hé gǔ") and return its location, cautions, meridian, the points most often selected alongside it in the corpus, its page URL and markdown twin. For the full protocol table, fetch the markdown twin. Where the best-evidenced indication for this point is covered by a $5 mini-guide, the result carries a guide pointer – offer it only if the person asks for something to follow at home.

NameRequiredDescriptionDefault
pointYesCode, English name, Chinese name or pinyin (e.g. "LI4", "Hegu", "合谷")

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/idempotentHint annotations, the description discloses the full return shape (location, cautions, meridian, co-selected points, URL, markdown twin) and reveals conditional behavior: a `guide` pointer appears only for the best-evidenced indication when a $5 mini-guide exists, with a rule for how to offer it. This is rich behavioral context beyond what annotations provide.

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

Conciseness5/5

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

Three sentences with no filler: the first front-loads the core resolve-and-return behavior, the second gives a follow-up action, the third states a conditional rule. Every sentence earns its place and the example lists are dense but scannable.

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

Completeness5/5

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

For a single-parameter, read-only lookup with no output schema, the description is complete: it covers accepted inputs, return contents, the follow-up path (markdown twin), and the presentation rule for the optional guide pointer. An agent has everything needed to invoke it correctly and shape the response appropriately.

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

Parameters4/5

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 extends the schema's terse examples ('LI4', 'Hegu', '合谷') with formats the schema omits: lowercase zero-padded codes ('li04'), an English-name example ('Junction Valley'), and tone-marked pinyin ('hé gǔ'). This meaningfully clarifies accepted input variations.

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

Purpose5/5

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

The description uses a specific verb ('Resolve') with a specific resource ('one acupoint') and enumerates the accepted identifier forms and the return payload. It distinguishes itself from siblings like get_meridians, search_symptoms, and get_wiki_page by focusing on single-point resolution by various names, so an agent can tell it apart without opening other tool schemas.

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

Usage Guidelines4/5

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

The description gives actionable context: resolve a single point via code/name/pinyin, fetch the markdown twin when the full protocol table is needed, and only present the guide pointer when the person wants something to follow at home. It provides clear conditional guidance, though it never explicitly names when-not-to-use this tool in favor of a sibling.

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

get_recent_changesRecent changesA
Read-onlyIdempotent
Inspect

Pages of the AcuiQ reference wiki edited within the last N days, newest first: what to poll when you are watching the wiki rather than reading it. Same rows as list_pages. Defaults: days 7 (max 30), limit 20 (max 50). truncated: true means the limit cut the list; raise it, or page through list_pages.

NameRequiredDescriptionDefault
daysNoLook back this many days (default 7, max 30)
limitNoMost pages returned (default 20, max 50)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/closed-world, yet the description still adds real behavior: default and maximum values, newest-first ordering, identical row shape to list_pages, and the meaning of `truncated: true` plus the remedial action. It stops short of describing auth or rate-limit behavior, but for a read-only listing tool that is minor.

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

Conciseness5/5

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

Two dense sentences, front-loaded with what the tool returns, followed by usage framing and defaults. No filler; the truncation guidance is placed last where an agent needs it after the core selection decision.

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?

With no output schema, the description carries return-shape duty and does so reasonably via 'Same rows as list_pages' and the `truncated` flag explanation. The full field list must still be inferred from the sibling tool, which is a small residual gap.

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

Parameters4/5

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

Schema coverage is 100%, so the defaults and maxima restated in the description are largely redundant. The added value is linking `limit` to the downstream `truncated` signal and telling the agent how to react to it — semantics the schema alone does not convey.

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

Purpose5/5

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

States a specific verb+resource and scope: pages edited within the last N days, ordered newest first. It explicitly contrasts with the sibling list_pages ('Same rows as list_pages'), so an agent can tell the two apart 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.

Usage Guidelines4/5

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

Gives a concrete use case ('what to poll when you are watching the wiki rather than reading it') and a fallback path when truncated ('raise it, or page through list_pages'). It does not state an explicit exclusion, but the read-vs-poll framing effectively implies the boundary against list_pages.

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

get_symptom_detailGet symptom detailA
Read-onlyIdempotent
Inspect

Get details for a specific symptom: canonical name, protocol count, page URL and its markdown twin. The markdown twin is the cheapest way to read every protocol for one symptom in a single fetch. When the symptom is covered by a $5 mini-guide, the result carries a guide pointer – mention it only if the person wants something to follow away from a screen, then call create_checkout with that product id.

NameRequiredDescriptionDefault
nameYesSymptom name (e.g. "headache")

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description aligns with the readOnlyHint and idempotentHint annotations by indicating a fetch operation. It also adds transparency by explaining the condition under which a guide pointer appears and when to proceed to checkout, without contradicting the read-only nature.

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

Conciseness4/5

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

The description is three sentences long, reasonably focused, and front-loaded with the core purpose. It includes some extra guidance about the markdown twin and the guide pointer, which adds value but makes it slightly less concise than strictly necessary.

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?

Given a simple tool with one parameter and no output schema, the description covers the essential output fields and the special guide pointer behavior. It does not describe the overall response structure, but that is acceptable since no output schema is provided and the key information is mentioned.

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?

The schema already fully describes the single parameter 'name' as a symptom name with an example. The description does not add any additional meaning about the parameter's format, constraints, or possible values, so it matches the baseline expected from a fully documented schema.

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

Purpose5/5

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

The description clearly states that the tool gets details for a specific symptom, listing the specific fields returned (canonical name, protocol count, page URL, markdown twin). It distinguishes itself from search tools by focusing on a single symptom's detail retrieval, making the purpose unmistakable.

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

Usage Guidelines4/5

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

The description provides a usage tip ('the markdown twin is the cheapest way to read every protocol for one symptom in a single fetch') and instructs when to trigger create_checkout for the guide pointer. However, it does not explicitly contrast this tool with the search-like siblings (search_symptoms, search_protocols), so some contextual guidance is missing.

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

list_pagesList pagesA
Read-onlyIdempotent
Inspect

Browse the AcuiQ reference wiki by tag path rather than by keyword: every page under a branch, newest first by default. tagPath matches the branch and everything beneath it; omit it to walk the whole wiki. Sort by title for an A–Z pass. Same rows as search_wiki, with totalPages, hasMore and nextPage. Defaults: page 1, pageSize 20 (max 100).

NameRequiredDescriptionDefault
pageNo1-based page number (default 1)
sortNoSort order (default "updatedAt", newest first)
tagPathNoThe branch to list, e.g. a path from get_categories. Includes its descendants.
pageSizeNoResults per page (default 20, max 100)

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint, so the safety profile is covered; the description adds default ordering ('newest first'), pagination contract ('totalPages', 'hasMore', 'nextPage'), and default page size with max. It stops short of discussing the size/cost of walking the whole wiki unpaged, which would matter for get_full_corpus-style large traversals.

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

Conciseness5/5

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

Four tight sentences, front-loaded with the differentiator (tag browsing vs keyword) followed by behavior, sorting, and pagination. No filler, and each sentence covers a distinct decision an agent must make.

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

Completeness5/5

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

No output schema exists, yet the description still discloses the response envelope (totalPages, hasMore, nextPage) and confirms row parity with search_wiki. For a zero-required-parameter list tool with full schema coverage, nothing needed to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3; the description adds value by explaining tagPath semantics (matches the branch and everything beneath it) and the title-vs-updatedAt sort intent beyond the enum labels. Defaults for page and pageSize are repeated from the schema rather than extended.

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

Purpose5/5

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

States a specific verb (browse/list) and resource (reference wiki pages), and clearly distinguishes itself from keyword search by contrasting 'browse by tag path rather than by keyword'. It also names the sibling search_wiki as the equivalent-row alternative, so an agent can separate it from get_pages, get_page, and search_wiki without reading schemas.

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

Usage Guidelines5/5

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

Gives explicit when-to-use (browse a branch by tag path), a when-not-to-use alternative (keyword search via search_wiki), and an operating mode for omitting tagPath ('omit it to walk the whole wiki'). It even specifies an alternate sort choice (title for A–Z pass), covering the decision points an agent needs.

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

search_protocolsFind treatment protocolsA
Read-onlyIdempotent
Inspect

Find acupuncture protocols for given symptom names – the same ranked pipeline behind GET /api/protocols. Returns matches (each with point codes, cred, modality and course where the source states them, the result once someone has read it, and provenance: sourceKind, source, caveat) plus a points dictionary giving each referenced code its name, meridian, location and warnings ONCE, and studyBacked, false when no study covers the query. It returns 10 matches by default; raise limit (max 50) if you need more. directMatches lists indicated points when no protocol covers the query – index entries, not prescriptions. Pass symptom names from search_symptoms, not a description. When the symptom is covered by a $5 mini-guide, the result carries a guide pointer – mention it only if the person wants something to follow away from a screen, then call create_checkout with that product id.

NameRequiredDescriptionDefault
ageNoPatient age. Drops protocols whose recorded cohort age is more than 20 years away; rows that recorded no age are kept.
sexNoPatient sex. Drops protocols recorded in the opposite sex; rows that recorded no sex are kept.
limitNoMax protocols to return (default 10, max 50)
symptomsYesComma-separated symptom names, max 10 (e.g. "headache,neck pain")

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the read-only/idempotent safety profile; the description goes well beyond them, disclosing default result count (10), the max (50), the meaning of `studyBacked` when false, that `directMatches` are index entries rather than prescriptions, and the existence of a `guide` pointer tied to a paid mini-guide. That is real behavioral context an agent could not infer from the structured fields.

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

Conciseness4/5

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

Front-loaded with purpose, then return shape, then usage and workflow, so the important routing information is easy to find. It is dense and long for a single paragraph, but nearly every clause carries distinct information rather than restating the schema.

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

Completeness5/5

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

With no output schema, the description carries the full burden of explaining returns and does so: `matches` fields, the deduplicated `points` dictionary, `studyBacked`, `directMatches`, and the conditional `guide` pointer. Combined with the usage and limit guidance, an agent has everything needed to call it and interpret the result.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3; the description earns an extra point by clarifying that `symptoms` must be symptom names sourced from search_symptoms rather than free-text descriptions, which is not stated in the schema. It says nothing extra about `age` or `sex` beyond what the schema already documents.

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

Purpose5/5

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

States a specific verb and resource ('Find acupuncture protocols for given symptom names') and identifies the exact pipeline it mirrors ('the same ranked pipeline behind GET /api/protocols'). It is clearly distinguishable from search_symptoms, which it names as the upstream source of input.

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

Usage Guidelines5/5

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

Gives explicit routing rules: 'Pass symptom names from search_symptoms, not a description', and a conditional workflow for the guide pointer ('mention it only if the person wants something to follow away from a screen, then call create_checkout with that product id'). Both the alternative tool and the follow-up tool are named with the condition that selects them.

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

search_symptomsSearch symptom namesA
Read-onlyIdempotent
Inspect

Resolve what a person describes into AcuiQ symptom names – the first step before search_protocols. Plain description works ("trouble sleeping", "my lower back hurts"): filler words are stripped and the search retries on the clinical words, reporting which term matched. Set popular=true for trending symptoms instead. Always returns an object with a symptoms array, empty when nothing matched. When the symptom is covered by a $5 mini-guide, the result carries a guide pointer – mention it only if the person wants something to follow away from a screen, then call create_checkout with that product id.

NameRequiredDescriptionDefault
limitNoMax results (default 12, max 50)
queryNoWhat the person is describing – a symptom name or a plain description (e.g. "knee pain", "I cannot sleep at night")
popularNoSet to true to get trending symptoms instead of searching

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly, idempotent, closed-world), leaving the description to disclose the interesting behavior: filler words are stripped, the search retries on clinical words, the matched term is reported, and the result always contains a `symptoms` array that is empty on no match. The `guide` pointer and its create_checkout handoff are extra operational context not derivable from annotations.

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

Conciseness4/5

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

Four sentences, each carrying distinct load: purpose, query handling, popular mode, and return/routing behavior. The purpose and the sibling reference are front-loaded; the closing create_checkout sentence is the least essential but still guides agent behavior.

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

Completeness5/5

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 shape (`symptoms` array, empty on no match, optional `guide` pointer) and the follow-up action. Combined with full schema coverage, an agent has everything needed to call and use the tool.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description goes further by explaining how `query` is actually interpreted (plain phrasing accepted, filler stripped, retried on clinical terms) and reconfirms the `popular=true` switch as an alternative mode rather than a search filter. Only `limit` receives no added meaning.

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

Purpose5/5

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

The description gives a specific verb and resource ('Resolve what a person describes into AcuiQ symptom names') and explicitly positions the tool relative to siblings by calling itself 'the first step before search_protocols'. An agent can distinguish it from get_symptom_detail or search_protocols 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.

Usage Guidelines5/5

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

It names the when ('first step before search_protocols'), the alternative path ('Set popular=true for trending symptoms instead'), and a downstream routing rule ('mention it only if the person wants something to follow away from a screen, then call create_checkout with that `product` id'). When-to-use and when-not-to-use are both explicit.

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

search_wikiSearch the wikiA
Read-onlyIdempotent
Inspect

Keyword search across the AcuiQ reference wiki: the first call when you know what you are looking for but not where it lives. Matches titles and body prose, ranked in four tiers: titles starting with the term, titles containing it, literal body hits, then English full-text hits by relevance, which stem words and drop stopwords. Not semantic: one distinctive word beats a sentence. Each row carries a path, its size in chars and a snippet windowed on the match. Feed the paths to get_pages in one call rather than looping get_page. Narrow with tagPath when a term is common. Defaults: page 1, pageSize 20 (max 50); keep paging while hasMore is true.

NameRequiredDescriptionDefault
pageNo1-based page number (default 1)
queryYesSearch term, matched against page titles and body text
tagPathNoOnly pages at this tag path, e.g. a path from get_categories
pageSizeNoResults per page (default 20, max 50)

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent, but the description adds substantial context beyond them: the exact four-tier ranking order, stemming and stopword handling, and the shape of each result row (path, chars, snippet windowed on the match). Paging behavior (defaults, pageSize max, keep paging while hasMore) is disclosed.

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

Conciseness5/5

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

Front-loaded with the purpose, then ranking rules, then result shape, then follow-up and parameters. Dense but every sentence carries actionable information; no rhetorical filler.

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

Completeness5/5

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

No output schema exists, but the description describes the result row fields and the paging signal (hasMore). Combined with annotations covering safety and a fully documented schema, an agent has everything needed to invoke, page, and hand off to get_pages.

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

Parameters4/5

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 goes beyond it by explaining the practical role of tagPath (narrowing a common term) and by restating the paging defaults and the hasMore continuation rule in context.

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

Purpose5/5

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

States a specific verb and resource ('keyword search across the AcuiQ reference wiki') and immediately scopes the match behavior (titles and body prose), distinguishing it from get_page/get_pages and the search_protocols/search_symptoms siblings.

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

Usage Guidelines5/5

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

Explicitly names when to use it ('first call when you know what you are looking for but not where it lives'), when to narrow ('use tagPath when a term is common'), and the follow-up workflow ('feed the paths to get_pages in one call rather than looping get_page'). It also gives a negative guideline: not semantic, so one distinctive word beats a sentence.

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

send_feedbackSend feedbackAInspect

Tell the maintainers of AcuiQ what you needed and did not find, what is wrong, or what broke. One issue per call, in 300 characters at most. Reports are read, not published.

NameRequiredDescriptionDefault
kindYesmissing: not covered here. wrong: a fact or link is out of date or false. broken: a tool or page failed. suggestion: anything else.
pageNoThe page path, URL or tool it is about, if any
messageYesWhat you were after, or what is wrong and what it should say. 300 characters at most.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as a non-readonly, non-destructive write, so the bar is lower. The description adds real context beyond them: a hard 300-character cap and the fact that "Reports are read, not published," which reassures the agent the submission is private. It does not mention whether duplicate submissions are deduplicated or what the call returns.

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

Conciseness5/5

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

Two short sentences with zero filler; the purpose leads and the constraints (one issue per call, 300 characters, not published) follow immediately. Every clause earns its place.

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 a three-parameter submission tool with full schema coverage and no output schema, the description covers purpose, limits and audience. The only gap is what the agent gets back after sending, which is minor for a fire-and-forget feedback call.

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%, including a fully documented enum for kind, so the schema carries the parameter burden. The description's 300-character limit restates what the message property already says, adding little. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb (tell the maintainers), a specific resource (feedback about AcuiQ), and enumerates the cases it covers: missing content, wrong content, breakage. All siblings are read-only lookup tools, so there is no plausible confusion about which tool to pick for this action.

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

Usage Guidelines4/5

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

"what you needed and did not find, what is wrong, or what broke" maps cleanly onto the kind enum and tells the agent when this tool applies. "One issue per call" gives batching guidance. It stops short of explicit exclusions or naming an alternative channel, so not a 5.

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. 1 tool update
    • Changedget_full_corpus1 field changed
      • changedInput schema / properties / maxChars / description
        Previous value: -"Character budget for `document` (default 200000, max 1000000)"New value: +"Character budget for `document` (default 100000, max 1000000)"
  2. 1 tool update
    • Addedsend_feedback
  3. 9 tool updates
    • Addedget_categories
    • Addedget_full_corpus
    • Addedget_page
    • Addedget_page_history
    • Addedget_pages
    • Addedget_recent_changes
    • Removedget_wiki_page
    • Addedlist_pages
    • Changedsearch_wiki4 fields changed
      • removedInput schema / properties / page / maximum
        Removed value: -1000
      • changedInput schema / properties / pageSize / description
        Previous value: -"Results per page (default 10, max 50)"New value: +"Results per page (default 20, max 50)"
      • changedInput schema / properties / query / description
        Previous value: -"A keyword, phrase or question (e.g. \"cupping\", \"is acupuncture safe in pregnancy\")"New value: +"Search term, matched against page titles and body text"
      • addedInput schema / properties / tagPath
        Added value: +{
        +  "description": "Only pages at this tag path, e.g. a path from get_categories",
        +  "type": "string"
        +}
  4. 4 tool updates
    • Changedcreate_checkout4 fields changed
      • changedInput schema / properties / quantity / description
        Previous value: -"Number of boxes (physical products only, default 1)"New value: +"Number of boxes (physical products only, default 1, max 20)"
      • addedInput schema / properties / quantity / maximum
        Added value: +20
      • addedInput schema / properties / quantity / minimum
        Added value: +1
      • addedInput schema / properties / source
        Added value: +{
        +  "description": "Optional: the acuiq.com page the purchase follows from, as a path or URL – the symptom or point page whose `guide` pointer you are acting on. Attributes the sale to that page. Never personal data.",
        +  "type": "string"
        +}
    • Changedsearch_protocols2 fields changed
      • addedInput schema / properties / limit / maximum
        Added value: +50
      • addedInput schema / properties / limit / minimum
        Added value: +1
    • Changedsearch_symptoms2 fields changed
      • addedInput schema / properties / limit / maximum
        Added value: +50
      • addedInput schema / properties / limit / minimum
        Added value: +1
    • Changedsearch_wiki4 fields changed
      • addedInput schema / properties / page / maximum
        Added value: +1000
      • addedInput schema / properties / page / minimum
        Added value: +1
      • addedInput schema / properties / pageSize / maximum
        Added value: +50
      • addedInput schema / properties / pageSize / minimum
        Added value: +1
  5. 1 tool update
    • Addedsearch_wiki
  6. 1 tool update
    • Changedsearch_symptoms1 field changed
      • addedInput schema / requireOneOf
        Added value: +[
        +  "query",
        +  "popular"
        +]
  7. 1 tool update
    • Changedcreate_checkout2 fields changed
      • changedInput schema / properties / product / description
        Previous value: -"Product to purchase. press-needles ($19.99/box, ships US); treatment-guide ($12.99 digital download, free updates for life); practitioner-edition ($39 digital download, free updates for life); point-reference ($29 digital download, free updates for life); atlas-charts ($14 digital download, free updates for life); corpus-licence ($999 digital download, free updates for life); mini-headache ($5 digital download, free updates for life); mini-back-neck ($5 digital download, free updates for life); mini-sleep-mood ($5 digital download, free updates for life); mini-digestion ($5 digital download, free updates for life); mini-ear-eye ($5 digital download, free updates for life); mini-skin-nerves ($5 digital download, free updates for life)"New value: +"Product to purchase. press-needles ($19.99/box, ships US); treatment-guide ($12.99 digital download, free updates for life); practitioner-edition ($39 digital download, free updates for life); point-reference ($29 digital download, free updates for life); atlas-charts ($14 digital download, free updates for life); corpus-licence ($999 digital download, free updates for life); mini-headache ($5 digital download, free updates for life); mini-back ($5 digital download, free updates for life); mini-neck-joints ($5 digital download, free updates for life); mini-sleep-mood ($5 digital download, free updates for life); mini-digestion ($5 digital download, free updates for life); mini-ear-eye ($5 digital download, free updates for life); mini-skin-nerves ($5 digital download, free updates for life); mini-womens ($5 digital download, free updates for life); mini-heart ($5 digital download, free updates for life); mini-urinary ($5 digital download, free updates for life)"
      • changedInput schema / properties / product / enum
        Previous value: -[
        -  "press-needles",
        -  "treatment-guide",
        -  "practitioner-edition",
        -  "point-reference",
        -  "atlas-charts",
        -  "corpus-licence",
        -  "mini-headache",
        -  "mini-back-neck",
        -  "mini-sleep-mood",
        -  "mini-digestion",
        -  "mini-ear-eye",
        -  "mini-skin-nerves"
        -]New value: +[
        +  "press-needles",
        +  "treatment-guide",
        +  "practitioner-edition",
        +  "point-reference",
        +  "atlas-charts",
        +  "corpus-licence",
        +  "mini-headache",
        +  "mini-back",
        +  "mini-neck-joints",
        +  "mini-sleep-mood",
        +  "mini-digestion",
        +  "mini-ear-eye",
        +  "mini-skin-nerves",
        +  "mini-womens",
        +  "mini-heart",
        +  "mini-urinary"
        +]
  8. 2 tool updates
    • Changedcreate_checkout1 field changed
      • changedInput schema / properties / product / description
        Previous value: -"Product to purchase. press-needles ($19.99/box, ships US); treatment-guide ($12.99 digital download, free updates for life); practitioner-edition ($39 digital download, free updates for life); point-reference ($29 digital download, free updates for life); atlas-charts ($14 digital download, free updates for life); corpus-licence ($199 digital download, free updates for life); mini-headache ($5 digital download, free updates for life); mini-back-neck ($5 digital download, free updates for life); mini-sleep-mood ($5 digital download, free updates for life); mini-digestion ($5 digital download, free updates for life); mini-ear-eye ($5 digital download, free updates for life); mini-skin-nerves ($5 digital download, free updates for life)"New value: +"Product to purchase. press-needles ($19.99/box, ships US); treatment-guide ($12.99 digital download, free updates for life); practitioner-edition ($39 digital download, free updates for life); point-reference ($29 digital download, free updates for life); atlas-charts ($14 digital download, free updates for life); corpus-licence ($999 digital download, free updates for life); mini-headache ($5 digital download, free updates for life); mini-back-neck ($5 digital download, free updates for life); mini-sleep-mood ($5 digital download, free updates for life); mini-digestion ($5 digital download, free updates for life); mini-ear-eye ($5 digital download, free updates for life); mini-skin-nerves ($5 digital download, free updates for life)"
    • Changedsearch_symptoms1 field changed
      • changedInput schema / properties / query / description
        Previous value: -"What the person is describing — a symptom name or a plain description (e.g. \"knee pain\", \"I cannot sleep at night\")"New value: +"What the person is describing – a symptom name or a plain description (e.g. \"knee pain\", \"I cannot sleep at night\")"
  9. 1 tool update
    • Changedcreate_checkout3 fields changed
      • changedInput schema / properties / product / description
        Previous value: -"Product to purchase: press-needles ($19.99/box) or treatment-guide ($12.99 digital download)"New value: +"Product to purchase. press-needles ($19.99/box, ships US); treatment-guide ($12.99 digital download, free updates for life); practitioner-edition ($39 digital download, free updates for life); point-reference ($29 digital download, free updates for life); atlas-charts ($14 digital download, free updates for life); corpus-licence ($199 digital download, free updates for life); mini-headache ($5 digital download, free updates for life); mini-back-neck ($5 digital download, free updates for life); mini-sleep-mood ($5 digital download, free updates for life); mini-digestion ($5 digital download, free updates for life); mini-ear-eye ($5 digital download, free updates for life); mini-skin-nerves ($5 digital download, free updates for life)"
      • changedInput schema / properties / product / enum
        Previous value: -[
        -  "press-needles",
        -  "treatment-guide"
        -]New value: +[
        +  "press-needles",
        +  "treatment-guide",
        +  "practitioner-edition",
        +  "point-reference",
        +  "atlas-charts",
        +  "corpus-licence",
        +  "mini-headache",
        +  "mini-back-neck",
        +  "mini-sleep-mood",
        +  "mini-digestion",
        +  "mini-ear-eye",
        +  "mini-skin-nerves"
        +]
      • changedInput schema / properties / quantity / description
        Previous value: -"Number of boxes (press-needles only, default 1)"New value: +"Number of boxes (physical products only, default 1)"

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    8-axis integrative wellness MCP server: TCM constitution analysis, evidence-graded health signals, wellness knowledge search (6,207 herbs). L1/L2 tools public-safe, L3 personalized opt-in.
    6
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server exposing a medical knowledge graph (289 Western drugs, 204 TCM drugs, diseases, symptoms) as MCP tools. Enables AI agents to search drugs, check drug compatibility, and query symptoms-to-medication recommendations locally.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for querying a cross-referenced directory of evidence-based therapies and interventions, enabling search by query, tier, problem, population, modality, and registry.
    1
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources