get_status
Check if your document is ready.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job ID from fill_template |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | ||
| job_id | Yes | ||
| status | Yes | ||
| message | No | ||
| download_url | No |
Check if your document is ready.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job ID from fill_template |
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | ||
| job_id | Yes | ||
| status | Yes | ||
| message | No | ||
| download_url | No |
Changes observed during successful MCP inspections.
Input schema / properties / job_id / descriptionAdded value: +"Job ID from fill_template"Output schema / (root)Previous value: -nullNew value: +{
+ "properties": {
+ "download_url": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "error": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "job_id": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "pending",
+ "processing",
+ "completed",
+ "failed"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "job_id",
+ "status"
+ ],
+ "type": "object"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds only the notion of 'ready' but does not disclose behaviors like polling, timeouts, or what happens when the document is not yet ready. Given the annotations, a 3 is appropriate as it adds some context but not rich behavioral detail.
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?
The description is a single short sentence with no redundancy, and the key information is front-loaded. It is appropriately sized for a simple status-check tool, though it could have included a bit more context without becoming verbose.
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 an output schema present, return values are covered. However, the description does not explain the polling workflow (e.g., that the job may not be ready and should be rechecked), nor does it mention any rate limits or retry logic. For a tool typically used in a polling loop, this is a notable 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 description coverage is 100% for the single parameter, and the schema already explains that job_id comes from fill_template. The description does not add additional meaning beyond the schema, so the baseline of 3 applies.
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?
The description states a specific verb ('check') and resource ('document readiness'), which is clear enough to distinguish it from sibling tools like fill_template or download_pdf. It doesn't explicitly name the sibling it is not, but the verb+resource 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool or how it fits into a workflow. The parameter description 'Job ID from fill_template' hints at the intended use, but the tool description itself does not say 'use after fill_template' or explain polling behavior, so an agent has to infer the usage context.
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.