Skip to main content
Glama
nipunkhanderia

golden-dataset-mcp

mcp-name: io.github.nipunkhanderia/golden-dataset-mcp

golden-dataset-mcp

An MCP server wrapping golden-dataset-studio — version-controlled golden dataset management and semantic evaluation for RAG/LLM pipelines.

This is a thin protocol layer over the existing golden_dataset library (DatasetStore, Evaluator). It does not reimplement any logic — it exposes the library's existing Python API as MCP tools so an agent (Claude Desktop, Claude Code, or any MCP client) can manage golden datasets conversationally.

No LLM API key required. Evaluation uses TF-IDF cosine similarity (scikit-learn), not an LLM call.

Why a separate package from golden-dataset-studio?

golden-dataset-studio is a CLI tool — designed for a human typing golden add, golden commit, etc. in a terminal. golden-dataset-mcp exposes the same underlying operations as MCP tools so an LLM agent can drive them programmatically, e.g. as part of an automated RAG evaluation pipeline. Keeping them as separate PyPI packages means CLI users aren't forced to pull in fastmcp as a dependency, and MCP users get a clean, protocol-focused package.

Related MCP server: IndexFoundry MCP

Tools

Tool

What it does

init_dataset

Initialise a new dataset at a given path

add_entry

Add a question/answer pair to the working tree

update_entry

Edit fields of an existing working-tree entry

delete_entry

Remove an entry from the working tree

list_entries

List working-tree or committed-version entries

commit_version

Snapshot the working tree as a new immutable version

diff_versions

Show entries added/removed/changed between two versions

evaluate_answers

Score actual answers against a version via TF-IDF cosine similarity

dataset_status

Show current version, working tree size, and version history

Design: every tool takes an explicit dataset_path

Unlike the CLI (which operates on the current working directory), every tool here requires an explicit dataset_path parameter. This keeps the server fully stateless between calls — no hidden "current dataset" session state to lose track of, and safe for one server instance to manage multiple datasets or serve multiple concurrent clients.

Installation

pip install golden-dataset-mcp

This pulls in golden-dataset-studio and scikit-learn automatically as dependencies.

Usage with Claude Desktop / Claude Code

{
  "mcpServers": {
    "golden-dataset": {
      "command": "golden-dataset-mcp"
    }
  }
}

No environment variables needed — no API key, no config.

Example flow

1. init_dataset(dataset_path="./my-rag-eval", name="support-bot-eval")
2. add_entry(dataset_path="./my-rag-eval", question="...", answer="...")
   [repeat for each golden Q&A pair]
3. commit_version(dataset_path="./my-rag-eval", description="initial 50 questions")
4. [run your RAG pipeline, collect actual answers]
5. evaluate_answers(dataset_path="./my-rag-eval", actual_answers=[...])
   -> avg_semantic_similarity, per-entry scores, pass/fail

As your RAG pipeline changes over time, commit_version again after edits and use diff_versions to see exactly what changed in your golden set between releases.

Relationship to the underlying library

golden-dataset-studio

golden-dataset-mcp

Interface

CLI (golden ...)

MCP tools

Driven by

A human typing commands

An LLM agent / MCP client

Path handling

Current working directory

Explicit dataset_path per call

Dependency direction

Depends on golden-dataset-studio

If you want the human-driven CLI, use golden-dataset-studio directly. If you want an agent to drive it, use this package.

Development

git clone https://github.com/nipunkhanderia/golden-dataset-mcp
cd golden-dataset-mcp
pip install -e ".[dev]"
pytest -v

Validate the MCP-facing contract:

npx @modelcontextprotocol/inspector golden-dataset-mcp

Limitations

  • evaluate_answers uses TF-IDF cosine similarity, which captures lexical overlap better than deep semantic meaning. For embedding-based or RAGAS-style metrics, call the underlying library's Evaluator.ragas_evaluate() directly (requires pip install "golden-dataset-studio[ragas]" — not exposed as an MCP tool in this version).

  • Very short or stop-word-only answers will raise an error. scikit-learn's TF-IDF vectorizer raises ValueError: empty vocabulary on inputs like a bare "4" or "the a an". Avoid single-token golden answers, or expect evaluate_answers to fail on them.

  • All state is filesystem-backed JSON/JSONL under <dataset_path>/.golden_dataset/; this server does no remote storage or syncing.

License

MIT

Available Tools

9 tools
add_entryA

Add a question-answer pair to the working tree of a golden dataset.

Entries added here are NOT yet versioned — call commit_version to snapshot them. dataset_path must already be initialised.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
statusYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that entries are not versioned and that dataset_path must be initialized, but does not describe error conditions, side effects, or return behavior. Adequate but could be more detailed.

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 concise with two sentences, front-loading the action. However, it could be slightly more efficient by integrating parameter hints without adding verbosity.

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

Completeness2/5

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

Given the rich input schema with multiple optional fields and an output schema, the description is insufficient. It does not mention the output or explain how optional parameters affect behavior, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only mentions question and answer, ignoring optional fields like contexts, ground_truth, tags, and metadata. This omission limits understanding of the tool's full capability.

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 clearly states the tool adds a question-answer pair to the working tree of a golden dataset, which is specific and distinguishes it from sibling tools like commit_version or delete_entry.

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 mentions that entries are not yet versioned and that commit_version should be used to snapshot them, and that dataset_path must be initialized. This provides clear context for use, though it does not explicitly exclude other scenarios or mention when to use alternatives like update_entry.

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

commit_versionB

Snapshot the current working tree as a new immutable dataset version.

Versions auto-increment (1.0 -> 1.1 -> 1.2...). Fails if the working tree is empty.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
versionYes
entry_countYes
sha256Yes
parent_versionYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It mentions immutability, auto-increment, and failure on empty working tree. But it omits details like whether the operation is destructive, required permissions, or any side effects. Some behavior is disclosed, but not comprehensively.

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 extremely concise: two sentences that immediately convey the purpose and key behaviors. Every sentence adds value without unnecessary words.

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

Completeness2/5

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

Despite having an output schema, the description lacks essential completeness: it does not explain the parameters nor provide error conditions beyond the empty tree scenario. Given the presence of nested objects and no annotations, the description falls short of being fully informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning no parameter descriptions in the schema. The tool description does not explain the parameters (dataset_path, description) beyond the overall action. This leaves the agent unclear about what each parameter means or how to use them properly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Snapshot the current working tree as a new immutable dataset version.' It also notes version auto-increment and the failure condition when working tree is empty. This distinguishes it from sibling tools like add_entry or dataset_status, though it doesn't explicitly contrast them.

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

Usage Guidelines3/5

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

The description implies when to use (to create a version) and provides a condition for failure (empty working tree). However, it does not mention when not to use it, prerequisites, or alternatives. The guidance is minimal but adequate.

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

dataset_statusB

Show the current state of a golden dataset: name, current version, and working tree size.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
descriptionYes
current_versionYes
working_tree_entry_countYes
versionsYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description discloses the read-only nature ('Show') and what data is returned. However, it lacks additional behavioral context such as required permissions, potential delays, or whether the working tree size is computed on demand. It is minimally transparent but not misleading.

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 a single sentence of 14 words, with no redundant information. Every word is necessary to convey the tool's purpose and output, meeting the conciseness standard effectively.

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

Completeness3/5

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

For a simple read tool with one parameter and an output schema, the description is adequate but not complete. It omits parameter description and any mention of error cases or performance implications. The presence of an output schema somewhat mitigates the need to detail return values, but the missing parameter semantics is a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description does not mention the sole parameter 'dataset_path' at all. The agent cannot infer from the description what value to provide or its format (e.g., file path, identifier). The description adds no semantic value beyond the raw 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 the specific verb 'Show' and clearly identifies the resource as a 'golden dataset' with explicit attributes (name, current version, working tree size). It distinguishes from sibling tools, which focus on entries or other operations, making the tool's purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., when to use list_entries instead). There are no exclusions, prerequisites, or context cues for the agent to decide between this and sibling tools.

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

delete_entryA

Remove an entry from the working tree by its id. Does not affect already-committed versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
statusYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It discloses that committed versions are not affected, which is a key behavioral detail, but lacks information on mutability, permissions, or idempotency.

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 very concise, consisting of two short sentences that clearly convey the action and its scope without unnecessary words.

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

Completeness3/5

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

