Skip to main content
Glama
rush-db

RushDB MCP Server

Official
by rush-db

upsertEmbeddingVectors

Write pre-computed embedding vectors to an external vector index for specific records. Ensure each vector matches the index dimensions before checking indexing status.

Instructions

Write pre-computed embedding vectors to an external vector index for a set of records. Only valid for indexes with sourceType "external". Each vector must contain exactly as many dimensions as the index was created with. After upserting, call getEmbeddingIndexStats to check if all records are indexed (status becomes "ready").

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYesArray of record-vector pairs to write.
indexIdYesID of the external embedding index (from findEmbeddingIndexes).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, openWorldHint=false, and destructiveHint=false, so the safety profile is clear. The description adds meaningful behavioral context beyond annotations: the external-index restriction, the exact dimension requirement, and the recommended post-write verification step. It does not specify what happens when a recordId already exists, but the upsert name and non-destructive annotation make this reasonably inferable.

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 four tight sentences, front-loaded with the core action and then proceeding through constraints and post-write verification. Every sentence contributes useful information without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage, an output schema, and annotations, the description supplies enough additional context for correct invocation: external-only, dimension matching, and the follow-up stats check. It does not cover edge cases such as duplicate record IDs or failure behavior, but those are lower-priority given the structured support.

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 coverage is 100%, so the schema already documents both parameters, including the vector length matching index dimensions. The description adds a slightly more precise version of that constraint and notes vectors are pre-computed, but it does not add substantial meaning beyond the schema for indexId or items.

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 states a specific verb and resource: write pre-computed embedding vectors to an external vector index. It also distinguishes itself from sibling tools by naming the external index constraint and the follow-up getEmbeddingIndexStats call.

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 gives clear context for use: only valid for indexes with sourceType 'external', and it recommends calling getEmbeddingIndexStats afterward to verify indexing status. It does not explicitly name alternative tools such as vectorSearch or createEmbeddingIndex, but the usage scenario and constraint are clear.

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