Skip to main content
Glama

AcuiQ

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: create_checkout handles payments, get_meridians lists reference data, search_symptoms finds symptom names, get_symptom_detail fetches a specific symptom's details, and search_protocols retrieves treatment protocols. No two tools overlap in function or confuse the agent.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: create_checkout, get_meridians, get_symptom_detail, search_protocols, search_symptoms. The verbs are clear (create, get, search) and nouns accurately describe the resource, making the set predictable.

Tool Count5/5

With 5 tools, the server is well-scoped for its purpose: discover symptoms, search protocols, retrieve reference data, and handle checkout. Each tool earns its place and the count is within the ideal range.

Completeness4/5

The core workflow of searching and viewing symptoms, protocols, and meridian data is well covered. A minor gap is the lack of a direct 'get protocol by ID' tool, but search_protocols returns sufficient detail, so agents can work around it.

Available Tools

5 tools
create_checkoutAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
productYesProduct to purchase: press-needles ($19.99/box) or treatment-guide ($12.99 digital download)
quantityNoNumber of boxes (press-needles only, default 1)
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that this is a mutating action (creates a session), returns a URL, and critically states that the agent never touches payment data. This adds behavioral context beyond the mere operation. It does not mention session expiration or idempotency, but the key safety constraint is communicated.

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 sentences, front-loaded with the core purpose. The second sentence adds actionable guidance and a critical safety note. Every word earns its place; no redundancy.

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 tool with only two parameters and no output schema, the description is complete. It states what is created, what is returned (URL), and what the agent should do with it. The schema covers the parameter details, so no additional context is needed.

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%: both parameters are fully described in the schema, including the enum values and the meaning of quantity. The description adds no additional parameter nuances, so the baseline score of 3 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?

The description gives a specific verb ('Create'), a specific resource ('a Stripe Checkout session for an AcuiQ product'), and the return value ('return its URL'). This clearly distinguishes it from the sibling tools, which are all information-retrieval tools (get_meridians, search_protocols, etc.).

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 implies the primary use case (purchase an AcuiQ product) and provides explicit instruction to give the URL to the human, indicating the workflow context. However, it does not explicitly state 'when to use' or contrast with alternatives; siblings are unrelated, so exclusions are unnecessary. Clear context, no exclusions.

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

get_meridiansAInspect

List all 14 Traditional Chinese Medicine meridians with descriptions, five-element associations, and acupoint counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the burden of disclosure. It explicitly indicates a read-only operation via 'List', states the complete scope ('all 14'), and enumerates the returned data fields. This adequately communicates behavior for a simple list tool, though it does not mention any caveats (e.g., authentication, which are likely unnecessary).

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 a single sentence that front-loads the main action and resource. It is concise, complete, and contains no filler or redundant 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?

Given the tool's simplicity (no parameters, simple list), the description fully covers what is returned and the scope. Since there is no output schema, the description compensates by listing the data fields. No additional context is necessary for a 0-parameter list 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?

The tool has zero parameters, so the input schema provides no semantic information. The baseline for 0 parameters is 4, and the description adds no parameter-related meaning but is not required to, as there is nothing to describe.

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 starts with a specific verb 'List', identifies the exact resource ('all 14 Traditional Chinese Medicine meridians'), and details what is included (descriptions, five-element associations, acupoint counts). This clearly distinguishes it from sibling tools such as get_symptom_detail or search_protocols.

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 usage for retrieving meridian data, but it does not explicitly state when to use this tool over alternatives or mention any exclusions. However, the resource is distinct from siblings, so the intended context is inferable.

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

get_symptom_detailAInspect

Get details for a specific symptom: canonical name, protocol count, page URL and its markdown twin.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSymptom name (e.g. "headache")
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It lists the return fields but omits crucial details like what happens if the symptom is not found, whether the operation is read-only (implied by 'get' but not stated), or any authentication/error considerations. The description primarily restates the purpose without adding behavioral context beyond the return fields.

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 a single, front-loaded sentence with no redundant words. It efficiently conveys the verb, resource, and scope in a clear structure. Every word adds value.

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?

As a simple get-by-name tool with one parameter and no output schema, the description adequately lists the four return fields. However, it does not specify behavior for missing symptoms or clarify the 'markdown twin' terminology. Given the tool's simplicity, this is mostly sufficient but has minor gaps.

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 parameter 'name' is already well-documented with an example. The description adds no additional parameter semantics beyond restating that the symptom is specific. Since the schema covers everything, the baseline of 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?

