Skip to main content
Glama
lingki1

Reservation System MCP Server

by lingki1

预约系统 MCP 服务器

这是一个基于 Model Context Protocol (MCP) 的微信云开发预约系统API服务器,允许AI模型安全地访问和管理预约数据。

功能特性

🔧 支持的工具

  1. query_reservations - 查询预约记录

    • 支持按用户ID、状态、预约项目ID筛选

    • 可设置返回记录数限制

    • 返回格式化的预约信息

  2. update_reservation_status - 更新预约状态

    • 取消预约(状态设为10)

    • 恢复预约(状态设为1)

    • 系统取消(状态设为99)

    • 可添加取消理由

  3. delete_reservation - 删除预约记录

    • 永久删除指定预约记录

    • 不可撤销操作,需谨慎使用

📊 预约状态说明

  • 1 - ✅ 预约成功

  • 10 - ❌ 已取消

  • 99 - ⚠️ 系统取消

Related MCP server: twenty-mcp-server

安装和配置

1. 安装依赖

cd mcp-reservation-server
npm install

2. 配置环境变量

复制环境变量示例文件并配置:

cp .env.example .env

编辑 .env 文件:

WECHAT_APP_ID=你的微信小程序AppID
WECHAT_APP_SECRET=你的微信小程序Secret
WECHAT_ENV_ID=你的微信云环境ID

3. 构建项目

npm run build

4. 启动服务器

npm start

或开发模式:

npm run dev

在AI客户端中使用

配置MCP客户端

在你的AI客户端配置文件中添加这个MCP服务器:

{
  "mcpServers": {
    "reservation": {
      "command": "node",
      "args": ["/path/to/mcp-reservation-server/dist/index.js"],
      "env": {
        "WECHAT_APP_ID": "你的AppID",
        "WECHAT_APP_SECRET": "你的Secret", 
        "WECHAT_ENV_ID": "你的环境ID"
      }
    }
  }
}

Claude Desktop 配置示例

{
  "mcpServers": {
    "reservation": {
      "command": "node",
      "args": ["C:\\path\\to\\mcp-reservation-server\\dist\\index.js"],
      "env": {
        "WECHAT_APP_ID": "",
        "WECHAT_APP_SECRET": "",
        "WECHAT_ENV_ID": ""
      }
    }
  }
}

使用示例

查询预约记录

请查询所有状态为成功的预约记录

取消预约

请取消预约ID为 JOIN123456 的预约,理由是"用户主动取消"

删除预约

请永久删除预约ID为 JOIN123456 的记录

API参考

微信云开发API端点

本MCP服务器使用以下微信云开发API:

  • 获取Access Token: GET https://api.weixin.qq.com/cgi-bin/token

  • 数据库查询: POST https://api.weixin.qq.com/tcb/databasequery

  • 数据库更新: POST https://api.weixin.qq.com/tcb/databaseupdate

  • 数据库删除: POST https://api.weixin.qq.com/tcb/databasedelete

数据库集合

  • ax_join: 预约记录表

    • JOIN_ID: 预约记录ID

    • JOIN_USER_ID: 用户ID

    • JOIN_MEET_ID: 预约项目ID

    • JOIN_MEET_TITLE: 预约项目标题

    • JOIN_STATUS: 预约状态

    • JOIN_REASON: 取消理由

    • 其他字段...

安全注意事项

  1. 环境变量保护: 确保微信AppSecret等敏感信息通过环境变量设置,不要硬编码在代码中

  2. 访问权限: 确保只有受信任的AI客户端可以访问此MCP服务器

  3. 操作日志: 服务器会记录所有API调用,便于审计

  4. 数据备份: 删除操作不可撤销,建议定期备份重要数据

故障排除

常见错误

  1. AccessToken不合法 (40014)

    • 检查AppID和AppSecret是否正确

    • 确认IP白名单设置

  2. AccessToken过期 (42001)

    • 服务器会自动刷新token,如持续出现请检查系统时间

  3. 数据库查询失败

    • 检查云环境ID是否正确

    • 确认数据库集合是否存在

