Skip to main content
Glama

Worthune Verified Financial Models

import_households

Idempotent

Migrate a book (WS3.5): import up to 200 households in one call, with dryRun: true validating everything and writing NOTHING — iterate until the per-row, per-field report is clean, then run for real. Two shapes: households[] of { importKey, label?, household } documents, or template + records — a declarative mapping template (docs/data-migration.md) executed deterministically over raw exported records, so YOU draft the small reviewable template and the engine does the transcription. importKey is the caller's stable id: re-runs are idempotent (already-imported keys skip and report their householdId); imports never overwrite.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dryRunNoValidate everything, write nothing
api_keyNoWorthune API key (wk_…)
recordsNoRaw exported records, column → string cell
templateNoMapping template (templateVersion 0.1.0) for the records path
householdsNoDirect rows: { importKey, label?, household }

TDQS

A4.7/5.0
Behavior5/5

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

Annotations provide idempotentHint=true and destructiveHint=false, and the description meaningfully extends this by stating that re-runs skip already-imported keys and report householdId, imports never overwrite, and dryRun writes NOTHING. It also discloses the 200-household limit and deterministic template execution. This goes well beyond what annotations alone convey.

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?

The description is dense and front-loaded: the dryRun-first workflow, batch limit, and two input shapes appear before lower-level detail. Every sentence contributes necessary operational or behavioral information, and the reference to docs/data-migration.md avoids inlining the full template spec. There is no 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?

For a complex bulk-import tool with 5 parameters, nested objects, and no output schema, the description is remarkably complete. It covers the write behavior, idempotency, never-overwrite guarantee, batch limit, two input forms, template determinism, and what reports are produced. The only slight gap is the exact response envelope, but the reference to per-row per-field reports and reported householdIds gives the agent enough to navigate.

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?

The schema covers 100% of parameters, so the baseline is 3. The description adds substantial semantic meaning beyond the schema: dryRun is a validation pass with no writes, importKey is a stable caller-provided id used for idempotency, and the template+records path executes a declarative mapping deterministically. It does not add much detail for api_key, but the schema already describes it.

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 opens with a specific verb and resource: 'Migrate a book (WS3.5): import up to 200 households in one call.' It clearly distinguishes this as a bulk migration operation versus the single-household sibling tools, and it names the two supported input shapes. The purpose is unambiguous and not a restatement of the tool name.

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

Usage Guidelines4/5

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

The description gives explicit workflow guidance: use dryRun first to validate and write nothing, iterate until the report is clean, then run for real. It also explains the choice between direct households[] and template + records. It does not explicitly contrast with sibling create_household, but the bulk-migration context and dryRun-first workflow make the intended usage clear.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: household CRUD, bulk import/mapping, projection/decision, model contract/run/verify, and narrative generation. Even the superficially similar pairs (project_household vs decide_household; run_model vs verify_claim) are clearly separated by their descriptions.

Naming Consistency5/5

All tool names use lowercase snake_case with imperative verb-first naming (create_, get_, patch_, replace_, run_, verify_). Pluralization follows natural semantics (list_models, import_households) without breaking the overall verb_noun pattern.

Tool Count5/5

13 tools is within the ideal range for a domain server. Each tool earns its place: household lifecycle, import tooling, model contract/run/verify, projection/decision, and narration form coherent clusters without redundancy.

Completeness4/5

Core workflows are well covered: create/read/update households, project and decide, list/get/run/verify models, and narrate decisions. Minor gaps remain: there is no delete_household or list_households, and no dedicated get_decision tool for retrieving a stored decision object independently.

Resources