The description uses the specific verb 'Get' and resource 'details for a specific symptom', clearly distinguishing it from sibling tools like search_symptoms which are for discovery. It also enumerates the exact details returned (canonical name, protocol count, page URL, markdown twin), making the purpose unambiguous.

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 implies when to use this tool: when you already have a symptom name and need details about it. It does not explicitly mention alternatives or exclusions, but the context is clear from the tool name and the contrast with search_symptoms. No explicit guidance is given, yet the intended usage is evident.

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

search_protocolsAInspect

Find acupuncture treatment protocols matching given symptoms — the same ranked pipeline behind GET /api/protocols. Each match carries acupoints, dosage, and provenance (sourceKind, source, caveat); directMatches lists indicated points when no protocol covers the query.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNoPatient age for demographic filtering
sexNoPatient sex for demographic filtering
symptomsYesComma-separated symptom names, max 10 (e.g. "headache,neck pain")
Behavior4/5

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

With no annotations, the description carries the transparency burden and delivers well. It discloses the output structure: 'Each match carries acupoints, dosage, and provenance (sourceKind, source, caveat)' and the fallback behavior via 'directMatches lists indicated points when no protocol covers the query'. It also mentions the ranking pipeline, which is a useful behavioral trait. It lacks details on error handling or rate limits, but for a read-only search tool, this is sufficient.

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: the main purpose is the first phrase, and the second sentence adds useful output detail without redundancy. Every clause contributes value, with no filler or repetition.

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 search tool with 3 parameters and no output schema, the description convincingly explains what the caller will receive (protocols with acupoints, dosage, provenance) and the directMatches fallback. It does not mention pagination or maximum result counts, but given the tool is a direct API mirror, the provided context is largely complete. The lack of explicit alternatives among siblings slightly limits completeness, but the overall picture is solid.

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 input schema provides 100% coverage of parameter descriptions, including examples and constraints for symptoms (max 10, comma-separated) and clear definitions for age and sex. The tool description adds no additional parameter semantics beyond what the schema already states, 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.

Purpose5/5

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

The description clearly states the tool's function: 'Find acupuncture treatment protocols matching given symptoms' with a specific verb and resource. It distinguishes itself from siblings by focusing on protocols and referencing the 'ranked pipeline behind GET /api/protocols', which sets expectations and avoids confusion with symptom or meridian tools.

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 clearly implies when to use this tool: when you need treatment protocols for given symptoms. It does not explicitly mention alternatives like search_symptoms or get_meridians, but the wording 'matching given symptoms' and the focus on protocols provide clear context for selection. The absence of explicit exclusions prevents a perfect score, but the intent is unmistakable.

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

search_symptomsAInspect

Fuzzy-search acupuncture symptom names across 7,000+ conditions. Returns matching symptoms with page URLs. Set popular=true for the top trending symptoms instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 12, max 50)
queryNoPartial symptom name (e.g. "head", "knee pain")
popularNoSet to true to get trending symptoms instead of searching
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the fuzzy-search behavior, the return type (symptoms with page URLs), and the popular-mode toggle. This is reasonably transparent for a read-only search tool, though it omits details like ordering or pagination.

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 sentences, front-loaded with purpose, free of filler. Every word contributes: scope, return value, and mode switch are all covered efficiently.

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?

The tool is simple with 3 optional params and no output schema. The description adequately explains what the tool does and returns. A slight gap exists: it does not clarify behavior when query is omitted (aside from popular=true), but overall it is sufficient for a straightforward search tool.

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%, with parameter descriptions already explaining query, limit, and popular. The description adds minimal extra meaning ('fuzzy-search' clarifies query behavior, and popular=true is restated). It stays at the baseline, providing no significant added value 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?

Description uses a specific verb ('Fuzzy-search') with a clear resource ('acupuncture symptom names') and scope ('across 7,000+ conditions'). It also states the return value ('matching symptoms with page URLs'), distinguishing it from siblings like search_protocols and get_symptom_detail.

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 context is clearly implied: this is the tool for searching symptom names. It mentions an internal alternative mode (popular=true), but does not explicitly contrast with sibling tools or state when to prefer this over search_protocols or get_symptom_detail. No exclusions or 'when not to use' guidance is provided.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources