Skip to main content
Glama
ragflow-kb-mcp
by feci

ragflow_diff_commits

Read-only

Compare two commits of a workspace or dataset to list files added, modified, deleted, or renamed, enabling change tracking and diff analysis.

Instructions

Compare two commits of a workspace and list which files were added, modified, deleted or renamed.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "from_commit_id": "<from_commit_id>",
      "to_commit_id": "<to_commit_id>"
    },
    "name": "ragflow_diff_commits"
  }
}

Input Schema

NameRequiredDescriptionDefault
dataset_idNoDataset ID; resolves to the dataset's folder. Use instead of workspace_id.
to_commit_idYesCommit ID
workspace_idNoWorkspace = a folder in the file manager; pass its folder ID. Use dataset_id instead to address the folder that holds a dataset's files.
from_commit_idYesCommit ID

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the useful detail that results are grouped by change type, but omits the scoping requirement and any hint about the output shape despite declaring an output schema. Adequate, not rich.

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 front-loaded sentence with zero filler. The change-type enumeration earns its place because it tells the agent what the response contains.

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 output schema and annotations cover return values and safety, so the main remaining gap is procedural: neither the description nor the top-level text states that a workspace or dataset scope is required. For a diff tool with four parameters, that omission leaves the agent to reverse-engineer required scoping from the schema defaults.

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 description coverage is 100% and the two scoping parameters already carry their own explanations ('Use instead of workspace_id'), so the schema does the heavy lifting. The description adds nothing about commit ID format or the from/to direction semantics beyond what the field names imply.

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?

Names a specific verb-and-resource pair ('Compare two commits of a workspace') and enumerates the result categories (added, modified, deleted, renamed). It is distinguishable from ragflow_get_uncommitted_changes in spirit, but never says so explicitly, so sibling differentiation is left to inference.

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 statement of when to use this versus ragflow_list_commit_files, ragflow_get_uncommitted_changes, or ragflow_get_commit_tree. Nothing warns that the caller must supply exactly one of dataset_id or workspace_id to scope the comparison.

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

Deploy Server

Other Tools