Skip to main content
Glama
SGromych

DataForge Semantic MCP Server

by SGromych

df_preview_import

Idempotent

Preview an import dry run to compare source with target version, report per-field conflicts and changes without writing anything.

Instructions

Dry run: compare an import source with the target version and report what would change, including per-field conflicts. Nothing is written.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo
branchNo
optionsNo
file_pathNo
project_idYesDataForge project id
version_idYesProject version id
commit_hashNo
source_typeNo
connection_idNo
authenticationNoGit credentials, sent over TLS. Never logged, never returned.
repository_urlNo
conflict_strategyNo
encryption_passwordNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A3.9/5.0
Behavior4/5

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

The description explicitly states 'Nothing is written,' which is the key behavioral guarantee for a dry-run tool)Skip and adds value beyond the annotations by clarifying the operation has no mutation side effects. It also previews the output nature ('report what would change'), though it does not detail auth requirements, failure modes, or response structure.

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?

One tightly worded sentence front-loads the core intent ('Dry run'), states what it does, and includes the critical safety guarantee ('Nothing is written'). No filler or redundancy.

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?

This is a high-complexity tool with 13 parameters, nested authentication, multiple enums, and no output schema. The description gives a clear high-level purpose but leaves the agent without sufficient guidance on how to construct the import source specification, what conflict_strategy means in a dry-run context, or what the returned report looks like. The sparse schema descriptions do not fill this gap.

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 only 23%, and the description does not compensate by explaining the many parameters involved in specifying an import source (source_type, repository_url, authentication, file_path, branch, commit_hash, conflict_strategy, options). It only loosely references 'import source' and 'target version,' so an agent receives little help on how to populate the complex nested input.

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 operation ('Dry run: compare an import source with the target version') and a specific output ('report what would change, including per-field conflicts'). This clearly distinguishes it from the actual import siblings like df_import_version_from_git and df_import_version_from_file.

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 'Dry run' label and 'Nothing is written' clearly signal this tool is for previewing an import before applying it, which provides clear context for when to use it. However, it does not explicitly name alternatives or state when not to use it, so it stops short of full routing guidance.

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