Skip to main content
Glama

How far a file of personal lines has come

argorant_personalization_import_status
Read-onlyIdempotent

Show how far an uploaded file of personal lines has come: waiting, writing (rows done so far) or done, with the lines saved, the contacts that keep the fallback, rows naming contacts not in the campaign, and refused rows with their row number and reason. Use it with the job_id of a file uploaded through the API or the command line; for lines saved in the chat use argorant_campaign_personalization_status. A file uploaded without overwrite keeps lines contacts already have and lists them in kept_existing, while one uploaded with overwrite=true counts the lines it replaced and cleared. More in the docs at https://docs.argorant.com/docs/agents/tools#campaigns

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": {
      "campaign_id": "<campaign_id>",
      "job_id": "<job_id>"
    },
    "name": "argorant_personalization_import_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
job_idYesThe job_id the upload answered.
campaign_idYesThe campaign's id, from argorant_list_campaigns.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint, so safety is covered. The description goes beyond them by disclosing the progress-state vocabulary, the counters returned (lines saved, kept_existing contacts, rows naming unknown contacts, refused rows with row number and reason), and the behavioral difference between overwrite and non-overwrite uploads.

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?

Front-loaded with the core purpose and then layered with disambiguation and overwrite semantics, all relevant. The first sentence is dense with nested clauses and the trailing docs URL is optional padding, but no sentence is pure 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?

With an output schema and rich annotations already present, the description still supplies everything an agent needs: when to call it, what job_id refers to, the sibling to use instead for chat-saved lines, and how overwrite mode changes the report. Nothing material is missing for a two-parameter read-status tool.

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 both job_id and campaign_id are already documented in the schema, including provenance for campaign_id. The description adds only a hint about where job_id comes from (an API or CLI upload), which is marginal over the schema; baseline 3 is appropriate.

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 names a specific resource (an uploaded file of personal lines) and a specific verb (show how far it has come), then enumerates the lifecycle states it reports: waiting, writing with rows done so far, or done. It explicitly differentiates itself from the sibling argorant_campaign_personalization_status, which handles lines saved in the chat, so an agent can pick the right tool without opening either 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?

It states the selecting condition (job_id of a file uploaded through the API or command line) and names the alternative tool plus the condition that selects it (lines saved in the chat). It further explains the two upload modes, overwrite vs. no overwrite, and what each reports, leaving nothing about when-to-use to inference.

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.