The description covers the core functionality but lacks details about return values (despite output schema existing) and error conditions, leaving some context incomplete for a delete operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description should compensate by explaining parameters. However, only 'entry_id' is hinted via 'by its id', and 'dataset_path' is not mentioned at all.

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 explicitly states 'Remove an entry from the working tree' with the verb 'remove' and the resource 'entry', and clearly differentiates from siblings by noting it does not affect committed versions.

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 indicates when to use (to remove an uncommitted entry) by stating it does not affect committed versions, but does not explicitly state when not to use or list alternatives.

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

diff_versionsB

Show entries added, removed, or changed between two committed versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
addedYes
removedYes
changedYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations exist, so the description must cover behavioral traits. It states the tool shows changes (a read operation), but fails to disclose idempotency, permission requirements, or behavior when versions are missing. The minimal description leaves significant gaps.

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?

A single, concise sentence that front-loads the key action and resource with no extraneous words. Every word earns its place.

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

Completeness3/5

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

The description is adequate given the output schema presumably documents return values, but it lacks nuance: it doesn't explain what 'entries' refers to, the format of changes, or validate version existence. With sibling tools, more contextual hints would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% per context, though v1 and v2 have inline descriptions. The tool description adds no parameter details beyond what the schema already provides (e.g., dataset_path lacks description). With low schema coverage, the description should compensate but does not.

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 clearly states it shows entries added, removed, or changed between two versions, using a specific verb ('Show') and resource ('entries between committed versions'). This distinguishes it from siblings like list_entries (which lists all entries) and update_entry (which modifies).

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

Usage Guidelines3/5

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

The description implies the tool is for comparing versions but provides no explicit guidance on when to use it versus alternatives like list_entries or evaluate_answers. It lacks when-not-to-use or conditionals.

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

evaluate_answersA

Score actual LLM/RAG-generated answers against the golden dataset using TF-IDF cosine similarity (no LLM call, no API key needed).

actual_answers must be supplied in the same order as the entries in the target version. Omit version to evaluate against the current committed version.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataset_nameYes
versionYes
total_entriesYes
avg_semantic_similarityYes
passedYes
resultsYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool uses TF-IDF cosine similarity and requires no API key or LLM call, implying a lightweight read operation. However, it does not state whether the tool modifies any data, its idempotency, or potential error conditions.

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 very concise: two sentences that convey purpose, method, and key usage details. No extraneous words, and the information is front-loaded.

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?

For a tool with an output schema and no annotations, the description covers the core purpose and constraints. It lacks information about prerequisites (e.g., the dataset must exist and have golden answers) and error handling, but overall it is complete enough for an agent to use 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?

The description adds critical semantic information beyond the input schema: it explains the ordering constraint for actual_answers and the default behavior for the version parameter. While dataset_path lacks description in both schema and description, the provided hints for the other two parameters are valuable.

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 clearly identifies the tool's purpose: scoring LLM/RAG answers against a golden dataset using TF-IDF cosine similarity. It specifies the method and notes that no LLM call or API key is needed, which distinguishes it from potential alternatives. The sibling tools are all dataset management actions, so the evaluation tool stands out.

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 provides specific usage instructions: the order constraint on actual_answers and the option to omit version for the current committed dataset. Though it doesn't explicitly compare to siblings, the context of siblings being non-evaluation tools makes the guidelines sufficient.

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

init_datasetA

Initialise a new version-controlled golden dataset at dataset_path.

Creates a .golden_dataset/ directory there. Fails if one already exists at that path — delete .golden_dataset/ manually to start fresh.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
descriptionYes
created_atYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description discloses key behavioral traits: it creates a directory, fails if one already exists, and suggests manual deletion to reinitialize. This adds context beyond a simple 'init' statement, though it could mention potential side effects or permissions needed.

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 concise and front-loaded: the first sentence states the main action, and the second adds critical failure information. Every sentence adds value with no unnecessary fluff.

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?

The description covers the primary behavior and failure condition. With an output schema presumably existing, the lack of output details is acceptable. Minor omission: it could mention the return value or success indicator, but overall it is adequate for an init 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?

The input schema already includes descriptions for dataset_path, name, and description. The tool description only references dataset_path, adding no new meaning. Schema description coverage appears high, so a baseline score of 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 clearly states the tool initializes a new version-controlled golden dataset and creates a .golden_dataset directory. It uses a specific verb and resource, and the action is distinct from sibling tools that perform other operations like adding entries or viewing status.

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

Usage Guidelines3/5

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

The description implies usage for initialization of a golden dataset, but it does not explicitly specify when not to use this tool or provide alternatives. While siblings are listed, there is no direct guidance on choosing this tool over them.

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

list_entriesA

List entries in a dataset. Omit version to see the uncommitted working tree; pass a version (e.g. '1.0') to see a committed snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
entriesYes
countYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are present, so the description carries full responsibility. It discloses the behavioral difference between omitting and passing the version parameter. However, it does not mention other behavioral aspects such as ordering, pagination, or error handling, which would be helpful.

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 two sentences long, with the first sentence stating the purpose and the second explaining the key parameter variation. It is front-loaded and concise without any wasted words.

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?

Given the presence of an output schema, the description does not need to explain return values. It covers the main behavior and the critical parameter distinction. However, it omits details like permissions or whether entries are sorted, but it is adequate for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the version parameter well but does not provide any additional meaning for the required dataset_path parameter beyond what is in 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-resource pair ('List entries in a dataset') and distinguishes this from sibling tools like add_entry, delete_entry, and update_entry, which are mutation tools. The behavior varies based on the version parameter, as explicitly stated.

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 provides clear guidance on when to omit the version parameter (to see the uncommitted working tree) versus when to pass a version (to see a committed snapshot). It does not explicitly state when not to use the tool or list alternatives, but the context is sufficient for a list tool.

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

update_entryA

Update fields of an existing working-tree entry by its id.

Only fields you provide are changed; omitted fields are left as-is. Raises an error if entry_id is not found in the working tree.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
questionYes
answerYes
contextsYes
tagsYes
metadataYes
updated_atYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations present, so description must cover behavior. It discloses partial update (only provided fields changed) and error for missing entry_id. However, it does not mention side effects, atomicity, or return value. The output schema likely covers return, but behavioral details are somewhat limited.

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 concise (three sentences) and front-loaded with the main action. Each sentence is necessary: purpose, partial update behavior, error condition. No redundant information.

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?

Given the tool's complexity (multiple fields) and the presence of an output schema, the description covers key aspects: update operation, partial update, and error. It lacks mention of prerequisites (e.g., dataset existence) or versioning impact, but overall is fairly complete for an update tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description does not explain individual parameters beyond mentioning 'fields' and 'id'. It does not clarify required parameters (dataset_path, entry_id) or the meaning of optional fields like question, answer, etc. The description adds minimal value over the parameter names.

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 clearly states it updates fields of an existing working-tree entry by its id. It mentions partial update behavior and error case. This distinguishes it from add_entry (adds), delete_entry (deletes), and list_entries (lists).

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

Usage Guidelines3/5

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

The description implies use for updating existing entries, but does not explicitly state when to use versus siblings like add_entry. No 'when not to use' guidance is provided, though the error condition is mentioned.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv0.1.0
    • First observedadd_entry
    • First observedcommit_version
    • First observeddataset_status
    • First observeddelete_entry
    • First observeddiff_versions
    • First observedevaluate_answers
    • First observedinit_dataset
    • First observedlist_entries
    • First observedupdate_entry

TDQS

A3.9/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: init, add, delete, update, list, commit, status, diff, and evaluate. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow the verb_noun pattern in snake_case, e.g., add_entry, commit_version, list_entries. Consistent and predictable.

Tool Count5/5

9 tools is well-scoped for a version-controlled golden dataset server. It covers all essential operations without being bloated or sparse.

Completeness4/5

The tool surface covers init, CRUD for working tree, versioning, listing, status, diff, and evaluation. Minor gap: no dedicated get-single-entry tool, but list_entries likely returns full entries.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Creates deterministic, auditable vector databases from any content source with deployable RAG applications. Supports multiple embedding providers and vector databases with fine-grained pipeline control or project-based workflows.
    5 npm
    6
    Academic Free v1.1
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables LLM evaluation and observability by uploading documents, building test sets, running RAG pipelines, and automatically scoring answers for groundedness, hallucination risk, retrieval quality, latency, and cost, with tools exposed to MCP-compatible clients.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables ingestion and semantic search over text documents using PostgreSQL + pgvector and OpenAI-compatible embeddings, allowing any LLM agent to retrieve relevant chunks for grounded answers.
    4
    AGPL 3.0