Skip to main content
Glama
gcorroto

SVN MCP Server

by gcorroto

SVN MCP Server

A complete MCP (Model Context Protocol) server for Subversion (SVN) integration, designed to let AI agents manage SVN repositories efficiently.

๐ŸŽฏ Features

  • โœ… Basic repository operations: info, status, log, diff, checkout, update

  • โœ… File management: add, commit, delete, revert

  • โœ… Maintenance tools: cleanup

  • ๐Ÿ”„ Branch management: (In development)

  • ๐Ÿ”„ Advanced operations: merge, switch, properties (In development)

  • ๐Ÿ”„ Analysis tools: blame, conflict detection (In development)

  • ๐Ÿ”„ Batch operations: (In development)

Related MCP server: MCP Toolkit

๐Ÿ“‹ Requirements

  • Node.js >= 18.0.0

  • Subversion (SVN) installed and available on PATH

  • TypeScript (for development)

๐Ÿ” Detecting the SVN installation

Check whether SVN is installed

# Basic command to check SVN
svn --version

# Check the full path of the executable
where svn        # Windows
which svn        # Linux/Mac

# Check the full SVN client
svn --version --verbose

Expected output if SVN is correctly installed:

svn, version 1.14.x (r1876290)
   compiled Apr 13 2023, 17:22:07 on x86_64-pc-mingw32

Copyright (C) 2023 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

โŒ Common errors if SVN is NOT installed:

# Windows
'svn' is not recognized as an internal or external command

# Linux/Mac
svn: command not found
bash: svn: command not found

๐Ÿ› ๏ธ Advanced diagnostics

# Check the system PATH
echo $PATH                    # Linux/Mac
echo %PATH%                   # Windows CMD
$env:PATH                     # Windows PowerShell

# Search for SVN executables on the system
find / -name "svn" 2>/dev/null           # Linux
Get-ChildItem -Path C:\ -Name "svn.exe" -Recurse -ErrorAction SilentlyContinue  # Windows PowerShell

# Check the specific client version
svn --version | head -1       # Get just the first line with the version

๐Ÿ’พ Installing SVN on Windows

Option 1: Package managers

# Using Chocolatey (Recommended)
choco install subversion

# Using winget
winget install CollabNet.Subversion

# Using Scoop
scoop install subversion

Option 2: Official installers

  1. TortoiseSVN (includes the command-line client):

    https://tortoisesvn.net/downloads.html
    โœ… Includes GUI and CLI clients
    โœ… Windows Explorer integration
  2. SlikSVN (command line only):

    https://sliksvn.com/download/
    โœ… Lightweight (CLI only)
    โœ… Ideal for automation
  3. CollabNet Subversion:

    https://www.collab.net/downloads/subversion
    โœ… Enterprise version
    โœ… Commercial support available

Option 3: Visual Studio or Git for Windows

# If you have Git for Windows installed, it can include SVN
git svn --version

# Visual Studio can also include SVN
# Go to: Visual Studio Installer > Modify > Individual Components > Subversion

๐Ÿง Installing SVN on Linux

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install subversion

# CentOS/RHEL/Fedora
sudo yum install subversion        # CentOS 7
sudo dnf install subversion        # CentOS 8/Fedora

# Arch Linux
sudo pacman -S subversion

# Alpine Linux
sudo apk add subversion

๐ŸŽ Installing SVN on macOS

# Homebrew (Recommended)
brew install subversion

# MacPorts
sudo port install subversion

# From Xcode Command Line Tools (may already be included)
xcode-select --install

๐Ÿ”ง Configuring SVN after installation

Check the global configuration

# Show current configuration
svn config --list

# Configure the global user
svn config --global auth:username your_username

# Configure the default editor
svn config --global editor "code --wait"     # VS Code
svn config --global editor "notepad"         # Windows Notepad
svn config --global editor "nano"            # Linux/Mac nano

Check repository access

# Test connection to a repository (without checking out)
svn list https://svn.example.com/repo/trunk

# Test with specific credentials
svn list https://svn.example.com/repo/trunk --username user --password password

๐Ÿš€ Installation

From NPM

npm install -g @grec0/mcp-svn

Local Development

git clone https://github.com/gcorroto/mcp-svn.git
cd mcp-svn
npm install
npm run build

โš™๏ธ Configuration

Environment Variables

Variable

Description

Default

SVN_PATH

Path to the SVN executable

svn

SVN_WORKING_DIRECTORY

Local working copy directory

process.cwd()

SVN_URL (alias: SVN_REPOSITORY_URL)

Repository URL. Enables URL-only workflows and /trunk/... target resolution

-

SVN_USERNAME

Authentication user

-

SVN_PASSWORD

Authentication password

-

SVN_TIMEOUT

Timeout in milliseconds

30000

SVN_WORKING_DIRECTORY and SVN_URL are independent โ€” set either or both. With both configured, local operations (svn_status, svn_commit, ...) run in the working copy, and URL-capable tools (svn_cat, svn_list, svn_info, svn_log, svn_diff) can be called with:

  • a full URL (https://svn.example.com/repo/trunk/file.sql)

  • a repo-relative path starting with / (/trunk/file.sql) โ€” joined with SVN_URL

  • a local path โ€” resolved against the working copy

Example MCP Configuration

{
  "mcpServers": {
    "svn": {
      "command": "npx",
      "args": ["@grec0/mcp-svn"],
      "env": {
        "SVN_PATH": "svn",
        "SVN_WORKING_DIRECTORY": "C:/path/to/working/copy",
        "SVN_URL": "https://svn.example.com/repo",
        "SVN_USERNAME": "your_username",
        "SVN_PASSWORD": "your_password"
      }
    }
  }
}

๐Ÿ› ๏ธ Available Tools

Basic Operations

svn_health_check

Check the health status of the SVN system and working copy.

svn_health_check()

svn_info

Get detailed information about the working copy or a specific file.

svn_info(path?: string)

svn_status

Show the status of files in the working copy.

svn_status(path?: string, showAll?: boolean)

svn_log

Show the commit history of the repository.

svn_log(path?: string, limit?: number, revision?: string)

svn_diff

Show differences between file revisions.

svn_diff(path?: string, oldRevision?: string, newRevision?: string)

Repository Operations

svn_checkout

Check out an SVN repository.

svn_checkout(
  url: string,
  path?: string,
  revision?: number | "HEAD",
  depth?: "empty" | "files" | "immediates" | "infinity",
  force?: boolean,
  ignoreExternals?: boolean
)

svn_update

Update the working copy from the repository.

svn_update(
  path?: string,
  revision?: number | "HEAD" | "BASE" | "COMMITTED" | "PREV",
  force?: boolean,
  ignoreExternals?: boolean,
  acceptConflicts?: "postpone" | "base" | "mine-conflict" | "theirs-conflict" | "mine-full" | "theirs-full"
)

File Management

svn_add

Add files to version control.

svn_add(
  paths: string | string[],
  force?: boolean,
  noIgnore?: boolean,
  parents?: boolean,
  autoProps?: boolean,
  noAutoProps?: boolean
)

svn_commit

Commit changes to the repository.

svn_commit(
  message: string,
  paths?: string[],
  file?: string,
  force?: boolean,
  keepLocks?: boolean,
  noUnlock?: boolean
)

svn_delete

Remove files from version control.

svn_delete(
  paths: string | string[],
  message?: string,
  force?: boolean,
  keepLocal?: boolean
)

svn_revert

Revert local changes on files.

svn_revert(paths: string | string[])

Maintenance Tools

svn_cleanup

Clean up the working copy from interrupted operations.

svn_cleanup(path?: string)

๐Ÿ“– Usage Examples

Check the system status

// Check that SVN is available and the working copy is valid
const healthCheck = await svn_health_check();

Get repository information

// General working copy information
const info = await svn_info();

// Information about a specific file
const fileInfo = await svn_info("src/main.js");

Show file status

// Status of all files
const status = await svn_status();

// Status including remote information
const fullStatus = await svn_status(null, true);

Check out a repository

const checkout = await svn_checkout(
  "https://svn.example.com/repo/trunk",
  "local-copy",
  "HEAD",
  "infinity",
  false,
  false
);

Commit changes

// Add files
await svn_add(["src/new-file.js", "docs/readme.md"], { parents: true });

// Commit
await svn_commit(
  "Add new feature and documentation",
  ["src/new-file.js", "docs/readme.md"]
);

๐Ÿงช Testing

# Run tests
npm test

# Tests with coverage
npm run test -- --coverage

# Tests in watch mode
npm run test -- --watch

๐Ÿ—๏ธ Development

Available scripts

# Build TypeScript
npm run build

# Development mode
npm run dev

# Watch mode
npm run watch

# MCP Inspector
npm run inspector

# Tests
npm test

# Publish a new version
npm run release:patch
npm run release:minor
npm run release:major

Project structure

svn-mcp/
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tsconfig.json
โ”œโ”€โ”€ jest.config.js
โ”œโ”€โ”€ index.ts
โ”œโ”€โ”€ common/
โ”‚   โ”œโ”€โ”€ types.ts      # TypeScript types
โ”‚   โ”œโ”€โ”€ utils.ts      # SVN utilities
โ”‚   โ””โ”€โ”€ version.ts    # Package version
โ”œโ”€โ”€ tools/
โ”‚   โ””โ”€โ”€ svn-service.ts # Main SVN service
โ”œโ”€โ”€ tests/
โ”‚   โ””โ”€โ”€ integration.test.ts # Integration tests
โ””โ”€โ”€ README.md

๐Ÿ“Š Development Status

See the SVN_MCP_IMPLEMENTATION.md file for the full implementation checklist.

Current progress: Stage 1 complete (Basic Operations) โœ…

Next stages:

  • Branch management (branching)

  • Advanced operations (merge, switch)

  • Analysis tools

  • Batch operations

๐Ÿ› Troubleshooting

SVN not found

Error: SVN is not available in the system PATH

Solution: Install SVN and make sure it is on the system PATH.

Not a working copy

Error: Failed to get SVN info: svn: warning: W155007: '.' is not a working copy

Solution: Navigate to a directory that is an SVN working copy or run checkout first.

Authentication issues

Error: svn: E170001: Authentication failed

Solution: Set the SVN_USERNAME and SVN_PASSWORD environment variables.

Timeouts on long operations

Error: Command timeout after 30000ms

Solution: Increase the value of SVN_TIMEOUT.

๐Ÿ“„ License

MIT License - see LICENSE for more details.

๐Ÿค Contributing

  1. Fork the project

  2. Create a feature branch (git checkout -b feature/new-feature)

  3. Commit your changes (git commit -am 'Add new feature')

  4. Push to the branch (git push origin feature/new-feature)

  5. Open a Pull Request

๐Ÿ“ž Support

Available Tools

14 tools
svn_addC

Aรฑadir archivos al control de versiones

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesArchivo(s) o directorio(s) a aรฑadir
forceNoForzar adiciรณn
noIgnoreNoNo respetar reglas de ignore
parentsNoCrear directorios padre si es necesario
autoPropsNoAplicar auto-propiedades
noAutoPropsNoNo aplicar auto-propiedades

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('aรฑadir') but doesn't explain what this entails (e.g., files become tracked, changes are staged for commit), potential side effects (e.g., file locking, repository updates), or constraints (e.g., permissions, network requirements). This is a significant gap for a mutation tool with zero annotation coverage.

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, efficient sentence in Spanish ('Aรฑadir archivos al control de versiones') that directly states the tool's purpose. It is front-loaded with no wasted words, making it highly concise and well-structured for quick understanding.

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 complexity (a mutation tool with 6 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects, usage context, or output expectations, leaving gaps that could hinder an agent's ability to invoke the tool correctly in a real-world scenario.

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%, meaning all parameters are documented in the schema. The description adds no additional meaning about parameters beyond what the schema provides (e.g., it doesn't clarify interactions like 'autoProps' vs 'noAutoProps'). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate or add value.

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 'Aรฑadir archivos al control de versiones' clearly states the verb ('aรฑadir') and resource ('archivos al control de versiones'), making the purpose understandable. However, it doesn't explicitly differentiate from siblings like 'svn_commit' or 'svn_update', which also involve version control operations, so it lacks sibling distinction.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., files must be untracked), contrast with siblings (e.g., 'svn_commit' for saving changes), or specify contexts (e.g., initial file addition). This leaves the agent without usage direction.

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

svn_checkoutC

Hacer checkout de un repositorio SVN

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL del repositorio SVN
pathNoDirectorio destino
revisionNoRevisiรณn especรญfica
depthNoProfundidad del checkout
forceNoForzar checkout
ignoreExternalsNoIgnorar externals

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It states the action (checkout) but doesn't describe what the tool actually does (e.g., creates a working copy, downloads files, requires authentication, handles errors, or returns output). This leaves significant gaps in understanding the tool's behavior.

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, efficient sentence in Spanish that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.

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 tool's complexity (6 parameters, no output schema, and no annotations), the description is insufficient. It doesn't explain what the tool returns, error conditions, authentication needs, or how it interacts with the filesystem. For a tool that performs a significant filesystem operation like checkout, more context is needed.

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 schema description coverage is 100%, with all 6 parameters well-documented in the schema itself. The description adds no additional parameter information beyond what's in the schema, so it meets the baseline of 3 for adequate coverage when the schema does the heavy lifting.

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 'Hacer checkout de un repositorio SVN' clearly states the action (checkout) and resource (SVN repository) in Spanish. It distinguishes this tool from siblings like svn_commit or svn_update by specifying the checkout operation, though it doesn't explicitly contrast with similar tools like svn_update that also retrieve files.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an SVN repository URL), when not to use it (e.g., for updating existing checkouts), or refer to sibling tools like svn_update for different scenarios.

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

svn_cleanupC

Limpiar working copy de operaciones interrumpidas

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoRuta especรญfica a limpiar

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions cleaning interrupted operations but doesn't detail what this entails (e.g., whether it's destructive, requires specific permissions, or has side effects like removing temporary files). For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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 a single, efficient sentence in Spanish that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, though it could benefit from slightly more detail given the lack of annotations and output schema.

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 tool's complexity (a mutation operation for cleaning interrupted SVN operations), the absence of annotations and output schema, and the description's limited behavioral details, the description is incomplete. It doesn't explain what 'cleaning' entails, potential impacts, or return values, leaving the agent with insufficient context for safe and effective use.

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 has 1 parameter with 100% description coverage ('Ruta especรญfica a limpiar'), so the schema already documents the parameter meaning. The description adds no additional semantic context beyond what the schema provides, resulting in a baseline score of 3 as the schema handles the heavy lifting.

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

Purpose3/5

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

The description states the purpose ('Limpiar working copy de operaciones interrumpidas') which translates to 'Clean working copy of interrupted operations', providing a specific verb ('clean') and resource ('working copy'). However, it doesn't clearly distinguish from siblings like 'svn_revert' or 'svn_status' which might handle similar cleanup scenarios, leaving the differentiation vague.

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 explicit guidance on when to use this tool versus alternatives like 'svn_revert' or 'svn_status' is provided. The description implies usage for interrupted operations but doesn't specify contexts, exclusions, or prerequisites, offering minimal direction for selection among sibling tools.

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

svn_clear_credentialsB

Limpiar cache de credenciales SVN para resolver errores de autenticaciรณn

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions clearing credentials cache to resolve authentication errors, which implies a mutation operation (clearing/deleting cached data). However, it doesn't disclose important behavioral traits such as whether this requires specific permissions, whether the action is reversible, what happens to current sessions, or potential side effects. For a mutation tool with zero annotation coverage, this is a significant gap.

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, efficient sentence in Spanish that directly states the tool's purpose and intended use case. It's appropriately sized and front-loaded with the core action ('Limpiar cache de credenciales SVN') followed by the purpose ('para resolver errores de autenticaciรณn'). Every word earns its place with zero waste.

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?

Given the tool's complexity (mutation operation affecting credentials), lack of annotations, and no output schema, the description is minimally adequate but incomplete. It explains what the tool does and why, but doesn't cover important contextual aspects like what 'clearing' entails, whether it affects all users or just the current session, what authentication methods are impacted, or what the expected outcome looks like. For a credentials-related mutation tool, more completeness would be expected.

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 tool has 0 parameters, and schema description coverage is 100% (empty schema is fully documented). With no parameters to describe, the description doesn't need to add parameter semantics. The baseline for 0 parameters is 4, as there's no parameter information to provide beyond what the schema already indicates (no parameters).

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: 'Limpiar cache de credenciales SVN' (Clear SVN credentials cache) with the specific goal 'para resolver errores de autenticaciรณn' (to resolve authentication errors). It uses a specific verb ('Limpiar') and resource ('cache de credenciales SVN'), though it doesn't explicitly differentiate from sibling tools like 'svn_cleanup' or 'svn_diagnose' which might have overlapping purposes.

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 context ('para resolver errores de autenticaciรณn' - to resolve authentication errors), suggesting it should be used when authentication issues arise. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'svn_cleanup' or 'svn_diagnose', nor does it mention any prerequisites or exclusions.

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

svn_commitC

Confirmar cambios al repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesMensaje del commit
pathsNoArchivos especรญficos a confirmar
fileNoArchivo con mensaje de commit
forceNoForzar commit
keepLocksNoMantener locks despuรฉs del commit
noUnlockNoNo desbloquear archivos

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('confirmar cambios') but doesn't reveal critical traits: whether this is a destructive operation (likely yes, as commits are permanent), authentication requirements, rate limits, or what happens on success/failure (e.g., returns a commit hash). For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient phrase ('Confirmar cambios al repositorio') that front-loads the core purpose without unnecessary words. It's appropriately sized for a tool with a clear primary function, and every part of the sentence earns its place by specifying the action and target.

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 tool's complexity (6 parameters, mutation operation) and lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects (e.g., destructiveness, auth needs), output expectations, or error handling. For a commit tool in a version control context, this leaves critical gaps for an AI agent to use it effectively.

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%, with all parameters well-documented in the schema (e.g., 'message' as commit message, 'paths' as specific files). The description adds no parameter semantics beyond what the schema providesโ€”it doesn't explain parameter interactions (e.g., 'message' vs. 'file') or usage nuances. Baseline 3 is appropriate since the schema does the heavy lifting, but the description doesn't compensate with extra context.

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 'Confirmar cambios al repositorio' clearly states the verb ('confirmar') and resource ('repositorio'), translating to 'commit changes to the repository' in English. It distinguishes from siblings like svn_add or svn_revert by focusing on committing rather than adding or reverting changes. However, it doesn't explicitly differentiate from all siblings (e.g., svn_update also modifies the repository), so it's not a perfect 5.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing staged changes), exclusions (e.g., not for uncommitted files), or comparisons to siblings like svn_add (for adding files) or svn_revert (for undoing changes). This leaves the agent with minimal context for tool selection.

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

svn_deleteC

Eliminar archivos del control de versiones

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesArchivo(s) o directorio(s) a eliminar
messageNoMensaje para eliminaciรณn directa en repositorio
forceNoForzar eliminaciรณn
keepLocalNoMantener copia local

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Eliminar' implies a destructive operation, it doesn't specify critical details like whether this requires commit permissions, if deletions are permanent or reversible, what happens to file history, or any rate limits. For a destructive tool with zero annotation coverage, this is a significant gap in transparency.

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, clear sentence in Spanish that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized and front-loaded, making it easy to understand at a glance, which is ideal for conciseness.

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 tool's complexity (a destructive operation with 4 parameters) and the lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like safety, permissions, or output format, which are crucial for proper use. While the schema handles parameters well, the overall context for a deletion tool is insufficient.

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 schema description coverage is 100%, meaning all parameters are documented in the schema itself (e.g., 'paths' for files/directories to delete, 'message' for commit message, 'force' to force deletion, 'keepLocal' to keep local copies). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for high coverage.

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 action ('Eliminar' meaning 'Delete') and the target ('archivos del control de versiones' meaning 'files from version control'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'svn_revert' or 'svn_cleanup', which might also involve removal operations in different contexts.

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?

The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't clarify if this is for deleting files from the repository permanently versus local cleanup, or how it differs from 'svn_revert' (which undoes changes) or 'svn_cleanup' (which cleans up working copy issues). Without such context, users might misuse it.

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

svn_diagnoseC

Diagnosticar problemas especรญficos con comandos SVN

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states it diagnoses problems without detailing behavioral traits like what it inspects (e.g., logs, configurations), whether it's safe or destructive, or what output to expect. It adds minimal context beyond the basic purpose.

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 a single, concise sentence in Spanish that directly states the tool's purpose without unnecessary words. It's appropriately sized for a no-parameter tool, though it could be more front-loaded with specifics.

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?

For a diagnostic tool with no annotations, no output schema, and 0 parameters, the description is incomplete. It doesn't explain what problems it diagnoses, how it works, or what results to expect, leaving significant gaps for an AI agent to understand its use.

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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, but that's acceptable here. Baseline is 4 for zero parameters, as the schema fully covers the absence of inputs.

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

Purpose3/5

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

The description 'Diagnosticar problemas especรญficos con comandos SVN' states a general purpose (diagnose SVN command problems) but lacks specificity about what kind of problems or how it differs from sibling tools like 'svn_health_check'. It's not tautological but remains vague about the exact scope.

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 like 'svn_health_check' or other diagnostic methods. The description implies usage for SVN command issues but doesn't specify contexts, prerequisites, or exclusions.

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

svn_diffC

Ver diferencias entre versiones de archivos

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoRuta especรญfica
oldRevisionNoRevisiรณn antigua
newRevisionNoRevisiรณn nueva

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Ver diferencias' implies a read-only operation, it doesn't specify whether this requires authentication, what format the diff output takes (unified diff, side-by-side, etc.), whether it shows changes for entire directories or just files, or any rate limits. The description is too minimal for a tool with behavioral implications.

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, efficient sentence in Spanish that directly states the tool's purpose. There's no wasted language or unnecessary elaboration - every word contributes to understanding what the tool does.

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?

For a version control diff tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the output looks like (text diff format), whether it handles binary files, what happens when revisions aren't specified, or any error conditions. The minimal description leaves too many behavioral questions unanswered.

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 schema description coverage is 100%, with all three parameters ('path', 'oldRevision', 'newRevision') clearly documented in the schema. The description doesn't add any parameter-specific information beyond what's already in the schema, so it meets the baseline for when schema coverage is high.

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 verb ('Ver diferencias' - View differences) and resource ('entre versiones de archivos' - between file versions), making the purpose immediately understandable. It doesn't specifically differentiate from sibling tools like 'svn_log' or 'svn_status' which might also show version information, but the core function is well-defined.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate compared to 'svn_log' (which shows commit history) or 'svn_status' (which shows working copy status), nor does it specify any prerequisites or constraints for usage.

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

svn_health_checkB

Verificar el estado de salud del sistema SVN y working copy

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it indicates this is a read-only diagnostic operation ('verificar el estado'), it doesn't describe what the health check actually entails, what specific aspects are examined, whether it requires authentication, if it has side effects, or what the output format looks like. For a diagnostic tool with zero annotation coverage, this is insufficient.

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, efficient sentence in Spanish that directly states the tool's purpose without any unnecessary words. It's appropriately sized for a no-parameter diagnostic tool and is completely front-loaded with the essential information.

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?

Given the tool has no parameters and no output schema, the description provides the basic purpose but lacks important context. For a health check tool, users would benefit from knowing what aspects are checked, what format the results take, and how this differs from similar sibling tools. The description is minimally adequate but leaves significant gaps in understanding the tool's behavior and output.

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 tool has zero parameters, and schema description coverage is 100% (since there are no parameters to describe). The description appropriately doesn't discuss parameters since none exist. According to the scoring rules, 0 parameters = baseline 4, as there's nothing for the description to compensate for.

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: 'Verificar el estado de salud del sistema SVN y working copy' (Check the health status of the SVN system and working copy). It uses specific verbs ('verificar' - check/verify) and identifies the target resources (SVN system and working copy). However, it doesn't explicitly differentiate from sibling tools like 'svn_diagnose' or 'svn_status', which might have overlapping functionality.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this health check is appropriate (e.g., troubleshooting, routine monitoring) or when other tools like 'svn_diagnose' or 'svn_status' might be better suited. There's no context about prerequisites, timing, or exclusions.

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

svn_infoC

Obtener informaciรณn detallada del working copy o archivo especรญfico

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoRuta especรญfica a consultar (opcional)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is an information retrieval operation ('obtener informaciรณn'), which implies it's likely read-only, but doesn't confirm this or describe any other behavioral traits like error handling, output format, or performance characteristics. This leaves significant gaps for a tool with no annotation coverage.

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, efficient sentence in Spanish that directly states the tool's purpose without any unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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 complexity of SVN operations and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'informaciรณn detallada' includes, how results are structured, or any prerequisites (e.g., requires an SVN working copy). For a tool in a domain with many siblings, this leaves too much ambiguity.

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 schema description coverage is 100%, with the single parameter 'path' documented as an optional string for a specific route to query. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 where the schema does the heavy lifting.

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 verb ('obtener informaciรณn detallada') and resource ('working copy o archivo especรญfico'), making the purpose understandable. However, it doesn't explicitly differentiate this from sibling tools like 'svn_status' or 'svn_log' which might also provide information about SVN repositories, missing full sibling distinction.

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. With siblings like 'svn_status' and 'svn_log' that might offer different types of information, the description lacks any context about when this specific info retrieval is appropriate, leaving the agent to guess based on tool names alone.

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

svn_logC

Ver historial de commits del repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoRuta especรญfica
limitNoNรบmero mรกximo de entradas
revisionNoRevisiรณn especรญfica o rango (ej: 100:200)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'ver historial' implies a read-only operation, the description doesn't disclose important behavioral aspects like whether this requires authentication, what format the output takes, whether it shows all branches or just trunk, or any rate limits. For a tool with 3 parameters and no annotation coverage, this is insufficient.

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, efficient sentence that directly states the tool's purpose without any unnecessary words. It's appropriately sized for a straightforward tool and front-loads the core functionality. Every word earns its place.

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 that this is a 3-parameter tool with no annotations and no output schema, the description is inadequate. It doesn't explain what the output looks like (list of commits? detailed information per commit?), doesn't mention authentication requirements, and provides no context about typical use cases. For a tool that likely returns structured historical data, more completeness is needed.

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?

With 100% schema description coverage, all parameters are already documented in the input schema. The description doesn't add any additional semantic context about the parameters beyond what's in the schema descriptions. The baseline score of 3 is appropriate since the schema does the heavy lifting, but the description doesn't enhance understanding of how parameters interact or typical usage patterns.

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 'Ver historial de commits del repositorio' clearly states the tool's purpose as viewing commit history in a repository. It uses a specific verb ('ver' - view) and resource ('historial de commits'), but doesn't differentiate from sibling tools like 'svn_info' which might also provide historical information. The description is in Spanish, which matches the parameter descriptions.

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?

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools like 'svn_info', 'svn_status', and 'svn_diff' that might provide related information, there's no indication of when this specific log viewing tool is appropriate versus other options.

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

svn_revertC

Revertir cambios locales en archivos

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesArchivo(s) o directorio(s) a revertir

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool reverts local changes but doesn't clarify whether this is destructive (permanently discarding uncommitted work), requires authentication, has side effects on the working copy, or what happens on success/failure. This leaves significant gaps for a mutation tool.

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, efficient sentence in Spanish that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded with the core functionality.

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?

For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'revertir' entails behaviorally (e.g., does it restore to last committed state?), potential risks, or expected outcomes, leaving the agent with insufficient context for safe invocation.

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 schema description coverage is 100%, with the parameter 'paths' well-documented as 'Archivo(s) o directorio(s) a revertir'. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for high schema coverage.

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 action ('Revertir cambios locales') and target ('en archivos'), providing a specific verb+resource combination. However, it doesn't explicitly distinguish this tool from sibling tools like 'svn_cleanup' or 'svn_update' which might also affect local changes, missing full sibling differentiation.

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?

The description provides no guidance on when to use this tool versus alternatives like 'svn_cleanup' (which might handle local issues differently) or 'svn_update' (which might fetch remote changes). There's no mention of prerequisites, timing, or exclusions for usage.

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

svn_statusC

Ver el estado de archivos en el working copy

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoRuta especรญfica a consultar
showAllNoMostrar estado remoto tambiรฉn

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks file status but doesn't describe what 'estado' entails (e.g., modified, added, conflicted), whether it's read-only or has side effects, or how results are presented. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior and safety.

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, efficient sentence in Spanish that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. Every part of the sentence earns its place by conveying essential information concisely.

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 complexity (a version control status tool with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the status output includes, potential side effects, or error conditions. For a tool that likely returns detailed file information, more context is needed to use it effectively without trial and error.

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%, so the schema already documents both parameters ('path' and 'showAll') with clear descriptions. The description adds no additional meaning beyond what the schema provides, such as examples or contextual usage. Baseline 3 is appropriate when the schema does the heavy lifting, but no extra value is added.

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 'Ver el estado de archivos en el working copy' clearly states the tool's purpose: checking the status of files in a working copy. It uses specific verbs ('ver el estado') and identifies the resource ('archivos en el working copy'), which distinguishes it from siblings like svn_commit or svn_update. However, it doesn't explicitly differentiate from all siblings (e.g., svn_info might also provide status-like information), so it doesn't reach the highest score.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a working copy), exclusions, or comparisons to siblings like svn_info or svn_diff. Without such context, users must infer usage from the purpose alone, which is insufficient for optimal tool selection.

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

svn_updateC

Actualizar working copy desde el repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoRuta especรญfica a actualizar
revisionNoRevisiรณn objetivo
forceNoForzar actualizaciรณn
ignoreExternalsNoIgnorar externals
acceptConflictsNoComo manejar conflictos

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Actualizar working copy' implies a mutation operation that modifies local files, but the description doesn't disclose important behavioral traits: whether this overwrites local changes, requires authentication, has side effects on uncommitted work, or what happens with conflicts. The description is too minimal for a mutation tool with zero annotation coverage.

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, efficient Spanish sentence that directly states the tool's purpose without any wasted words. It's appropriately sized for a basic operation and front-loads the core functionality. Every word earns its place in this minimal description.

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?

For a mutation tool with 5 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't address the tool's safety profile, conflict resolution behavior, or what happens to local modifications. Given the complexity of SVN update operations and the lack of structured metadata, the description should provide more contextual information about behavioral implications.

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%, so the schema already documents all 5 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain parameter interactions, default behaviors, or practical usage examples. With complete schema coverage, the baseline score of 3 is appropriate.

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 action ('Actualizar' - Update) and target ('working copy desde el repositorio' - working copy from the repository), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'svn_checkout' (which also retrieves from repository) or 'svn_revert' (which also modifies working copy), missing full sibling differentiation.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose svn_update over svn_checkout (initial retrieval) or svn_revert (undo changes), nor does it specify prerequisites like requiring an existing working copy. There's only implied usage context from the tool name itself.

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. Dates show when Glama detected each change.

  1. 14 tool updates
    • First observedsvn_add
    • First observedsvn_checkout
    • First observedsvn_cleanup
    • First observedsvn_clear_credentials
    • First observedsvn_commit
    • First observedsvn_delete
    • First observedsvn_diagnose
    • First observedsvn_diff
    • First observedsvn_health_check
    • First observedsvn_info
    • First observedsvn_log
    • First observedsvn_revert
    • First observedsvn_status
    • First observedsvn_update

TDQS

A3.5/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. Each targets a specific SVN operation (e.g., checkout, commit, diff, log) with clear boundaries between them. The descriptions reinforce distinct functions, making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent 'svn_verb' or 'svn_noun_verb' pattern (e.g., svn_checkout, svn_commit, svn_health_check). The naming is uniform throughout, using snake_case and starting with 'svn_' as a prefix, making it predictable and readable.

Tool Count5/5

With 14 tools, the count is well-scoped for an SVN server, covering core operations like version control, file management, diagnostics, and history. Each tool earns its place without feeling excessive or insufficient for the domain.

Completeness5/5

The tool set provides complete coverage of essential SVN workflows, including CRUD operations (add, delete, commit, revert), repository interactions (checkout, update), diagnostics (health_check, diagnose), and history/logging. No obvious gaps exist for typical agent tasks.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    A Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.
    12
    90,042
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.
    81
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol server that enhances AI agents by providing deep semantic understanding of codebases, enabling more intelligent interactions through advanced code search and contextual awareness.
    89
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gcorroto/mcp-svn'

If you have feedback or need assistance with the MCP directory API, please join our Discord server