调试模式

设置环境变量启用调试日志:

LOG_LEVEL=debug npm start

开发

项目结构

mcp-reservation-server/
├── src/
│   ├── index.ts          # 主服务器文件
│   ├── wechat-api.ts     # 微信API客户端
│   └── types.ts          # 类型定义
├── package.json
├── tsconfig.json
├── .env.example
└── README.md

构建命令

  • npm run build - 编译TypeScript

  • npm run dev - 开发模式运行

  • npm run clean - 清理构建文件

许可证

MIT License

贡献

欢迎提交Issue和Pull Request!

Available Tools

14 tools
create_meet_windowB

创建新的预约窗口,包含时间段设置和用户填写资料设置

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes预约窗口标题
seat_countYes座位数量
orderNo排序号(默认9999)
contentNo预约窗口描述(可选)
admin_idNo管理员ID(可选)
meet_daysYes预约日期和时间段设置
form_fieldsNo用户填写资料设置(可选,默认为姓名和手机)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It states the tool creates something but doesn't mention whether this requires specific permissions, what happens on success/failure, whether the creation is idempotent, or any rate limits. For a creation tool with zero annotation coverage, this leaves significant behavioral gaps.

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, efficient Chinese sentence that communicates the core functionality without unnecessary words. It's appropriately front-loaded with the main action ('创建新的预约窗口') followed by key components. Every element earns its place with zero waste.

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 creation tool with 7 parameters (3 required), no annotations, and no output schema, the description is minimally adequate but incomplete. It identifies the tool's purpose and two key parameter categories but doesn't address behavioral aspects, error conditions, or return values. The high schema coverage helps, but the description alone would leave an agent with significant gaps in understanding the tool's full 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?

Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description mentions '时间段设置' (time period settings) which maps to 'meet_days' and '用户填写资料设置' (user form field settings) which maps to 'form_fields', but adds no additional semantic context beyond what the schema provides. This meets the baseline for high schema coverage.

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's purpose as '创建新的预约窗口' (create new appointment window) and specifies it includes '时间段设置和用户填写资料设置' (time period settings and user form field settings). It distinguishes from siblings like 'update_meet_window' by indicating creation rather than modification, but doesn't explicitly contrast with other creation-related tools (though none exist in the sibling list).

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. It doesn't mention prerequisites, appropriate contexts, or when other tools like 'query_meet_windows' might be more suitable. The agent must infer usage from the tool name and description alone without explicit direction.

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

delete_meet_windowC

删除预约窗口(谨慎操作)

ParametersJSON Schema
NameRequiredDescriptionDefault
meet_idYes预约窗口的数据库ID(_id字段)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It hints at risk ('谨慎操作') but lacks critical details: whether deletion is permanent/reversible, what happens to associated reservations, required permissions, or error conditions. For a destructive tool with zero annotation coverage, this is inadequate transparency.

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 - a single Chinese phrase with a caution note. It's front-loaded with the core action and includes a brief warning. While efficient, it may be overly terse given the tool's destructive nature and lack of other documentation.

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

Completeness2/5

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

For a destructive deletion tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what '删除预约窗口' entails operationally, what the response looks like, error scenarios, or system impact. The caution note is a start but doesn't compensate for missing behavioral and output 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?

Schema description coverage is 100%, with the single parameter 'meet_id' fully documented in the schema as '预约窗口的数据库ID(_id字段)'. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline for high schema coverage without compensating value.

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 ('删除' - delete) and resource ('预约窗口' - meet window), making the purpose understandable. It distinguishes from siblings like delete_reservation by specifying the target is the window itself, not individual reservations. However, it doesn't explicitly differentiate from update_meet_window or other deletion tools beyond the resource name.

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 minimal guidance with '谨慎操作' (cautious operation), hinting at potential consequences, but offers no explicit when-to-use rules, alternatives, or prerequisites. It doesn't clarify when to use this versus delete_reservation tools or what conditions must be met before deletion, leaving significant gaps in usage context.

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

delete_reservationC

永久删除预约记录(谨慎操作)

