Skip to main content
Glama
riveterhq

Riveter MCP Server

Official
by riveterhq

Update enrichment

update_enrichment
Destructive

Edit an enrichment's name, prompt, budget, tools, and output columns—add, rename, change, pin, or delete columns—to keep dataset enrichments aligned with research needs.

Instructions

update enrichment

Edit an enrichment: name, prompt, input_columns, budget (credits per row; moves by 1.5 per output column added or removed unless budget_locked), only_tools / additional_tools, and output columns by name: a new name adds a column (type inferred unless output_schema is given), { "prompt", "output_schema" } changes one, { "tool": "<list_tools name>" } pins a tool to it — one call per row is the cell, the agent choosing the arguments (null unpins; help with pinned_columns), { "rename" } renames, { "delete": true } removes. Changed columns make dataset cells stale (re-run by the next enrich). 409 enrichment_in_use while a fill runs. Prefer update_dataset to change one dataset's columns. help with output_schema.

Example — Change one column's prompt, add a typed one: { "output": { "CEO": { "prompt": "Full name of the current CEO" }, "Employee count": { "prompt": "Current headcount as an integer", "output_schema": { "type": "integer", "minimum": 0 } } } }

Example — Rename a column, delete another: { "output": { "HQ": { "rename": "HQ city" }, "Old Column": { "delete": true } } }

Example — New prompt and budget: { "prompt": "Research each company's go-to-market motion", "budget": 8 }

Input Schema

NameRequiredDescriptionDefault
idYesThe enrichment id (enr_...)
nameNoDisplay name. An empty string clears it.
budgetNoCredits the row agent may spend per row. Sent with column changes, it wins over the per-column adjustment.
outputNoOutput column edits keyed by column name. A name not on the enrichment adds a column; `prompt` / `output_schema` / `tool` change one (its filled cells read `stale`); `rename` renames it (cells kept); `delete: true` removes it.
promptNoThe task prompt the row agent reads for every row.
only_toolsNoExactly these tools (names from GET /tools). Replaces the default set.
budget_lockedNotrue keeps the budget as set when output columns are added or removed; false lets it move by 1.5 per column again.
input_columnsNoThe headers rows must carry when this enrichment runs (replaces the list; [] = any headers). Names only; no row data.
additional_toolsNoThe default tools plus these (e.g. linkedin_person_contact; custom_apollo_people_search once enabled on the account and your Apollo key is linked). See GET /v1/tools.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.5

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important side effects: budget movement by 1.5 per column, `budget_locked` behavior, changed cells becoming `stale` until the next `enrich`, tool-pinning semantics, rename behavior, and deletion of columns. These details materially help an agent understand the destructive and non-idempotent nature already flagged by the annotations.

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?

The description is dense but appropriately sized for a complex nested mutation, with the core behavior front-loaded before the examples. It could be tightened slightly because the opening 'update enrichment' is tautological and the `help` references are repeated.

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 nine-parameter nested mutation with no output schema, the description covers the editable surface, important side effects, conflict behavior, and practical examples. The annotations and rich schema descriptions carry the remaining structural details, so an agent has enough context to invoke it correctly.

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 100%, so the baseline is 3, but the description adds operational meaning beyond the schema: how `budget` interacts with column changes, how `output` entries add/change/rename/delete columns, and how tool pinning produces one call per row. The examples further clarify nested `output` usage, though some parameter detail is duplicated from the schema.

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 uses a specific verb and resource: 'Edit an enrichment,' then enumerates the exact editable fields, including nested output-column edits. It also distinguishes this tool from the sibling `update_dataset`, which handles changing one dataset's columns.

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?

It explicitly routes one alternative case to `update_dataset` and warns that a 409 `enrichment_in_use` occurs while a fill runs. However, it does not fully state when to use this versus `create_enrichment`, `delete_enrichment`, or `get_enrichment`, so it is clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.