Skip to main content
Glama

FastPospal

银豹 PosPal Python SDK 与 MCP Server

FastPospal 是一个面向 银豹 PosPal Web 后台 的 Python SDK 与 MCP Server,为开发者和 AI Agent 提供商品、会员、库存、货流、单据等业务能力的统一自动化接口。

声明

  • 本项目为社区维护项目,与银豹官方不存在任何关联。

  • 请仅在拥有合法授权的账号和门店中使用。

  • 本项目旨在提高自动化集成效率,不提供任何绕过认证或破解系统的能力。

  • 如官方开放平台能够满足业务需求,建议优先使用官方接口。


✨ 特性

  • Python SDK

  • FastMCP Server(STDIO / HTTP)

  • 商品、分类、会员 CRUD

  • 库存、货流、单据查询

  • Cursor / Claude Desktop 开箱即用

  • uv 管理依赖

  • Docker、systemd、Nginx 部署支持


Related MCP server: PyerP MCP Server

为什么选择 FastPospal?

银豹官方开放平台覆盖能力有限,而 Web 后台拥有更丰富的业务接口。

FastPospal 对这些能力进行了统一封装:

  • Python 程序可直接调用

  • AI Agent 可通过 MCP 自动调用

  • 后续可扩展 CLI、REST API 等能力

MCP 只是接口形式,Python SDK 才是核心能力。


快速开始

安装 uv

brew install uv

安装依赖

uv sync

配置账号

cp .env.example .env

填写:

POSPAL_ACCOUNT=your_account
POSPAL_PASSWORD=your_password

启动 MCP

默认暴露精简工具集(42 个)。需要原始层重叠查询时设置:

export POSPAL_MCP_PROFILE=advanced   # 额外暴露 login / business_summary 等

STDIO:

uv run fastmcp run server.py:mcp

HTTP:

uv run fastmcp run server.py:mcp --transport http --port 8000

Python SDK 示例

from fastpospal.client import PospalClient
from fastpospal.service import PospalService

client = PospalClient(account, password)
client.login()

svc = PospalService(client)

print(svc.product_summary())

MCP 使用示例

在 Cursor 或 Claude Desktop 中:

查询今天商品总数

搜索条码 6901234567890

创建一个测试商品

Agent 将自动调用对应 MCP 工具。


远程 HTTP 部署(Nginx + Docker)

适用于 OPC Feed、Cursor 等通过 HTTPS 远程连接 MCP。

  1. 配置 .envPOSPAL_*MCP_AUTH_TOKEN,以及公网域名白名单:

    FASTMCP_HTTP_ALLOWED_HOSTS=["your-domain.com"]

    经 Nginx 反代时 必须 设置,否则 Bearer 鉴权通过后 FastMCP 会因 Host 校验返回 421 Misdirected Request

  2. 启动容器:docker compose -f deploy/docker-compose.prod.yml up -d

  3. Nginx 反代 不要用尾斜杠/pospal/mcp 而非 /pospal/mcp/),否则 FastMCP 会 307 到错误路径。萌萌书店示例见 deploy/nginx-mmsd-pospal-mcp.conf

  4. 客户端 MCP URL 与 Nginx location 保持一致,例如 https://mmsd.site/pospal/mcp

发布到生产(GitHub Actions)

主路径:push 到 main 后,在 haqyd self-hosted runner 上自动 patch bump → 构建镜像 → SSH docker load覆盖服务器 .env → compose 重启(避免 GitHub 托管 runner 跨国传镜像过慢)。

首次或密钥变更时,在本机同步 Secrets(需已 gh auth login):

# .env 中需有 POSPAL_*、MCP_AUTH_TOKEN、DEPLOY_HOST(及可选 DEPLOY_USER)
# SSH 私钥默认读 ~/.ssh/id_rsa,可用 DEPLOY_SSH_KEY_FILE 覆盖
bash scripts/sync-gh-secrets.sh

之后:

git push origin main

在仓库 Actions 查看 Deploy workflow。手动补跑:Actions → Deploy → Run workflow。

紧急本机发布(不走 CI):bash deploy/push-image.sh(本机脚本不会覆盖服务器 .env)。


架构

AI Agent
(Cursor / Claude)

        │

        ▼

 FastPospal MCP

        │

 FastPospal SDK

        │

 PosPal Web

Roadmap

  • 登录与会话管理

  • 商品管理

  • 分类管理

  • 会员管理

  • 库存查询

  • HTTP MCP

  • CLI

  • PyPI 发布

  • 自动化测试

  • 官方 OpenAPI 适配


参与贡献

提交 Issue 时可选择 Bug 报告功能建议 模板。


License

MIT

Available Tools

28 tools
pospal_create_categoryA

【写】创建商品分类。parent_name 为空则创建顶级分类。

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
parent_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

