Skip to main content
Glama
aygp-dr

liquidus-005

by aygp-dr

liquidus-005 — MCP server

spec python mcp f5 role

Consumes: aygp-dr/liquidus tag v1.3.

Language: Python (mcp SDK).

What lives here

  • src/liquidus_mcp/provenance.py — F5 governance-tuple wrapping.

  • src/liquidus_mcp/sdk.py — httpx client (v1.2 bearer-tri-state, v1.3 hand-authored-SDK).

  • src/liquidus_mcp/server.py — MCP stdio server, 4 tools + wrapping.

  • tests/test_provenance.py — F5 shape assertions (unit level).

  • FEEDBACK.md — clarity report against v1.3.

Related MCP server: agent-services-mcp

Quick start

gmake install
gmake test           # F5 shape unit tests
gmake run            # server on stdio — use from an MCP client

Load-bearing finding

Wrap is NOT idempotent — nested wrapping is intentional (composable provenance). Spec v1.4 should say so explicitly. See FEEDBACK.md §1.1.

Available Tools

4 tools
get_orderB

post-order: retrieve an order by number (with order-token for guest checkout)

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYes
order_tokenNo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the burden of disclosing behavioral traits. It only states the action (retrieve), implying a read operation, but does not confirm idempotency, error handling, or what happens if the order is not found.

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

Conciseness3/5

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

The description is very short, but the prefix 'post-order:' is unclear and may be confusing. It would be better without it. The core message is concise but could be structured more clearly.

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

Completeness2/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 should explain what is returned (e.g., order details). It does not cover this, nor does it address common error scenarios. The description is too minimal for a tool with two parameters and no output definition.

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 description adds meaning to both parameters: 'number' is the order number, and 'order_token' is for guest checkout. Since the schema has 0% description coverage, this compensates well. However, it does not specify the format or that order_token is optional.

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 action (retrieve an order), the resource (order), and the key identifier (by number). It also distinguishes from sibling tools that deal with products and taxonomies. The mention of 'guest checkout' adds specificity.

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 gives a hint about when to use the order_token parameter (guest checkout), but it does not provide explicit guidance on when to use this tool versus alternatives like get_product. No exclusions or when-not-to-use are mentioned.

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

get_productC

browse: retrieve a product by id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as idempotency, authentication needs, or error handling, placing full burden on the description.

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 extremely concise (one phrase) and front-loaded, but it may be too brief to be useful.

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

Completeness2/5

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

For a simple get-by-ID tool, the description lacks details about return format, error cases, or id format, leaving the agent underinformed.

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

Parameters2/5

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

With 0% schema coverage, the description adds no meaning beyond the schema: it just says 'by id' without explaining format constraints or examples.

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 to retrieve a product by id, distinguishing it from sibling tools like list_products which returns multiple products, and get_order which works on orders.

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

Usage Guidelines2/5

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

No usage guidelines are provided; it does not specify when to use this tool over alternatives or any prerequisites.

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

list_productsC

browse: list products from the storefront catalog

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
queryNo
per_pageNo

TDQS

C2.7/5.0
Behavior1/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only says 'list products' without mentioning pagination behavior, rate limits, auth requirements, or whether it's a read-only operation.

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

Conciseness3/5

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

The description is very short (one sentence) but includes a redundant 'browse:' prefix. It is not verbose, but could be more informative without adding length.

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

Completeness2/5

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

Given 3 parameters and no output schema or annotations, the description lacks details on return values, ordering, max per_page, and what 'query' filters. A more complete description would include these details.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must add meaning to parameters. It does not describe what 'query' searches, what default pagination is, or any constraints like max per_page. Only parameter names are self-explanatory.

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 clearly states the action ('list products') and scope ('from the storefront catalog'). It distinguishes from sibling tools like get_order, get_product, and list_taxonomies which have different purposes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. No mention of when not to use it or context-specific scenarios.

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

list_taxonomiesC

browse: list taxonomies

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.4/5.0
Behavior1/5

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

No annotations provided, so description must disclose behavioral traits. It only says 'browse: list taxonomies' with no mention of read-only nature, pagination, or effects.

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

Conciseness2/5

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

Extremely short but under-specified. The phrase 'browse:' is filler and not helpful. Not structured informatively.

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

Completeness2/5

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

With no output schema, description should hint at return value or structure. It does not, leaving significant gaps for a list operation.

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?

No parameters exist, so schema coverage is 100%. The description does not need to add parameter details, but it adds no marginal value.

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

Purpose3/5

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

The description states the action 'list' and resource 'taxonomies', but is very terse and does not differentiate from siblings beyond the resource name. 'browse:' prefix is ambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like list_products, get_order, etc. No context about filtering or prerequisites.

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. 4 tool updatesv0.1.0
    • First observedget_order
    • First observedget_product
    • First observedlist_products
    • First observedlist_taxonomies

TDQS

B3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct resource (order, product, products, taxonomies) with no overlap. The operations are clearly differentiated: single retrieval vs. listing.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: get_ for single entities and list_ for collections. The naming is predictable and uniform.

Tool Count3/5

With 4 tools, the server is minimally scoped. While it could be sufficient for a read-only browsing service, it feels thin for a typical e-commerce server and may leave agents wanting more functionality.

Completeness2/5

The server covers only retrieval operations for products, orders, and taxonomies. Missing common actions like listing orders, creating or updating products, or managing carts, which are significant gaps for a storefront API.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers