Repo: github.com/bvenkata/legacy2mcp
Letting an AI agent call a legacy system is risky. One wrong call to something like DeleteRecord and you have a problem.
legacy2mcp turns a SOAP/WSDL service, REST API or database into an MCP server, and it is safe by default:
Read-only by default. Write-like operations stay hidden until you opt in.
Schema-validated. Every call is checked before it reaches your backend.
Audit-logged. One JSON line per call.
Try it in 60 seconds
bash
pip install legacy2mcp
legacy2mcp init --rest-url https://petstore.swagger.io
legacy2mcp inspect --config config.yaml
For SOAP, use legacy2mcp init --wsdl-url instead.
inspect prints every MCP tool it generated. When it looks right, connect it to Claude Desktop or any MCP client:
json
{
"mcpServers": {
"legacy2mcp": {
"command": "uvx",
"args": ["legacy2mcp", "run", "--config", "/absolute/path/to/config.yaml"]
}
}
}
Known limits
The SOAP write filter is a name heuristic, so use include_operations for anything important. The MCP server has no auth yet, so don't expose it to untrusted callers.
Try it on your own system and tell me what breaks.
Repo: github.com/bvenkata/legacy2mcp · pip install legacy2mcp
