Skip to main content
Glama

SMI Aware Assistant

Submit Deep Reports

smi_submit_deep_reports

Submits previously created SMI deep report drafts (Draft status only) for processing. A batch of up to 25 ids is processed immediately and the result lists accepted and rejected ids. A larger batch runs as a background job that the server waits on for a few seconds, then returns the same accepted and rejected ids plus the jobId. If the result has status queued, the job is still running or could not be read: call smi_get_job with its jobId and do not resubmit the ids. If the job failed, SMI does not say whether any id was submitted: check each id with smi_check_order_complete before resubmitting. SMI notifies the user when each deep report is released; smi_check_order_complete reads the status of a single record.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "ids": "<ids>"
    },
    "name": "smi_submit_deep_reports"
  }
}

Input Schema

NameRequiredDescriptionDefault
idsYes

Output Schema

NameRequiredDescriptionDefault
modeYes
jobIdNo
statusYes
acceptedYes
rejectedYes
releaseJobsNo
outcomesEnumeratedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / properties / jobId
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / mode
      Added value: +{
      +  "enum": [
      +    "sync",
      +    "async"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / releaseJobs
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": "number"
      +      },
      +      "jobId": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "jobId"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "accepted",
      -  "rejected",
      -  "outcomesEnumerated"
      -]New value: +[
      +  "mode",
      +  "status",
      +  "accepted",
      +  "rejected",
      +  "outcomesEnumerated"
      +]
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations (readOnly=false, idempotent=false, openWorld=true, destructive=false): a 25-id threshold that switches between synchronous processing and a background job, a multi-second server wait, and the shape of the result (accepted/rejected ids, optional jobId). It also discloses a genuine ambiguity — SMI does not report whether any id was submitted after a failure — which directly informs the non-idempotent annotation.

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?

Front-loads the action and precondition, then flows into batch behavior, then error handling — the order an agent needs it. Every sentence carries operational information (threshold, wait, status semantics, recovery path); the closing note about user notification explains why polling is needed rather than being filler.

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?

A mutation tool with an output schema and open-world behavior; the description covers the async/sync split, return contents, failure ambiguity, and recovery routing. Nothing an agent needs to invoke it safely or handle results is missing, despite the output schema not being relied upon for return-value explanation.

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?

Schema coverage is 0%, so the description must carry the parameter burden; it does explain that the ids are draft deep-report ids and that batches above 25 change processing mode. It omits the schema's 100-item cap and does not say whether rejected ids are returned with reasons, so compensation is strong but not complete.

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?

States a specific verb+resource ('Submits ... SMI deep report drafts') and adds a precondition that distinguishes it from smi_create_deep_report and smi_submit_exports: the drafts must already exist and be in 'Draft status only'. An agent can identify what this does and what it requires without opening any schema.

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?

Gives explicit routing for each outcome: if status is queued, call smi_get_job with the jobId and do NOT resubmit; if the job failed, verify each id with smi_check_order_complete before resubmitting. It names the alternatives and the exact conditions that select them, plus an explicit prohibition.

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