Skip to main content
Glama

svn-agent MCP

Strict SVN Model Context Protocol server for agent-safe status, diff, EOL diagnosis, precommit checks, and guarded SVN mutations.

The implementation contract lives in docs/SPEC.md. Version 1.0.0 is the first public open-source release and can prepare a self-contained local runtime bundle under releases/v1.0.0.

Requirements: Windows, Node.js 20 or newer, Git, and access to the public npm registry. The bundled SlikSVN and dos2unix runtime payload is Windows-only.

Quick Start

git clone https://github.com/shrishailrana-maker/svn-agent-mcp-v1.git
cd svn-agent-mcp-v1
npm install
npm run prepare:local
npm test

Related MCP server: Secure Code Review MCP Server

Agent Setup From GitHub

Tell an agent:

Get the SVN MCP from https://github.com/shrishailrana-maker/svn-agent-mcp-v1, clone it to the target machine, run npm install, run npm run prepare:local, then configure the MCP command as node <clone-path>\current\dist\index.js.

The setup commands are:

git clone https://github.com/shrishailrana-maker/svn-agent-mcp-v1.git <clone-path>
cd <clone-path>
npm install
npm run prepare:local

Then register the MCP with your client using the generated current runtime:

{
  "mcpServers": {
    "svn": {
      "command": "node",
      "args": ["<clone-path>\\current\\dist\\index.js"]
    }
  }
}

For a read-only client:

{
  "mcpServers": {
    "svn-readonly": {
      "command": "node",
      "args": ["<clone-path>\\current\\dist\\index.js", "--readonly"]
    }
  }
}

Start The MCP

For development from this working copy:

cd <path-to-svn-agent-mcp-v1>
npm install
npm run prepare:local
node .\current\dist\index.js

The source tree includes bin/ with the full SlikSVN bin payload plus the full dos2unix bin payload. Releases copy that folder to current/bin, so normal Windows clients do not need to locate or install svn, svnversion, svnadmin, dos2unix, unix2dos, or their required DLLs. See THIRD_PARTY_NOTICES.md and THIRD_PARTY_CHECKSUMS.txt for bundled binary notices and SHA256 hashes.

Plug-And-Play Client Config

Register the MCP once globally. Do not set cwd and do not set environment variables:

Write-capable client example:

{
  "mcpServers": {
    "svn": {
      "command": "node",
      "args": ["<clone-path>\\current\\dist\\index.js"]
    }
  }
}

Read-only client example:

{
  "mcpServers": {
    "svn-readonly": {
      "command": "node",
      "args": ["<clone-path>\\current\\dist\\index.js", "--readonly"]
    }
  }
}

The MCP is not tied to one SVN checkout. If a tool call supplies absolute paths and omits cwd, the server finds the nearest SVN working copy for those paths. Relative paths require explicit per-call cwd.

Client registration is static: configure the MCP once, and working-copy discovery happens per tool call. The server does not rewrite client configuration at runtime.

Environment variables are not required for normal use. They are development/test escape hatches only: SVN_AGENT_BIN_DIR, SVN_AGENT_SVN_PATH, SVN_AGENT_DOS2UNIX_DIR, SVN_AGENT_TIMEOUT_MS, SVN_AGENT_MAX_DIFF_LINES, and legacy SVN_AGENT_READONLY.

Commands

Command

Description

npm run dev

Run the TypeScript entry point during development

npm run typecheck

Check TypeScript without emitting build output

npm run build

Compile src/ into dist/

npm test

Run the Jest test suite

npm run prepare:local

Build and prepare the local current runtime

npm run release:prepare

Copy dist/ and bin/ into releases/v<version> and repoint current

npm run clean

Remove root dist/ with the Node clean script

Operator Diagnostics

Use svn_self_check to verify the MCP package, current release pointer, bundled binaries, and release scripts. Use svn_diagnose on a working-copy path when SVN itself is acting strange; it checks local status, remote status, HEAD info, latest log reachability, and returns actionable notes for authentication, network, lock, and working-copy database failures.

For SVN property work, use svn_propget and guarded svn_propset instead of raw svn propget/svn propset. svn_propset_eol_style remains the safer shortcut for svn:eol-style normalization.

Changelog

Release history is maintained in CHANGELOG.md.

Layout

Path

Purpose

src/

MCP server implementation

src/parse/

SVN XML/text parsers

src/tools/

MCP tool families

tests/

Unit and temp-repository integration tests

.svn-mcp-policy.json

Repo-local guard exceptions for this MCP's intentional runtime payloads

bin/

Versioned Windows SVN and EOL converter runtime binaries

THIRD_PARTY_NOTICES.md

Notices for bundled binary payloads

docs/

Spec, local rules, and decisions

releases/

Generated versioned runtime release payloads, ignored by Git

Role Model

Run one MCP instance per client role:

  • Write-capable clients run normally and may use guarded mutating tools.

  • Read-only clients run with --readonly; every mutating tool refuses.

The server does not assume a product name for either role.

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/shrishailrana-maker/svn-agent-mcp-v1'

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