Skip to main content
Glama

独行录 / opcmenu

批量算「还差哪几题」

get_signup_gaps
Read-onlyIdempotent

【需要登录】【何时用】用户想一口气报好几场(或问「能报的都缺什么」)时调它。agent 独有:一次算完多场缺口,同题跨场去重合并,「姓名、微信、一句话介绍」问一遍就够。

【组合链】不传 slugs = 自动取 list_signup_feed 前 N 场我还没报的 → missingCombined 一轮问完 → 通用项 update_my_signup_profile 落库 → 逐场 submit_signup。要某场完整题面再 get_signup_activity。

【口径/坑】① missingCombined 每项带 activities=[这几场都要],问一次覆盖多场——别自己做集合运算。② fillable=false 是附件题,agent 传不了,让用户去报名页/App 传。③ 已报过的(submitted=true)默认不进结果,除非点名在 slugs 里。④ 一次最多 10 场。⑤ 零缺口 ≠ 可以直接报:formUnknown=true 表示这张外部表没解析出来,绝不许说「不缺东西直接报」,要说「那张表我没解析出来,你先打开 externalUrl 看一眼」。⑥ requiresAppActivation=true 的场只拿得到 App 激活预留位,先让用户去 App,别整批硬报。⑦ includeMyAnswers=true 带本人答案明文(含手机号/微信号/邮箱):只回给他本人,不许转述给第三方;sensitiveTodo(证件号一类)系统里恒为空,只能他现场答。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNo不传 slugs 时按关键词挑场(口径同 list_signup_feed:只匹配标题/主办方/城市/主办人昵称)
kindNo不传 slugs 时按类目取。取值:HACKATHON(黑客松) | COMPETITION(创业赛事) | INCUBATOR(孵化营) | FUNDING(融资申请) | COMMUNITY(社区入驻) | EVENT(活动报名) | OTHER(其他)
limitNo不传 slugs 时取几场,缺省 5,上限 10
slugsNo要盘的活动 slug 列表,最多 10 个;不传就取 list_signup_feed 前 limit 场里我还没报的
includeMyAnswersNo缺省 false。为 true 时每场多给「我已经有的答案(本人明文)+ 只能现场答的敏感题 + 传不了的附件题 + 外部表单地址」,用来给外链场导一份「这张表我该填什么」的清单

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / includeMyAnswers
      Added value: +{
      +  "description": "缺省 false。为 true 时每场多给「我已经有的答案(本人明文)+ 只能现场答的敏感题 + 传不了的附件题 + 外部表单地址」,用来给外链场导一份「这张表我该填什么」的清单",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / q
      Added value: +{
      +  "description": "不传 slugs 时按关键词挑场(口径同 list_signup_feed:只匹配标题/主办方/城市/主办人昵称)",
      +  "maxLength": 100,
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Given annotations declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false, the description adds substantial behavioral context beyond these. It discloses that missingCombined deduplicates across events, that fillable=false means attachment questions cannot be submitted by the agent, that submitted=true entries are excluded unless explicitly in slugs, the 10-event limit, the critical rule that zero gaps ≠ ready to submit when formUnknown=true, the requiresAppActivation=true handling, and the sensitive nature of includeMyAnswers=true (contains plaintext personal data, must not be shared with third parties). This is rich, crucial context for safe usage.

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 quite long but well-structured with clear sections: 【需要登录】, 【何时用】, 【组合链】, 【口径/坑】. Every sentence carries meaningful information, and the critical warnings are highlighted with bold and emphasis. It's front-loaded with the primary purpose. However, the length is substantial, which may impact quick scanning, but it's justified given the complexity. Slight deduction for the density of information in the caution section.

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?

The tool has no output schema, so the description must cover return values and behavior. It does thoroughly: it explains the missingCombined structure, activities field, edge cases like submitted=true, formUnknown=true, requiresAppActivation, and includeMyAnswers behavior. It also covers the combination chain with other tools. However, it doesn't explicitly describe the full return structure (e.g., other fields in missingCombined), but given the complexity, it's sufficiently complete for an agent to use correctly. The lack of output schema is compensated by the description's detail.

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 each parameter is already documented in the schema. The description adds some extra semantics, like the maximum 10 events (also in schema), the default behavior for missing slugs (uses list_signup_feed), and the sensitive nature of includeMyAnswers. However, since schema covers most details, the baseline is 3. The description doesn't add much beyond what the schema already provides for parameters, except for includeMyAnswers which is given a detailed purpose.

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

Purpose5/5

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

The description starts with a clear title and '何时用' (when to use) section, stating it computes gaps for multiple signup activities. It clearly distinguishes itself from siblings by emphasizing it is 'agent 独有' (agent-exclusive) and can batch-compute across multiple events with deduplication. The verb '算缺口' (calculate gaps) and resource '报名' (signup) make the purpose specific and distinguishable.

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

Usage Guidelines5/5

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

The description explicitly states when to use: when the user wants to register for multiple events or asks 'what's missing for all'. It also provides a combination chain (组合链) showing alternative tools: list_signup_feed for fetching feed, update_my_signup_profile for updating profile, submit_signup for submitting, and get_signup_activity for getting full question details. It even says '要某场完整题面再 get_signup_activity' (for full question of a specific event, use get_signup_activity).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources