mcp-server-svn
A modern Model Context Protocol (MCP) server for SVN (Subversion). Exposes core SVN operations as automated MCP tools for agent-driven workflows, seamless automation, and version control integration.
Features
- Automates SVN repositories through the MCP agent and tool system
- Exposes high-level SVN commands (status, diff, log, update, add, commit, checkout, branch ops) as callables
- Compatible with fastmcp
- Python 3.10+ and modern build/packaging standards
Installation
pip install mcp-server-svn
- Requires SVN (
svnCLI) in your PATH. - fastmcp installed automatically as a dependency.
Supported MCP Tools
| Tool | Inputs | Outputs | Description |
|---|---|---|---|
svn_status |
repo_path (str) |
status (str), error (str) |
Show working copy/repo status |
svn_diff |
repo_path (str), revision (str, optional) |
diff (str), error (str) |
Show working copy or revision differences |
svn_commit |
repo_path (str), message (str) |
output (str), error (str) |
Commit changes with a message |
svn_update |
repo_path (str) |
output (str), error (str) |
Bring working copy up to date |
svn_log |
repo_path (str), limit (int, optional) |
log (str), error (str) |
Show repository log entries |
svn_add |
repo_path (str), target (str) |
output (str), error (str) |
Add files/directories to version control |
svn_checkout |
url (str), target_path (str, optional) |
output (str), error (str) |
Checkout a full SVN repo to disk |
svn_switch |
repo_path (str), url (str) |
output (str), error (str) |
Switch working copy to branch/tag |
svn_list_branches |
repo_url (str) |
branches (list of str), error (str) |
List branches/tags in the repo |
svn_create_branch |
source_path (str), dest_url (str), message (str) |
output (str), error (str) |
Create branch/tag from trunk |
svn_delete_branch |
target_url (str), message (str) |
output (str), error (str) |
Delete branch/tag |
svn_cleanup |
repo_path (str) |
output (str), error (str) |
Remove locks and clean up the working copy (fix interrupted ops) |
svn_revert |
targets (list of str)recursive (bool, optional) |
output (str), error (str) |
Revert changes to files/dirs; supports recursive option |
svn_merge |
source (str), repo_path (str), revision (str, optional) |
output (str), error (str) |
Merge changes from a source URL/path into the working copy |
svn_resolve |
targets (list of str), accept (str, optional) |
output (str), error (str) |
Mark files as resolved after conflict; supports resolution modes |
svn_whoami |
(none) | username (str), error (str) |
Return the cached SVN username, if available in your auth files |
svn_version |
(none) | version (str), error (str) |
Report the installed SVN client version |
Quickstart
Start the MCP server (after installation):
mcp-server-svn
Or using the Python module:
python -m mcp_server_svn
Requirements
- Python 3.10+
- fastmcp (auto-installed)
- SVN command-line client (
svn) installed and accessible from your PATH
Usage with cline
To use mcp-server-svn as an MCP tool server in cline, add an entry to your cline configuration:
"svn": {
"autoApprove": [
"svn_status",
"svn_diff",
"svn_update",
"svn_log",
"svn_add",
"svn_checkout"
],
"timeout": 30,
"type": "stdio",
"command": "/usr/bin/python3.11",
"args": [
"-m",
"mcp_server_svn"
]
}
Adjust "command" as needed (e.g., "python3" or your virtualenv path). See the cline documentation for details.
Author
Manav Desai
Email: manav27202@gmail.com
Metadata
Release files for mcp-server-svn 0.1.4.post2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_server_svn-0.1.4.post2.tar.gz | 9.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_server_svn-0.1.4.post2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.5 kB
Release files / mcp_server_svn-0.1.4.post2.tar.gz
| Download URL | mcp_server_svn-0.1.4.post2.tar.gz |
|---|---|
| Size | 9.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
16a72c60374b23453beba869a7577aee23e32b17ad5b32439e68ccaaacd8760c
|
|
BLAKE2b-256 checksum How to use checksums |
554e3b02670e9d29c2bcfa9296488f6b1ef27c40430d380ddbd8f6e3c36eaa19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2025.
Transparency logRelease files / mcp_server_svn-0.1.4.post2-py3-none-any.whl
| Download URL | mcp_server_svn-0.1.4.post2-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c5d38b9cc25bdb17f2d723eb113321109f9f34d0790a66a7cd3d0d62a8c3bb8
|
|
BLAKE2b-256 checksum How to use checksums |
90d8708c7d0a6c50706280c109f2c9d6234e0ccc54bfa660266faf6d629097aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2025.
Transparency log