ParametersJSON Schema
NameRequiredDescriptionDefault
record_idYes数据库记录ID(_id字段,不是JOIN_ID)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates the operation is permanent ('永久删除') and caution is needed, but it doesn't specify whether this requires special permissions, what happens to associated data, or if the deletion is reversible. For a destructive tool with zero annotation coverage, this leaves critical behavioral traits undocumented.

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—a single phrase in Chinese that states the action and includes a cautionary note. It's front-loaded with the core purpose, though it could be slightly more structured if it explicitly separated the warning. There's no wasted text, making it efficient for an AI agent to parse.

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 this is a destructive tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits like permissions, side effects, or response format. While the schema covers the single parameter well, the overall context for safe and effective use is insufficient, especially compared to sibling tools that might offer alternative deletion methods.

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

Parameters3/5

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

The input schema has 100% description coverage, with the parameter 'record_id' clearly documented as '数据库记录ID(_id字段,不是JOIN_ID)' meaning 'database record ID (_id field, not JOIN_ID)'. The description adds no additional parameter information beyond what the schema provides, so the baseline score of 3 is appropriate as the schema handles the heavy lifting.

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 'permanently delete') and the resource ('预约记录' meaning 'reservation record'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like delete_reservation_by_mobile or delete_reservation_by_name, which target the same resource but use different identifiers.

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 includes a cautionary note ('谨慎操作' meaning 'use with caution'), which implies this is a sensitive operation, but it provides no explicit guidance on when to use this tool versus alternatives like delete_reservation_by_mobile or delete_reservation_by_name. There's no mention of prerequisites, context, or specific scenarios for selection.

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

delete_reservation_by_mobileC

根据手机号删除预约记录

ParametersJSON Schema
NameRequiredDescriptionDefault
mobileYes手机号(11位数字)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states this is a deletion operation, implying it's destructive, but doesn't disclose any behavioral traits like whether deletions are permanent, require specific permissions, have side effects, or return confirmation. For a destructive tool with zero annotation coverage, this is a significant gap in 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 a single, efficient sentence in Chinese that directly states the tool's function without any unnecessary words. It's front-loaded with the core action and identifier, making it easy to parse. Every part of the sentence earns its place by specifying the operation and key parameter.

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 this is a destructive tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens on success or failure, whether deletions are reversible, or any error handling. For a tool that permanently removes data, more context is needed to ensure safe and correct usage by an AI agent.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter 'mobile' fully documented in the schema (type, description, pattern). The description adds no additional parameter semantics beyond what's in the schema, such as format examples or edge cases. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't need to.

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 ('删除' - delete) and resource ('预约记录' - reservation records) with a specific identifier ('根据手机号' - by mobile number). It distinguishes from the generic 'delete_reservation' sibling but doesn't explicitly differentiate from 'delete_reservation_by_name', which uses a different identifier. The purpose is 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 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 'delete_reservation' or 'delete_reservation_by_name'. It doesn't mention prerequisites, error conditions, or any context about what happens if the mobile number doesn't exist. Usage is implied by the name but not explicitly stated.

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

delete_reservation_by_nameC

根据预约人姓名删除预约记录

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes预约人姓名

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It states this is a deletion operation (destructive), but doesn't disclose behavioral traits like whether deletion is permanent/reversible, what permissions are needed, error handling (e.g., if name not found), or side effects. For a destructive tool with zero annotation coverage, this 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.

Conciseness5/5

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

The description is a single, efficient Chinese sentence that directly states the tool's purpose without any fluff. It's appropriately sized and front-loaded with the core functionality.

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

Completeness2/5

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

For a destructive deletion tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens on success/failure, return values, or important behavioral context. Given the complexity of a delete operation and lack of structured coverage, more information is needed.

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

Parameters3/5

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

Schema description coverage is 100%, with the single parameter 'name' clearly documented in the schema as '预约人姓名' (reservation person's name). The description adds no additional parameter semantics beyond what the schema already provides, so baseline 3 is appropriate.

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 delete) and resource ('预约记录' meaning reservation records) with a specific criterion ('根据预约人姓名' meaning by reservation person's name). It distinguishes from sibling 'delete_reservation' which likely deletes by ID, but doesn't explicitly differentiate from 'delete_reservation_by_mobile' which uses mobile number instead of name.

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 'delete_reservation_by_mobile' or 'delete_reservation'. The description implies usage when you have a name to delete by, but doesn't specify prerequisites, error conditions, or comparison with other deletion methods.

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

query_all_reservationsC

查询所有预约记录

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回记录数限制(默认50)
statusNo预约状态:1=成功,10=已取消,99=系统取消(可选)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states it's a query (read-only), but doesn't disclose behavioral traits such as pagination, sorting, default ordering, rate limits, or authentication needs. For a tool with no annotations, this leaves significant gaps in understanding its operation.

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, efficient sentence in Chinese, front-loaded with the core action. It's appropriately sized but could be slightly more informative without losing conciseness.

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 no annotations, no output schema, and a query tool with multiple siblings, the description is incomplete. It doesn't explain return values, error handling, or how it differs from similar tools, leaving the agent with insufficient context for effective use.

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

Parameters3/5

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

Schema description coverage is 100%, with clear documentation for 'limit' and 'status' parameters. The description adds no additional meaning beyond the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

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

Purpose3/5

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

The description '查询所有预约记录' (Query all reservation records) clearly states the verb (query) and resource (reservation records), but it's vague about scope and doesn't differentiate from sibling tools like 'query_reservations' or 'query_reservations_by_mobile'. It lacks specificity about what 'all' means 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 like 'query_reservations' or 'query_reservations_by_mobile'. The description implies a broad query, but there's no explicit context, exclusions, or prerequisites mentioned.

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

query_meet_windowsC

查询预约窗口

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo窗口状态:0=未启用,1=使用中,9=停止预约,10=已关闭(可选)
limitNo返回记录数限制(默认20)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('查询' - query) without detailing what the query returns (e.g., list of windows, their properties), any side effects, authentication needs, rate limits, or error conditions. For a query tool with zero annotation coverage, this is a significant gap in transparency.

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 phrase ('查询预约窗口') that is front-loaded and efficient, with no wasted words. It could be slightly more informative, but it avoids redundancy and is appropriately sized for a simple query tool.

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 complexity of a query tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'appointment windows' are, what data is returned, or how results are structured, leaving the agent with insufficient context to use the tool effectively beyond basic parameter input.

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 description coverage is 100%, with clear descriptions for both parameters ('status' and 'limit'), including enum values and defaults. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for adequate coverage without extra value.

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

Purpose3/5

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

The description '查询预约窗口' (Query appointment windows) states a clear verb ('查询' - query) and resource ('预约窗口' - appointment windows), establishing the basic purpose. However, it lacks specificity about what 'appointment windows' are in this context and doesn't differentiate from sibling tools like 'query_all_reservations' or 'query_reservations', which appear to query related but different resources.

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. With multiple sibling tools for querying reservations and windows (e.g., 'query_all_reservations', 'query_reservations', 'create_meet_window'), there's no indication of context, prerequisites, or distinctions, leaving the agent to infer usage from tool names alone.

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

query_reservationsC

查询预约记录,支持按用户ID、状态、预约项目ID等条件筛选

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNo用户ID(可选)
statusNo预约状态:1=成功,10=已取消,99=系统取消(可选)
meet_idNo预约项目ID(可选)
limitNo返回记录数限制(默认20)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool queries with filtering but doesn't mention whether it's read-only, pagination behavior, rate limits, authentication needs, or what happens with no filters (e.g., returns all records?). For a query tool with zero annotation coverage, this leaves significant behavioral gaps.

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, efficient sentence that front-loads the core purpose ('查询预约记录') and immediately adds filtering details. Every word earns its place with no redundancy or fluff, making it easy to parse quickly.

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 (query with multiple filters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error conditions, or how results are structured. For a query tool in a server with many sibling alternatives, more context is needed to guide effective use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents all parameters. The description adds marginal value by listing filterable fields (user ID, status, meet ID), but doesn't provide additional context beyond what's in the schema, such as how multiple filters combine or performance implications. Baseline 3 is appropriate when the schema does the heavy lifting.

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's purpose: '查询预约记录' (query reservation records) with filtering capabilities. It specifies the action (query) and resource (reservation records), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'query_all_reservations' or 'query_reservations_by_mobile', which would require a 5.

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 mentions filtering by user ID, status, and meet ID, but provides no guidance on when to use this tool versus alternatives like 'query_all_reservations' or 'query_reservations_by_mobile'. There's no mention of prerequisites, limitations, or typical use cases, leaving the agent with insufficient context for optimal tool selection.

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

query_reservations_by_mobileC

根据手机号查询预约记录

ParametersJSON Schema
NameRequiredDescriptionDefault
mobileYes手机号(11位数字)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the query action without mentioning whether this is a read-only operation, what permissions might be required, what happens if no records are found, or the format/scope of returned data. For a query tool with zero annotation coverage, this leaves significant behavioral gaps.

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, efficient sentence in Chinese that directly states the tool's purpose without any unnecessary words or elaboration. It's appropriately sized and front-loaded with the core functionality.

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 lack of annotations and output schema, the description is insufficiently complete. It doesn't explain what kind of data is returned (e.g., list of reservations, error handling for invalid mobile numbers), nor does it provide behavioral context about the query operation. For a tool with no structured metadata beyond the input schema, the description should do more to compensate.

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 description coverage is 100%, with the single parameter 'mobile' fully documented in the schema (including type, format, and pattern validation). The description adds no additional parameter semantics beyond what's already in the structured schema, so it meets the baseline expectation.

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 ('预约记录' - reservation records) with a specific filter criterion ('根据手机号' - by mobile number). It distinguishes from siblings like query_reservations_by_name and query_all_reservations by specifying the mobile-based filtering approach. However, it doesn't explicitly contrast with the generic query_reservations tool.

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 query_reservations_by_name, query_all_reservations, or the generic query_reservations. It states what the tool does but offers no context about appropriate use cases, prerequisites, or exclusions.

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

query_reservations_by_nameC

根据预约人姓名查询预约记录

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes预约人姓名

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a query operation, implying it's likely read-only and non-destructive, but doesn't confirm this or add any other behavioral traits (e.g., authentication needs, rate limits, response format, error handling, or whether it returns partial or exact matches). For a query tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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 and front-loaded, consisting of a single sentence that directly states the tool's purpose without any unnecessary words. Every part of the sentence earns its place by clearly conveying the core functionality, making it efficient and easy to understand at a glance.

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 context—a query tool with no annotations, no output schema, and a simple input schema—the description is incomplete. It adequately states what the tool does but lacks crucial details: it doesn't explain the return values (e.g., what data is included in reservation records), behavioral aspects like error cases or performance, or how it differs from sibling tools. This makes it insufficient for full agent understanding without additional inference or trial.

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 minimal meaning beyond the input schema. It mentions '预约人姓名' (reservation person name), which aligns with the schema's parameter 'name' described as '预约人姓名.' With 100% schema description coverage, the schema already fully documents the single required parameter. The description doesn't provide additional context like format examples, case sensitivity, or matching logic, so it meets the baseline for high schema coverage.

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's purpose: '根据预约人姓名查询预约记录' translates to 'Query reservation records by reservation person name.' It specifies the verb (query) and resource (reservation records) with a specific filter criterion (by name). However, it doesn't explicitly distinguish itself from sibling tools like 'query_reservations_by_mobile' or 'query_reservations,' which might have similar purposes but different filtering parameters.

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. It doesn't mention sibling tools like 'query_reservations_by_mobile' (for querying by mobile number) or 'query_all_reservations' (for broader queries), nor does it specify any prerequisites, exclusions, or contextual cues for selection. Usage is implied only by the name and description, with no explicit instructions.

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

update_meet_windowC

更新预约窗口

ParametersJSON Schema
NameRequiredDescriptionDefault
meet_idYes预约窗口的数据库ID(_id字段)
titleNo新的标题(可选)
seat_countNo新的座位数量(可选)
contentNo新的描述(可选)
statusNo新的状态:0=未启用,1=使用中,9=停止预约,10=已关闭(可选)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states '更新' (update), implying a mutation, but doesn't cover critical aspects like required permissions, whether changes are reversible, error handling, or rate limits. This is inadequate for a mutation tool with zero annotation coverage.

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 phrase ('更新预约窗口'), which is highly concise and front-loaded with the core action. There is no wasted text or unnecessary elaboration, making it efficient for an agent to parse.

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 (mutation with 5 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain return values, error cases, or behavioral nuances, leaving significant gaps for an agent to operate effectively.

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 description coverage is 100%, with all parameters well-documented in the schema (e.g., meet_id as database ID, status with enum values). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without compensating value.

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 ('更新' meaning update) and resource ('预约窗口' meaning appointment window), providing a specific purpose. However, it doesn't explicitly differentiate from sibling tools like 'update_reservation_status' or 'update_reservation_time_by_mobile', which also perform updates but on different resources.

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. It doesn't mention prerequisites (e.g., needing an existing meet_id), exclusions, or comparisons to siblings like 'create_meet_window' or 'delete_meet_window', leaving the agent to infer usage from context alone.

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

update_reservation_statusC

更新预约状态(取消预约、恢复预约等)

ParametersJSON Schema
NameRequiredDescriptionDefault
record_idYes数据库记录ID(_id字段,不是JOIN_ID)
new_statusYes新状态:1=成功,10=已取消,99=系统取消
reasonNo取消理由(可选)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation operation ('更新') but doesn't specify permissions required, whether changes are reversible, side effects, or what happens to related data. The examples hint at status transitions but lack detail on constraints or system behavior.

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, efficient sentence in Chinese that directly states the tool's purpose with examples. It's front-loaded with the core action and includes illustrative examples without unnecessary elaboration, making it highly concise and well-structured.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like error conditions, response format, or system impacts. Given the complexity of status updates and multiple sibling tools, more context is needed to guide proper usage.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all three parameters. The description adds no parameter-specific information beyond what's in the schema, such as clarifying the 'reason' parameter's use cases or 'new_status' implications. Baseline 3 is appropriate as the schema does the heavy lifting.

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 '更新' (update) and resource '预约状态' (reservation status), with examples of specific actions like '取消预约、恢复预约等' (cancel reservation, restore reservation, etc.). It distinguishes itself from siblings like 'delete_reservation' by focusing on status changes rather than deletion, though it doesn't explicitly contrast with all siblings like 'update_reservation_time_by_mobile'.

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. It doesn't mention when to choose this over 'delete_reservation' for cancellations, or how it differs from time-update siblings like 'update_reservation_time_by_mobile'. No prerequisites or exclusions are stated.

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

update_reservation_time_by_mobileC

根据手机号更改预约时间

ParametersJSON Schema
NameRequiredDescriptionDefault
mobileYes手机号(11位数字)
new_dayYes新的预约日期(YYYY-MM-DD格式)
new_time_startYes新的开始时间(HH:MM格式)
new_time_endYes新的结束时间(HH:MM格式)
new_time_markYes新的时间段标识

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While '更改' implies a mutation/write operation, it doesn't specify whether this requires authentication, what permissions are needed, whether the change is reversible, what happens if the mobile number doesn't exist, or what the response looks like. For a mutation tool with zero annotation coverage, this 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.

Conciseness5/5

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

The description is a single, efficient Chinese sentence that gets straight to the point with zero wasted words. It's appropriately sized for what it communicates, though it could benefit from additional context.

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

Completeness2/5

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

For a mutation tool with 5 required parameters and no annotations or output schema, the description is incomplete. It doesn't explain what happens when the tool executes successfully or fails, what validation occurs beyond schema patterns, or how this interacts with the reservation system. The agent would need to guess about behavioral aspects.

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

Parameters3/5

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

Schema description coverage is 100%, with all 5 parameters clearly documented in the schema itself. The description doesn't add any parameter information beyond what's already in the schema descriptions (which specify formats like '11-digit mobile number', 'YYYY-MM-DD date', etc.). The baseline of 3 is appropriate when the schema does the heavy lifting.

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 ('更改' meaning 'change') and resource ('预约时间' meaning 'reservation time'), specifying it's based on mobile number. It distinguishes from sibling 'update_reservation_time_by_name' by indicating the lookup method. However, it doesn't specify what type of reservation system this is for or what exactly gets updated beyond time.

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 'update_reservation_time_by_name' (which uses name instead of mobile) or 'update_reservation_status' (which updates status rather than time). There's no mention of prerequisites, error conditions, or when this operation is appropriate versus creating/deleting reservations.

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

update_reservation_time_by_nameC

根据预约人姓名修改预约时间

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes预约人姓名
new_dayYes新的预约日期(YYYY-MM-DD格式)
new_time_startYes新的开始时间(HH:MM格式)
new_time_endYes新的结束时间(HH:MM格式)
new_time_markYes新的时间段标识

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While '修改' (modify) implies a mutation operation, the description doesn't disclose important behavioral traits: whether this requires specific permissions, what happens if the name doesn't exist, whether changes are reversible, if there are rate limits, or what the response format looks like. For a mutation tool with zero annotation coverage, this is inadequate.

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 perfectly concise - a single sentence that directly states the tool's function without any wasted words. It's front-loaded with the core purpose and appropriately sized for what it communicates.

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

Completeness2/5

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

For a mutation tool with 5 required parameters and no annotations or output schema, the description is insufficient. It doesn't address error conditions, success responses, permission requirements, or behavioral constraints. Given the complexity of modifying reservations and the lack of structured metadata, the description should provide more complete context about how the tool behaves.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly with descriptions and format patterns. The description doesn't add any parameter semantics beyond what's in the schema - it doesn't explain relationships between parameters, provide examples, or clarify edge cases. Baseline 3 is appropriate when schema does the heavy lifting.

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's purpose: '根据预约人姓名修改预约时间' (modify reservation time based on the reservation person's name). It specifies the verb ('修改' - modify) and resource ('预约时间' - reservation time), but doesn't explicitly differentiate from sibling tools like 'update_reservation_time_by_mobile' which serves a similar function with different identification method.

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. There's no mention of prerequisites, when this tool is appropriate versus 'update_reservation_time_by_mobile' (which uses mobile number instead of name), or any other contextual usage information.

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

TDQS

B3.3/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap in deletion and query operations. For example, delete_reservation, delete_reservation_by_mobile, and delete_reservation_by_name could be confusing as they target the same resource with minor variations, though descriptions clarify the distinctions. Similarly, query_reservations and its by-mobile/by-name variants might cause misselection if not carefully read.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, with clear actions like create, delete, query, and update paired with specific nouns (e.g., meet_window, reservation). All names use snake_case uniformly, making them predictable and easy to parse for an agent.

Tool Count5/5

With 14 tools, this server is well-scoped for a reservation system, covering core operations like creation, deletion, querying, and updates. Each tool appears to serve a specific function without unnecessary redundancy, fitting within the typical 3-15 tool range for such a domain.

Completeness4/5

The tool set provides strong coverage for reservation management, including CRUD operations for both meet windows and reservations, with support for status updates and time changes. A minor gap is the lack of a tool for creating reservations directly, which might be implied but not explicitly provided, though agents can likely work around this using existing tools.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    Not graded
    maintenance
    An MCP server for interacting with Saptiva AI's suite of models, offering capabilities such as chat completions, chain-of-thought reasoning, and OCR. It enables users to generate semantic embeddings, access specialized prompts, and manage AI-driven workflows through a standardized interface.
    7
  • A
    license
    Not graded
    quality
    D
    maintenance
    A standalone MCP server that integrates with Twenty CRM to provide AI-powered CRM capabilities, enabling CRUD operations and real-time synchronization.
    1,089
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lingki1/mcp-reservation-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server