Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"svn-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
No description provided.
This server is thin — proceed with caution. Help improve this page →
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.
This server is missing a description.If you've used it, help the community.
Add informationBe 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
MCP server for Spanning Cloud Backup — M365/GWS/Salesforce backups, restores, audit.
AI agent control of 3D printers — 432 tools for OctoPrint, Moonraker, Bambu, Prusa, Elegoo
MCP server for Kaseya Autotask PSA — companies, tickets, projects, time entries, and more.
On-chain provenance lookup for AnchorRegistry. Resolve AR-IDs, hashes, and full trees. Authless.
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 | 要追溯的文件路径(相对于工作目录) |