The description indicates a write operation via the '【写】' prefix but lacks details on idempotency, existence checks, permissions, or side effects. With no annotations, the description should disclose more behavioral traits.

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 extremely concise with no wasted words. It front-loads the core action and then explains the parameter behavior, making it easy to parse.

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 the tool's simplicity and the presence of an output schema, the description covers the essential behavior. However, it could mention return value structure or error handling for completeness.

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 0%, so the description must compensate. It adds meaning for parent_name (empty creates top-level) but provides no extra info for the required name parameter. Partial compensation.

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 verb '创建' (create) and resource '商品分类' (product category), and explains the behavior of the parent_name parameter. It distinguishes from sibling tools like list, update, and delete by specifying creation.

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 (to create a category) but provides no explicit guidance on when not to use or comparison to alternatives like pospal_update_category. The note about parent_name offers some usage context.

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

pospal_create_customerC

【写】创建会员。number 为会员卡号(删除后不可复用)。

ParametersJSON Schema
NameRequiredDescriptionDefault
telNo
nameYes
numberYes
remarksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only mentions the non-reusability of the number field after deletion, but does not describe the creation process, side effects, permissions needed, or the response format. The existence of an output schema mitigates this slightly, but the description itself is insufficient.

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 concise with a single sentence and note. It is front-loaded with the action. However, it is under-specified, which reduces its effectiveness. It earns its place but could include more detail without becoming verbose.

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 the tool's complexity (4 parameters, creation with constraints) and the absence of annotations, the description is incomplete. It does not cover all parameters, lacks usage context, and does not leverage the output schema. The note about number reuse is helpful but not enough to satisfy completeness.

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

Parameters1/5

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

Schema description coverage is 0%, meaning no parameters are explained in the schema description. The description only adds semantic value for the 'number' parameter (not reusable after deletion). The other three parameters ('name', 'tel', 'remarks') receive no explanation. This is a significant gap.

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 the action ('Create member') and the resource, but does not explicitly differentiate from sibling tools like pospal_create_category or pospal_create_product. The notation '【写】' indicates a write operation, which helps. However, a slightly more explicit distinction would push it to 5.

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 provides one notable constraint: 'number is the membership card number (not reusable after deletion).' This guides usage regarding the number field. However, it lacks guidance on when to use this tool versus other customer-related tools (e.g., pospal_update_customer, pospal_delete_customer) or any prerequisites.

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

pospal_create_productC

【写】创建测试商品。barcode 为空则自动生成;category_uid 为空则用第一个分类。

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
barcodeNo
buy_priceNo5.00
sell_priceNo9.99
category_uidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description adds some behavioral context: it indicates that empty barcode and category_uid will be auto-populated (auto-generated barcode, first category). However, it does not disclose error handling, permissions, or side effects beyond mutation implied by '写'.

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 concise with two key clauses. It is front-loaded with the primary purpose. However, it uses informal language ('test product') and is only in Chinese, which may reduce clarity for mixed-language contexts.

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 the tool has 5 parameters, no annotations, and an output schema (which could explain return shape), the description lacks completeness. It does not mention required parameters beyond name, success conditions, or error states, leaving significant gaps for the agent.

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. It explains default behaviors for two parameters (barcode, category_uid) but leaves name, buy_price, and sell_price completely undescribed. This partial coverage is insufficient.

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 the tool creates a product (创建测试商品). It distinguishes from sibling tools like pospal_create_category and pospal_update_product by specifying the resource (product). However, the inclusion of 'test' may introduce ambiguity about production usage.

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?

The description provides no guidance on when to use this tool versus alternatives like pospal_update_product or pospal_delete_product. It only describes default behaviors for barcode and category_uid without usage context.

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

pospal_delete_categoriesB

【写】批量删除分类(category_uids 为 uid 字符串列表)。

ParametersJSON Schema
NameRequiredDescriptionDefault
category_uidsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It indicates mutation via '【写】' (write) and 'delete', but lacks details on destructiveness, irreversibility, permissions, or return value. For a delete operation, more context is needed.

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 a single sentence with a clear action indicator and parameter hint. It is concise but could be more structured (e.g., separating behavior from parameter explanation). The Chinese text is appropriate for the tool's audience.

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

Completeness3/5

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

The tool is simple with one parameter, and an output schema exists (not shown here). However, the description does not mention the outcome of the batch delete (e.g., success confirmation, count of deleted categories). Minimal but adequate for a straightforward delete action.

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?

The only parameter, category_uids, is described as 'uid 字符串列表' (list of uid strings), which merely restates the schema type. With 0% schema description coverage, the description does not add meaningful context like format or constraints (e.g., minimum length, uniqueness).

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 explicitly states the verb 'delete' and the resource 'categories', with 'batch' indicating multiple items. It distinguishes from siblings like pospal_delete_customer and pospal_delete_product by specifying the target resource.

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?

The description provides no guidance on when to use this tool vs alternatives such as pospal_list_categories for viewing or pospal_update_category for modification. No conditions or prerequisites are mentioned.

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

pospal_delete_customerB

【写】软删除会员(enable=-1,卡号不可复用)。

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description provides some behavioral context by stating it's a soft delete and that the card number becomes non-reusable. However, it lacks details on what happens to the customer data post-deletion (e.g., visibility, retrieval) and any side effects.

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

Conciseness4/5

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

The description is extremely concise at one sentence, conveying the core action and a key constraint. It is front-loaded and easy to parse, though it could be slightly more structured.

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

Completeness3/5

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

Given the simple single-parameter tool and existence of an output schema, the description covers the basic functionality. However, it omits details like the effect of multiple calls or how to undo the operation, leaving some gaps for a complete understanding.

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?

The single parameter 'number' is not explained in the description. While the description mentions card number non-reusability, it does not clarify if 'number' refers to the customer ID or card number. With 0% schema coverage, the description fails to compensate adequately.

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 it performs a soft delete on a customer (member) by setting enable=-1 and notes the card number becomes non-reusable. It effectively distinguishes from other customer-related tools like create or update.

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 such as updating the customer status or creating a new customer. The description does not mention prerequisites or scenarios where soft delete is appropriate.

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

pospal_delete_productA

【写】删除商品(不可恢复,仅测试账号使用)。

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/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 irrecoverability ('不可恢复'), a key behavioral trait for a delete operation. It does not mention required permissions, rate limits, or side effects like cascading deletes, but for a straightforward delete, the disclosure is minimally adequate.

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 that concisely conveys purpose, risk, and usage constraint. No wasted words; every part earns its place.

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

Completeness3/5

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

Given the tool's simplicity (one parameter, no annotations, output schema exists), the description covers the essential purpose and main risk. However, it lacks parameter explanation and output details. For a minimal viable description, it meets basic needs but leaves gaps that could lead to incorrect invocation.

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?

The schema has one parameter (product_id) with 0% description coverage, and the description adds no meaning to it. It only says 'delete product' without explaining what product_id is or how to obtain it. The description should compensate for the lack of schema documentation but fails to do so.

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 (delete product) and the resource (product). It adds crucial context that it's irrecoverable and for test accounts only, distinguishing it from sibling tools like update or create.

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 explicitly limits usage to test accounts ('仅测试账号使用'), providing a clear when-to-use condition. However, it does not mention when not to use it or suggest alternatives, but the constraint is sufficient for most scenarios.

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

pospal_find_customerB

按会员卡号/手机号查会员详情 JSON。

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 bears full burden. It only says 'returns member details JSON' but does not disclose what happens if the number is not found, authorization requirements, rate limits, or any side effects.

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

Conciseness4/5

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

The description is a single short sentence, front-loaded with the key action. However, it is in Chinese which may reduce clarity for non-Chinese agents, though still concise.

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

Completeness3/5

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

For a simple lookup with one parameter and an output schema (not shown), the description is minimal. It does not explain the structure of the return value or handle error cases, but the core action is covered.

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 has 0% description coverage for the parameter. The description adds that 'number' can be a membership card or phone number, which provides some context beyond the schema type string, but format or constraints are unspecified.

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 finds customer details by membership card number or phone number. It distinguishes from sibling tools that create, delete, update, or list customers by specifying the search criterion.

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

Usage Guidelines3/5

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

Usage is implied (search by number) but there is no guidance on when to use this vs. list_customers or get_customer_extras. No exclusions or alternatives mentioned.

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

pospal_find_product_by_barcodeB

按条码查商品详情。

ParametersJSON Schema
NameRequiredDescriptionDefault
barcodeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description only states it queries product details. It does not disclose any behavioral traits beyond the obvious read operation, such as potential rate limits or required permissions.

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 a single short sentence, which is concise. However, it is too minimal to fully cover the tool's purpose and hints.

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

Completeness3/5

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

Given the tool has only one parameter and an output schema, the description is minimally adequate but lacks detail to fully assist an agent in all scenarios. It could explain return value structure or common barcode formats.

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 coverage is 0%. The description merely repeats the parameter name 'barcode' without adding meaning about format or accepted values. It does not explain what the barcode represents or any constraints.

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 it queries product details by barcode. It is specific and distinguishes from sibling tools like pospal_get_product (likely by ID) and pospal_list_products.

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 when a barcode is available but does not specify when to use this tool versus alternatives. 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.

pospal_get_customer_extrasC

查会员附属信息:次卡、权益卡、购物卡、优惠券。

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.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 must fully disclose behavior. It only states it queries subsidiary info, but fails to mention any side effects, permissions needed, or what happens if the 'number' is invalid. With no annotations, this lack of detail is a significant gap.

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 a single short sentence with no redundancy. However, it lacks structure and omits critical details, so it is not efficiently informative.

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 the tool's simplicity (1 param, no schema descriptions), the description should at least explain the parameter and briefly note typical use. It fails to do so, leaving the agent without sufficient context to use it correctly.

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

