This server has been archived and is no longer actively maintained.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"svn-tools": {
"env": {
"SVN_HOME": "D:/SoftwareCoding/SVN/Subversion-1.14.9-x64/bin",
"JAVA_OPTS": "-Xmx256m"
},
"args": [
"-jar",
"D:/SoftwareCoding/workspace/LGX/svn-mcp-server/target/svn-mcp-server-1.0.0.jar"
],
"command": "C:/Users/LiGuoXian/.jdks/ms-21.0.10/bin/java.exe"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
基于 Spring AI 构建的 SVN(Subversion)MCP 工具服务器,以 stdio 模式运行,为 AI 客户端提供 SVN 版本管理能力。
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Pi Coding Agent extension (CLI-first) — routes bash/read/grep/find/ls through lean-ctx CLI for strong token savings. Optional MCP bridge can register advanced tools.
Autonomous spec-to-product coding-agent CLI with an MCP server exposing 34 tools over stdio.
97% token reduction for AI coding sessions — zero deps, 21 languages, MCP server
App framework, testing framework, and inspector for MCP Apps.
MCP Security Weekly
Get CVE alerts and security updates for Svn Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
基于 Spring AI 构建的 SVN(Subversion)MCP 工具服务器,以 stdio 模式运行,为 AI 客户端提供 SVN 版本管理能力。
| 组件 | 版本 |
|---|---|
| JDK | 21 |
| Spring Boot | 3.5.11 |
| Spring AI | 1.1.2 |
| SVN CLI | 1.14+ |
svn-mcp-server/
├── pom.xml
├── README.md
└── src/
├── main/java/com/lgx/svnmcpserver/
│ ├── SvnMcpServerApplication.java # 启动类 + Bean 注册
│ └── mcp/
│ └── SvnTools.java # SVN 工具定义(7个工具)
└── resources/
├── application.yml # 应用配置
└── logback-spring.xml # 日志配置
svn 命令行工具,建议 1.14+ 版本mvn 命令可用提示:可通过环境变量
SVN_HOME指定 svn 可执行文件所在目录,不配则自动使用PATH中的svn。
mvn clean package -DskipTests
构建成功后,可执行 jar 位于 target/svn-mcp-server-1.0.0.jar。
jar 包无需手动启动——由 MCP 客户端(如 Claude Code)自动拉起并管理生命周期。
以 Claude Code 为例,有两个位置可选:
| 位置 | 路径 | 生效范围 |
|---|---|---|
| 全局配置 | C:\Users\<用户名>\.claude\settings.json | 所有项目 |
| 项目配置 | <项目根目录>\.claude\settings.json | 仅当前项目 |
在 settings.json 中新增 mcpServers 字段即可:
{
"mcpServers": {
"svn-tools": {
"command": "C:/Users/LiGuoXian/.jdks/ms-21.0.10/bin/java.exe",
"args": [
"-jar",
"D:/SoftwareCoding/workspace/LGX/svn-mcp-server/target/svn-mcp-server-1.0.0.jar"
],
"env": {
"JAVA_OPTS": "-Xmx256m",
"SVN_HOME": "D:/SoftwareCoding/SVN/Subversion-1.14.9-x64/bin"
}
}
}
}
配置项说明:
| 字段 | 说明 |
|---|---|
command | JDK 21 java.exe 的绝对路径 |
args | -jar 后跟 jar 包的绝对路径 |
env.JAVA_OPTS | JVM 启动参数,此处限制最大堆内存为 256MB |
env.SVN_HOME | svn 命令所在目录(可选),不配则用 PATH 中的 svn |
配置完成后重启客户端即可生效。
MCP 服务器不需要配置账号密码——它直接调用系统本地的 svn 命令行工具,认证完全依赖 SVN 自身的凭据缓存。
AI 客户端 → MCP 协议 → SvnTools → svn 命令 → 读取本地缓存凭据
首次使用前,手动执行一次 svn 操作,让 SVN 缓存凭据:
# 方式一:checkout 一个仓库,会提示输入账号密码
svn checkout https://your-svn-server/svn/your-project D:/your-local-path
# 方式二:查看仓库信息,也会触发认证
svn info https://your-svn-server/svn/your-project
输入一次账号密码后,SVN 会自动缓存到 %APPDATA%\Subversion\auth(Windows),之后 MCP 调用 svn 命令就能自动使用这些凭据。
总结:只要本机
svn命令能正常工作(凭据已缓存),MCP 就能正常工作。凭据过期后,重新svn info <仓库URL>认证一次即可。
配置完成后,在 AI 客户端中询问类似问题即可验证:
SVN MCP 服务器对外暴露以下 7 个工具:
| 操作 | SVN(本工具) | Git |
|---|---|---|
| 拉取最新代码 | svnUpdate | git pull |
| 查看改动 | svnDiff | git diff |
| 查看状态 | svnStatus | git status |
| 查看日志 | svnLog | git log |
| 行级追溯 | svnBlame | git blame |
| 仓库信息 | svnInfo | git remote -v + git log -1 |
| 目录浏览 | svnList | 无直接对应 |
注意:所有工具均为只读操作(svnUpdate 除外),不提供 commit、add、delete 等写操作。
查看 SVN 工作区的提交历史记录。
| 参数 | 类型 | 说明 |
|---|---|---|
workingDir | String | 工作目录的绝对路径 |
limit | int | 显示最近多少条记录,默认 20 |
查看工作区文件与基准版本的差异,输出 unified diff 格式。
| 参数 | 类型 | 说明 |
|---|---|---|
workingDir | String | 工作目录的绝对路径 |
filePath | String | 要查看差异的文件(相对路径),不填则对比整个工作区 |
查看文件的变更状态。
| 状态码 | 含义 |
|---|---|
M | 已修改(Modified) |
A | 新添加(Added) |
D | 已删除(Deleted) |
? | 未纳入版本控制 |
| 参数 | 类型 | 说明 |
|---|---|---|
workingDir | String | 工作目录的绝对路径 |
查看当前工作区或指定 URL 的 SVN 仓库信息(仓库 URL、当前版本号、最后修改者、最后修改时间)。
| 参数 | 类型 | 说明 |
|---|---|---|
path | String | 工作目录路径或 SVN 仓库 URL |
将工作区更新到最新版本。相当于 git pull,执行后本地文件直接变成最新版本。
| 参数 | 类型 | 说明 |
|---|---|---|
workingDir | String | 工作目录的绝对路径 |
查看文件每一行的最后修改者和版本号,适合追查某段代码是谁在哪个版本写的。
| 参数 | 类型 | 说明 |
|---|---|---|
workingDir | String | 工作目录的绝对路径 |
filePath | String | 要追溯的文件路径(相对于工作目录) |