legacy2mcp
llms.txt7 starsChanged 10 days agoApache-2.0View on GitHub
legacy2mcp turns a legacy SOAP/WSDL service, a database (Postgres, SQL Server, or Oracle), or a REST API into a typed, schema-validated, audit-logged MCP (Model Context Protocol) server, with no hand-written adapter code.
- Installs packages
We split this llms.txt into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Write-like operations (SOAP write-verb names, DB inserts, non-GET REST endpoints) are excluded by default and require …
- Distinctive: line 11
Every tool call is audit-logged as one JSON line (tool, arguments, timestamp, outcome).
≈ “Common” is an estimate: at least 1 in 5 of the 3,225 llms.txt files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
# legacy2mcp > legacy2mcp turns a legacy SOAP/WSDL service, a database (Postgres, SQL Server, or Oracle), or a REST API into a typed, schema-validated, audit-logged MCP (Model Context Protocol) server, with no hand-written adapter code. ## Core capabilities - SOAP: introspects a live WSDL with `zeep` and builds a JSON Schema per operation; every call is validated against it before it reaches the SOAP endpoint. - Database: introspects a live Postgres/SQL Server/Oracle schema and exposes `select_<table>` / `insert_<table>` tools for an explicit table allowlist, plus named parameterized queries. There is no path from the LLM to arbitrary SQL, ever. - REST: builds tools from an explicit endpoint allowlist, either hand-written or generated by `legacy2mcp init` (which can discover a live OpenAPI/Swagger spec from a URL, or statically scan a GitHub repo's routes/models). - Write-like operations (SOAP write-verb names, DB inserts, non-GET REST endpoints) are excluded by default and require `allow_write_operations: true` set explicitly. - Every tool call is audit-logged as one JSON line (tool, arguments, timestamp, outcome). Arguments are logged as-is: no PII redaction and no encryption at rest yet. ## Install and run ```bash pip install legacy2mcp legacy2mcp init --rest-url "https://your-api.example.com" --out config.yaml # or --wsdl-url / --github-url legacy2mcp inspect --config config.yaml # review the generated tools legacy2mcp run --config config.yaml # start the MCP server (stdio) ``` ## Docs - [README](https://github.com/bvenkata/legacy2mcp/blob/main/README.md): install, quick start, full config reference for all three adapters, safety model - [Security model](https://github.com/bvenkata/legacy2mcp/blob/main/docs/security.md): exactly what's validated and audited today, and what isn't yet - [Roadmap](https://github.com/bvenkata/legacy2mcp/blob/main/docs/roadmap.md): shipped vs. planned - [Examples](https://github.com/bvenkata/legacy2mcp/blob/main/examples/README.md): runnable SOAP and REST demo configs - [Connecting MCP clients](https://github.com/bvenkata/legacy2mcp/blob/main/docs/clients.md): Claude Desktop, Claude Code, Cursor, VS Code ## Optional - [PyPI package](https://pypi.org/project/legacy2mcp/) - [MCP Registry entry](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.bvenkata/legacy2mcp) - [Releasing guide](https://github.com/bvenkata/legacy2mcp/blob/main/docs/releasing.md)
In this repository3 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/legacy2mcp.mdcCursor rule
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