Parameters1/5

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

The input schema has one parameter 'number' with 0% description coverage, and the tool description does not explain what 'number' refers to (e.g., customer ID, phone number). The description adds no meaning beyond the schema, making it useless for parameter understanding.

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 the verb '查' (query) and the resource '会员附属信息' (member subsidiary information), listing specific types. It distinguishes itself from sibling tools like 'pospal_find_customer' which retrieves basic customer info, while this focuses on extras. However, it does not explicitly mention the input parameter.

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 like 'pospal_find_customer' or 'pospal_list_customers'. No conditions or exclusions provided. The description is too brief to inform decision-making.

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

pospal_get_productC

按 productId 获取商品详情 JSON。

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description should disclose behavioral traits. It only states the action without indicating whether it is a read-only operation, any side effects, authentication requirements, or rate limits.

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 a single short sentence, which is concise and front-loaded with the essential action. However, it could include more detail without sacrificing brevity.

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

Completeness3/5

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

Given the output schema exists, the description adequately conveys the basic purpose. However, it lacks context about the tool's role among many siblings and does not explain what 'product details' includes.

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?

The input schema has 0% parameter description coverage, and the description does not add meaning to the product_id parameter (e.g., format, source, or constraints). It only restates the parameter's existence.

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 the action: getting product details by productId. However, it does not differentiate from sibling tools like pospal_find_product_by_barcode or pospal_list_products, which also retrieve product information.

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. The description does not specify when to use this tool versus other product retrieval tools, nor does it mention any prerequisites or context for invoking it.

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

pospal_list_categoriesA

获取商品分类树(JSON)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It only mentions the output format, not behavioral traits like idempotency, read-only nature, or side effects. However, for a simple zero-parameter retrieval, it is minimally adequate.

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. It contains no unnecessary words and effectively communicates the tool's purpose.

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 zero parameters and the existence of an output schema (which explains return values), the description is largely complete for a simple list operation. It could mention that the tree is hierarchical, but it's not critical.

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 schema coverage is 100%. The description adds no parameter-level detail, but none is needed. Baseline for 0 parameters is 4.

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 (获取, 'get'), the resource (商品分类树, 'product category tree'), and the output format (JSON). It distinguishes from sibling tools like pospal_create_category or pospal_delete_categories.

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. The description does not indicate when to use this tool versus alternatives, nor any prerequisites or context.

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

pospal_list_customersB

分页查会员列表。customer_type: 1=启用, 0=禁用, 2=过期。

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo
page_sizeNo
page_indexNo
customer_typeNo1

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description is the sole source of behavioral information. It explains paging and the customer_type filter, but omits details like default ordering, pagination behavior (e.g., total count), or performance implications. Minimal disclosure beyond parameter values.

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 with no fluff: first states purpose, second explains a key parameter. Front-loaded and efficient. Every word earns its place.

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?

Despite having an output schema, the description does not mention return structure (e.g., total count, fields). Pagination defaults are in schema but not explained. A list tool with 4 parameters and filtering requires more context to be fully complete.

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 compensate. Only customer_type is explained; keyword, page_size, and page_index are left to inference. This covers 1 of 4 parameters, insufficient for a tool with multiple parameters.

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 lists customers with pagination ('分页查会员列表'), directly indicating the verb and resource. It distinguishes itself from sibling tools like pospal_find_customer (single customer) and pospal_list_products (different entity), though not explicitly.

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 is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or comparison to other listing tools. The description only explains one parameter's meaning.

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

pospal_list_eshop_ordersC

分页查自营网单。

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo
end_timeYes
page_sizeNo
begin_timeYes
page_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only mentions pagination but omits details like read-only nature, rate limits, or what happens with empty results.

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?

Extremely concise (one short sentence), but lacks essential details. It is well-structured but incomplete.

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 the tool has 5 parameters with no schema descriptions, the description is too sparse. It lacks context for parameter usage and behavioral specifics beyond pagination.

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% and the description adds no parameter information. While parameter names are somewhat self-explanatory (e.g., begin_time), the description could clarify 'keyword' and expected formats.

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 'Paginated query of self-operated online orders' clearly states the verb (query), resource (orders), and scope (self-operated online). It distinguishes from siblings as no other order-listing tool exists.

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 or any prerequisites. The description does not mention limitations or exclusions.

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

pospal_list_product_purchasesC

分页查采购单。

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo
end_timeYes
page_sizeNo
begin_timeYes
page_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior1/5

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

The description provides no behavioral disclosure beyond the basic action. Since no annotations are provided, the description carries full burden for transparency. It fails to indicate whether this is a read-only operation, any side effects, required permissions, or response characteristics.

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 extremely concise at one sentence, which is good for conciseness, but it sacrifices necessary detail. It is front-loaded but lacks structure to convey useful context.

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

