查长任务
get_job按 job_id 查长任务:queued / running / done(带 result) / failed(带 error)。建议每 3 秒查一次。error 是人话(如"关爱对象不存在或已删除"),照原话转述给用户,不要改写成"系统繁忙",也不要拿同参数重试。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
get_job按 job_id 查长任务:queued / running / done(带 result) / failed(带 error)。建议每 3 秒查一次。error 是人话(如"关爱对象不存在或已删除"),照原话转述给用户,不要改写成"系统繁忙",也不要拿同参数重试。
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers genuinely non-obvious behavior: the state machine, poll cadence, that error values are human-readable and should be relayed verbatim, and that same-parameter retries are futile. Gaps remain (no auth/permission notes, no TTL or invalid-id behavior), but this is well above the annotation-free baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and state enumeration, then the operational rules. Every clause earns its place; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully covers return semantics (done carries result, failed carries error) and polling/error-handling rules, which is most of what an agent needs. It omits where job_id originates and the shape of result/error payloads, leaving a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single job_id parameter, and the description only restates its function ('by job_id') without format, origin, or where the id comes from (presumably a prior task-triggering call). The name is fairly self-explanatory, so this is minimally adequate rather than compensating for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (query a long task by job_id) and enumerates the full state model it can return: queued / running / done(with result) / failed(with error). An agent knows exactly what the tool does and what each outcome means without opening any schema. No sibling tool queries jobs, so no differentiation is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operational guidance: poll every 3 seconds, and do not retry with the same parameters. This tells the agent how to use the tool in a loop. It stops short of naming when not to call it or referencing an alternative tool, so it is clear context rather than a full when/when-not routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.