@massapi/svn-mcp
v1.0.0
Published
SVN MCP server based on Node.js, using native svn:// protocol via stdio transport
Readme
svn-mcp
Node.js-based SVN MCP server using stdio transport. Connects to svnserve via the native svn:// protocol — no SVN CLI installation required. Exposes 1 MCP tool:
- list_logs — Retrieves recent commit logs. Accepts 1 parameter
limit(default: 10), representing the number of recent entries. Returns an array of objects, each containing author, date, message, revision, action, and file list.
All code comments and messages are in English. Package name: @massapi/svn-mcp
Environment Variables
| Variable | Description |
|----------|-------------|
| SVN_URL | SVN repository URL, e.g. svn://svn.example.com/repo/project/trunk |
| SVN_USER | SVN username (optional for anonymous access) |
| SVN_PASSWORD | SVN password (optional for anonymous access) |
Run
# Install dependencies
npm install
# Build
npm run build
# Start service
SVN_URL=svn://your-svn-host/repo/path SVN_USER=your-user SVN_PASSWORD=your-password npm startInstall
npm install
npm run buildPublish to npm
npm config set //registry.npmjs.org/:_authToken=npm_token
npm publish --access public --loglevel verboseInspector Test
SVN_URL=svn://your-svn-host/repo/path SVN_USER=your-user SVN_PASSWORD=your-password npm run inspectThis opens the Inspector UI in your browser for interactive MCP tool testing.
Inspector CLI Test
npm config set registry https://registry.npmjs.org/
npx -y -p @massapi/svn-mcp -p @modelcontextprotocol/inspector mcp-inspector --cli \
-e SVN_URL=svn://svn.example.com/repo/project/trunk \
-e SVN_USER=admin \
-e SVN_PASSWORD=your-password \
svn-mcp \
--method tools/call \
--tool-name list_logs
npx -y -p @massapi/svn-mcp -p @modelcontextprotocol/inspector mcp-inspector --cli \
-e SVN_URL=svn://svn.example.com/repo/project/trunk \
-e SVN_USER=admin \
-e SVN_PASSWORD=your-password \
svn-mcp \
--method tools/call \
--tool-name list_logs \
--tool-arg limit=5Configure in Claude Desktop
Add to your Claude Desktop config file:
{
"mcpServers": {
"svn": {
"command": "node",
"args": ["/path/to/svn-mcp/dist/index.js"],
"env": {
"SVN_URL": "svn://svn.example.com/repo/project/trunk",
"SVN_USER": "your-username",
"SVN_PASSWORD": "your-password"
}
}
}
}