Completeness1/5

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

Given 5 parameters, 2 required, and 0% schema coverage, the description is severely incomplete. It does not explain date range filtering, pagination behavior, or what information is returned. The existence of an output schema does not excuse the lack of context.

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

Parameters1/5

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

The description mentions no parameters and provides no meaning beyond the schema. With 0% schema description coverage, the description should compensate but does not. The five parameters remain completely undocumented in natural language.

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 states it lists purchase orders with pagination, which clearly identifies the verb and resource. There is no sibling tool with 'purchase' in name, so it is sufficiently distinctive. However, it lacks detail about what constitutes a purchase order in this context.

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 is provided on when to use this tool versus alternatives, nor any prerequisites or limitations. The description simply says 'pagination query purchase orders' without any usage context.

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

pospal_list_productsC

分页查询商品列表(HTML 解析为结构化数据)。

ParametersJSON Schema
NameRequiredDescriptionDefault
enableNo1
keywordNo
page_sizeNo
page_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behaviors. It only notes HTML parsing into structured data but omits auth requirements, rate limits, error handling, or any side effects. The minimal text does not adequately inform the agent of behavioral nuances.

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 single-sentence description is concise but lacks structure. It does not front-load critical information or separate purpose from implementation detail. While not verbose, it sacrifices necessary detail for brevity.

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 4 parameters, no annotations, and an existing output schema, the description should explain parameter usage and behavior. It only covers pagination vaguely, leaving 'enable' and 'keyword' ambiguous. The output schema may document return values, but parameter ambiguity remains.

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%, yet the description adds no meaning for parameters like 'enable' or 'keyword'. The pagination parameters are implied by '分页', but the other two remain unexplained. The description fails to compensate for the lack of schema documentation.

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 the tool lists products with pagination ('分页查询商品列表'), distinguishing it from siblings like pospal_get_product (single product) or pospal_create_product. The mention of HTML parsing adds context but doesn't overshadow the core purpose.

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 (e.g., pospal_get_product for a single product). There are no instructions on prerequisites, filtering, or when not to use it.

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

pospal_list_stockC

分页查库存列表(全店商品库存汇总)。

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo
page_sizeNo
page_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits like read-only nature, authentication requirements, or rate limits. The term 'query' implies read-only but is not explicit.

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?

Single short sentence is concise but lacks necessary details. It front-loads the purpose but sacrifices completeness for brevity.

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 the presence of an output schema, return values are not needed, but the description fails to explain the keyword filter, pagination behavior, or scope (all stores vs. specific store). Inadequate for a complete agent understanding.

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

Parameters1/5

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

Schema coverage is 0% with no descriptions for keyword, page_size, page_index. The description adds no meaning beyond the schema; it only mentions pagination implicitly. The keyword parameter's purpose is unexplained.

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 it is a paginated query for stock list, summarizing all store product inventory. It distinguishes from sibling tools like list_products or stock_flows by focusing on inventory summary.

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 like pospal_list_products or pospal_list_stock_flows. Lacks context for optimal usage.

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

pospal_list_stock_flowsB

分页查货流单(进货/出库/调拨)列表。

ParametersJSON Schema
NameRequiredDescriptionDefault
end_timeYes
page_sizeNo
begin_timeYes
page_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description should reveal behavioral traits. It indicates pagination and types, but does not explicitly state that it is a read-only operation, data freshness, or potential rate limits. However, as a list tool, it is implicitly safe.

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 short sentence with no redundant words. It efficiently conveys the core purpose.

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

Completeness3/5

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

Given the tool has an output schema and is a paginated list, the description is partially adequate. It lacks parameter details and output explanation, but for agents familiar with the domain, it may be sufficient.

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 compensate, but it only mentions pagination broadly. It does not explain the required begin_time/end_time or optional page_size/page_index, leaving ambiguity about format or usage.

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 lists stock flow orders (进货/出库/调拨) with pagination. It distinguishes from siblings like pospal_list_stock (current stock) and other list tools by specifying the resource type.

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?

The description provides no guidance on when to use this tool vs alternatives. It does not mention prerequisites, exclusions, or comparison with similar tools like pospal_stock_change_history.

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

pospal_list_suppliersB

获取供应商下拉列表(JSON)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only mentions the output format (JSON) and the action (get dropdown list). It fails to disclose any behavioral traits like required permissions, rate limits, or side effects.

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

Conciseness4/5

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

The description is a single, clear sentence with no extraneous information. It is appropriately sized for a simple tool, though it could benefit from additional context without becoming verbose.

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 the tool's low complexity (no parameters, output schema exists) and the presence of sibling tools in similar domains, the description is sufficiently complete for basic use. It explains the resource and output format, which aligns with the output schema.

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 tool has zero parameters, so schema coverage is 100%. The description does not need to add param info, meeting the baseline expectation for a parameterless tool.

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 the action ('获取' meaning 'get'), resource ('供应商' meaning 'suppliers'), and format ('下拉列表(JSON)' meaning 'dropdown list (JSON)'). It is specific and distinct from sibling tools by resource name, though no explicit differentiation is provided.

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?

The description offers no guidance on when to use this tool versus its siblings, such as other list tools (e.g., pospal_list_categories, pospal_list_customers). No context on prerequisites or alternatives is given.

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

pospal_list_ticketsC

分页查销售单据。ticket_type: 0=有效, 1=作废, 4=退货, 2=会员, 3=批发。

ParametersJSON Schema
NameRequiredDescriptionDefault
snNo
end_timeYes
page_sizeNo
begin_timeYes
page_indexNo
ticket_typeNo0

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided. The description implies a read-only query ("查") but does not disclose behavioral traits like pagination behavior, data limits, or whether the tool has any side effects. Since annotations are absent, the description should provide more transparency.

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 extremely concise with two short sentences. The purpose is front-loaded, and the ticket_type mapping is immediately useful. No wasted words.

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?

Despite having an output schema, the description lacks details on required parameter formats (e.g., date/time format for begin_time/end_time), pagination limits, and default behavior. It is incomplete for a tool with 6 parameters.

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%, and only the ticket_type parameter gets explanation in the description. Parameters like sn, begin_time, end_time, page_size, page_index lack any semantic guidance. The description partially compensates for the low coverage but is insufficient.

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 states "分页查销售单据" meaning "pagination query sales tickets", which clearly identifies the verb (query/list) and resource (sales tickets). It distinguishes from sibling tools like pospal_list_products or pospal_list_orders, but does not explicitly contrast them. The ticket_type mapping 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 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 such as pospal_list_eshop_orders or pospal_list_categories. The description only explains the ticket_type parameter, omitting context about typical use cases or prerequisites.

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

pospal_loginA

强制重新登录银豹云后台,刷新会话 cookie。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

The description discloses that the tool forces re-login and refreshes session cookie, indicating a destructive action on the current session. However, it does not elaborate on side effects (e.g., invalidating existing tokens, requiring credentials) or behavior on failure. With no annotations, the description carries the transparency burden but provides only basic information.

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?

A single, concise sentence that immediately communicates the tool's action and purpose. No superfluous information.

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 the tool has no parameters, the description is largely complete. An output schema exists (not shown) so return value explanation is not required. However, the description could mention what the output (e.g., success status, new session token) indicates, but this is partially covered by the output schema.

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 accepts zero parameters, so schema coverage is 100%. The description does not need to add parameter meaning. Per guidelines, baseline for 0 params is 4. No additional param info is required.

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 explicitly states the action (强制重新登录, force re-login) and the target resource (银豹云后台, Yinyao cloud backend; 刷新会话 cookie, refresh session cookie). It clearly distinguishes from sibling tools like pospal_openapi_status and pospal_session_info by focusing on re-authentication.

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 refreshing session cookies, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., pospal_openapi_status for checking session validity). No exclusions or prerequisites are mentioned.

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

pospal_openapi_statusB

检查银豹官方开放平台 appId/appKey 是否已配置。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must fully explain behavior. It only states the basic action without disclosing side effects, authentication needs, or what happens if configuration is missing. This is insufficient for a configuration check tool.

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, compact sentence with no extraneous information. It is efficiently front-loaded and earns its place.

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

Completeness3/5

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

Given no parameters, the simple purpose might seem complete, but the presence of an output schema (not detailed) and lack of annotations mean the agent lacks context on return format or implications. A slightly more descriptive sentence would improve completeness.

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?

With zero parameters and 100% schema description coverage (vacuously), the description does not need to add parameter info. The baseline of 4 applies because no additional meaning is required, though the description adds no value beyond the schema.

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 the verb 'check' and resource 'appId/appKey configuration', making the tool's purpose easy to understand. It is distinct from siblings which deal with CRUD operations. However, it could be more specific about what 'check' entails (e.g., returns a boolean or status).

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. There is no mention of prerequisites or context for checking configuration, leaving the agent without decision support.

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

pospal_product_summaryC

商品数量统计。keyword 支持条码/名称/拼音码。

ParametersJSON Schema
NameRequiredDescriptionDefault
enableNo1
keywordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits but only mentions keyword support. It fails to state whether the tool is read-only, if it requires authentication, or what the 'enable' parameter does. The output schema exists but is not described, leaving operation semantics unclear.

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 very short and front-loaded, stating purpose first. Every sentence is functional. However, it is too succinct, omitting crucial information that could be included without bloat.

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 the presence of an output schema and the complexity of sibling tools, the description is insufficiently complete. It explains neither the output nor the enable parameter, and fails to differentiate from similar tools. An agent would struggle to use this tool correctly without additional context.

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 description adds partial meaning to the keyword parameter (supports barcode/name/pinyin code), which the input schema (0% coverage) lacks. However, the enable parameter is completely unexplained, and its default value '1' gives no hint of purpose. The description partly compensates for schema gaps but only for one of two parameters.

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 the tool provides product quantity statistics and that keyword supports barcode/name/pinyin code. This distinguishes it from listing tools like pospal_list_products or lookup tools like pospal_find_product_by_barcode. However, it lacks specificity on the exact output format (e.g., total count vs grouped counts).

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?

The description does not provide any guidance on when to use this tool versus its siblings. No mention of when-not to use, prerequisites, or recommended filter scenarios. An agent would have no context to decide between this and pospal_list_products or pospal_get_product.

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

pospal_session_infoA

查看当前银豹登录会话(门店子域、userId、是否有效)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It correctly indicates a read-only operation (viewing session info) without side effects. However, it does not mention whether the session is refreshed or if any authentication is required beyond having the session.

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?

A single, well-structured sentence that immediately conveys the tool's purpose. No unnecessary words.

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 no parameters and a straightforward purpose, the description is complete. The output schema exists but is not needed to understand the tool's function.

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 and schema coverage is 100%. Per the baseline rule, a score of 4 is appropriate since no parameter information is needed.

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 views the current login session and lists the returned fields (store subdomain, userId, validity). It distinguishes itself from sibling tools like pospal_login and pospal_openapi_status by focusing on session details.

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 does not provide explicit guidance on when to use this tool versus alternatives. It is implied that it is used after login to check session state, but no exclusions or conditions are mentioned.

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

pospal_set_product_stock_limitA

【写】设置商品库存上下限(不直接改库存数量)。

ParametersJSON Schema
NameRequiredDescriptionDefault
max_stockNo
min_stockNo
product_uidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

The description discloses that it is a write operation and clarifies that it does not directly modify stock quantity. With no annotations provided, this is valuable behavioral context, though details on permissions or side effects are absent.

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?

A single sentence that is concise, front-loaded with purpose, and contains no unnecessary words. Every part earns its place.

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?

Despite having an output schema, the description lacks parameter explanations and does not cover return values or usage context. For a tool with three parameters, this is insufficient for complete understanding.

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

Parameters1/5

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

The description provides no information about the parameters. With 0% schema coverage, the agent receives no guidance on what 'product_uid', 'min_stock', or 'max_stock' represent beyond their names.

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 indicates that the tool sets product stock upper and lower limits, distinguishing it from directly changing stock quantity. The verb '设置' (set) and resource '商品库存上下限' (product stock limits) are specific and unambiguous.

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

Usage Guidelines4/5

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

The description tells when to use the tool (to set stock limits) and explicitly states what it does not do (does not directly change stock quantity), implying that for direct stock changes, another tool should be used. However, it does not explicitly name alternatives or list when not to use this tool.

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

pospal_stock_change_historyC

查指定商品条码的库存变更流水。

ParametersJSON Schema
NameRequiredDescriptionDefault
barcodeYes
end_timeYes
begin_timeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must bear the full burden of behavioral disclosure. It only states that the tool queries data, implying read-only, but does not mention required permissions, data limits, or any side effects. It is insufficient for an agent to understand the tool's behavior fully.

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 very concise—one sentence that conveys the core purpose. However, it lacks any structured breakdown of details, which would be beneficial for an AI agent. It is efficient but could be more informative.

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?

Despite the presence of an output schema (not shown), the description is incomplete. It does not specify the format or constraints of the barcode and time range parameters, nor does it describe what the output contains. Given the tool's moderate complexity (3 parameters), the description should provide more context.

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?

The input schema has 0% description coverage, and the tool description does not explain the parameters beyond their names. For example, the expected format for 'begin_time' and 'end_time' (e.g., date-time format) is not given. The description adds negligible value over the schema.

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 the verb '查' (query) and resource '库存变更流水' (inventory change history) for a specific barcode. It is specific but does not distinguish it from the sibling tool 'pospal_list_stock_flows', which may have overlapping functionality.

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?

The description provides no guidance on when to use this tool versus alternatives like 'pospal_list_stock_flows'. There is no mention of prerequisites, constraints, or appropriate contexts.

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

pospal_update_categoryC

【写】重命名分类。

ParametersJSON Schema
NameRequiredDescriptionDefault
new_nameYes
parent_nameNo
category_uidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavior. It only says 'write' implicitly via the verb, but no details on effects, permissions, or side effects. The operation is a rename, but the description does not clarify what happens to related data or if it is destructive.

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), which is concise, but it lacks structure and is too terse to be helpful. Every word is used, but it fails to earn its place by adding value.

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 an output schema present (per context), the description does not explain what the tool returns. Given the simplicity of the operation, a brief description might suffice, but it still omits important context like whether the rename is reversible or if it affects other categories.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the description must compensate. It does not explain any of the three parameters (category_uid, new_name, parent_name). The schema defines required fields, but the description adds no semantic meaning.

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?

Description states 'Rename category' which is clear as a verb+resource, but it does not distinguish from sibling tools like pospal_update_product or pospal_create_category beyond the resource type. It is adequate but minimal.

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 is provided on when to use this tool versus alternatives (e.g., create, delete). The description does not mention context or exclusions.

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

pospal_update_customerC

【写】更新会员资料。余额/积分修改需门店开启 editMoneyPoint 权限。

ParametersJSON Schema
NameRequiredDescriptionDefault
telNo
nameNo
numberYes
remarksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral burden. It only mentions a permission condition for balance/points modification, but lacks disclosure on side effects, idempotency, or what happens with unchanged fields.

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?

Description is a single concise sentence, but lacks structure and does not front-load key information like parameter details. It earns its place for the permission note but is otherwise minimal.

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 4 parameters and no parameter descriptions, the description is incomplete. Output schema exists but is not referenced. The description should provide more details on parameter usage and return format.

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

Parameters1/5

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

Schema coverage is 0% and description does not explain any of the 4 parameters (tel, name, number, remarks). It mentions balance/points but these are not in schema. No added meaning beyond parameter names.

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 the tool updates member information and specifies a permission requirement for balance/points modification. It distinguishes from sibling create/delete tools by indicating update operation, though it lacks explicit differentiation from other update tools.

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 like create_customer or find_customer. The permission note is helpful but does not provide usage conditions or exclusions.

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

pospal_update_productA

【写】更新商品字段(仅传需要修改的字段)。

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
enableNo
buy_priceNo
product_idYes
sell_priceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

The description indicates a write operation and partial update behavior. However, with no annotations, it lacks details on authorization, side effects, or return value. The 'only pass fields to modify' hint is useful but not comprehensive.

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, focused sentence that efficiently conveys the core purpose and key usage note. No wasted words.

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

Completeness3/5

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

Given the presence of an output schema and a moderate number of parameters, the description is minimal. It does not explain return values or error handling, leaving some gaps for the agent.

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 coverage is 0%, and the description does not describe any of the five parameters (name, enable, buy_price, product_id, sell_price). The general note about partial updates does not compensate for missing parameter-level details.

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 updates product fields (更新商品字段) and adds the important nuance that only fields to be modified should be passed. This distinguishes it from create and delete siblings.

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 instruction 'only pass fields that need to be modified' provides clear usage guidance for partial updates. It does not explicitly mention when to use this tool versus alternatives, but the resource name and context make it implicit.

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. 28 tool updatesv0.1.0
    • First observedpospal_create_category
    • First observedpospal_create_customer
    • First observedpospal_create_product
    • First observedpospal_delete_categories
    • First observedpospal_delete_customer
    • First observedpospal_delete_product
    • First observedpospal_find_customer
    • First observedpospal_find_product_by_barcode
    • First observedpospal_get_customer_extras
    • First observedpospal_get_product
    • First observedpospal_list_categories
    • First observedpospal_list_customers
    • First observedpospal_list_eshop_orders
    • First observedpospal_list_product_purchases
    • First observedpospal_list_products
    • First observedpospal_list_stock
    • First observedpospal_list_stock_flows
    • First observedpospal_list_suppliers
    • First observedpospal_list_tickets
    • First observedpospal_login
    • First observedpospal_openapi_status
    • First observedpospal_product_summary
    • First observedpospal_session_info
    • First observedpospal_set_product_stock_limit
    • First observedpospal_stock_change_history
    • First observedpospal_update_category
    • First observedpospal_update_customer
    • First observedpospal_update_product

TDQS

B3.2/5.0

Scored across 28 tools

Disambiguation5/5

Each tool targets a distinct entity and action (e.g., create vs. list vs. delete for categories, customers, products). There is no overlap in functionality; even search tools are differentiated by query parameters (barcode vs. customer number).

Naming Consistency4/5

Most tools follow the pospal_verb_noun pattern (e.g., pospal_create_category, pospal_list_products), but a few deviate (pospal_login, pospal_openapi_status, pospal_session_info) breaking the pattern slightly.

Tool Count5/5

28 tools cover a wide range of POS operations (categories, customers, products, stock, orders, tickets, suppliers) without being excessive. Each tool serves a clear purpose and the count is appropriate for the domain.

Completeness4/5

The tool set provides CRUD for core entities (categories, customers, products) and read-only access for orders, purchases, stock, and tickets. Missing create operations for some entities (e.g., suppliers, purchase orders) are minor gaps that agents can work around.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A FastAPI-based MCP server that enables LLM agents to interact with Ollama models through standardized MCP tools, with optional MySQL and Redis integration for data persistence and caching.
    -
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that enables LLM agents to interact with PyerP ERP systems via a REST API. It allows users to search, read, create, and update ERP records such as inventory, clients, and users using natural language.
    -