Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

Follow AllMCPs on X (opens in a new tab)AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI β†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE β†— (opens in a new tab)
  • llms.txt β†— (opens in a new tab)
  • Catalog JSON β†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • X (@AllMCPs) β†— (opens in a new tab)
  • GitHub β†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
Β© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. πŸ’» Developer Tools
  3. Legacy2mcp
L
Health: Not checked yetWe have not completed a health check for this listing yet.No health check has run yet.

Legacy2mcp

User RatingsBe the first to rate and review this MCP server! Enrichment pendingWe haven’t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time β€” check back soon.
View Repository

Turn a legacy SOAP/WSDL service into a safe, typed, schema-validated, audit-logged MCP server

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
Manual Client & Custom JSON ConfigExpand JSON β–Ύ

Client Config & Setup

Choose your client or environment
Target File:~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "legacy2mcp": {
      "command": "npx",
      "args": [
        "-y",
        "legacy2mcp"
      ]
    }
  }
}

πŸ’‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

Install Directory Badge Claim listing AlternativesπŸ’» More in Developer Tools

Documentation Overview

legacy2mcp

Turn a legacy SOAP/WSDL system into a safe, typed MCP server in minutes β€” so an AI agent can call it without a hand-written adapter.

CI PyPI License: Apache 2.0 Python 3.10+ MCP Registry PRs welcome

Point legacy2mcp at a WSDL URL. It introspects every operation, generates a real JSON Schema for each one from the WSDL's own XSD types, and exposes them as MCP tools that any MCP client (Claude Desktop, an agent framework, your own code) can call β€” with every call schema-validated before it reaches your SOAP endpoint, write-like operations excluded by default, and every call audit-logged.

No hand-written adapter code. No hand-maintained tool schemas that drift from the WSDL. No arbitrary calls the WSDL itself doesn't define.

legacy2mcp turning a Calculator WSDL into four typed, schema-validated MCP tools

Regenerate this clip with vhs demo/demo.tape β€” see demo/.


Why this exists

Organizations run 10–20 year old SOAP services that aren't going away β€” systems of record, middleware, back-office and line-of-business platforms. More and more teams now want to point an AI agent at these systems.

Today that means, per WSDL:

  • hand-writing a bespoke adapter,
  • guessing at input validation,
  • hand-copying tool schemas that immediately start drifting from the service,
  • and hoping nobody points an LLM at DeleteRecord.

legacy2mcp generates the adapter from the WSDL itself, so the tool schema can never drift from what the service actually accepts, and ships a safe-by-default posture (no writes without an explicit opt-in, no unvalidated arguments, every call logged) instead of leaving that to whoever wrote the last adapter.

Features

  • Zero adapter code β€” one MCP tool per WSDL operation, named <adapter_id>_<Operation>.
  • Real schemas from the WSDL's XSD β€” simple types, nested complex types, enums, and repeated elements (arrays) are all handled recursively, depth-limited for pathological WSDLs.
  • Safety net #1: validation β€” every call runs through jsonschema.validate (with additionalProperties: false) before any network call.
  • Safety net #2: read-only by default β€” operations whose names look like writes (Create*, Update*, Delete*, Cancel*, Submit*, Pay*, …) are not exposed unless you set allow_write_operations: true.
  • Explicit allow/deny lists β€” include_operations / exclude_operations on top of the heuristic.
  • Audit log β€” one JSON line per call: tool, arguments, timestamp, outcome.
  • Secrets stay out of config β€” passwords are read from named environment variables, never written into the YAML.
  • CI-friendly dry run β€” legacy2mcp inspect lists the generated tools and exits, so a broken WSDL fails your pipeline instead of your production agent.

See docs/security.md for the full, honest security model β€” what's covered today and what isn't yet.

Install

Terminal
pip install legacy2mcp          # or: uv tool install legacy2mcp / pipx install legacy2mcp

Also on the MCP Registry as io.github.bvenkata/legacy2mcp, so MCP-aware clients that read the registry can discover it directly.

Quick start

bash
git clone https://github.com/bvenkata/legacy2mcp.git
cd legacy2mcp
pip install -e ".[dev]"

# 1. Start the bundled demo SOAP service (no external network needed)
python examples/soap/run_mock_calculator.py &

# 2. See the MCP tools generated from its WSDL
legacy2mcp inspect --config examples/soap/config.calculator.yaml

Or with Docker:

Terminal
docker compose up demo-soap-service -d
docker compose run --rm legacy2mcp legacy2mcp inspect \
  --config examples/soap/config.calculator.docker.yaml

Point it at your own WSDL

yaml
# config.yaml
server:
  name: my-legacy-mcp

adapters:
  - id: legacy
    type: soap
    config:
      wsdl_url: "https://service.example.com/LegacyService?wsdl"
      auth:
        type: basic
        username: "svc-account"
        password_env: "SERVICE_PASSWORD"
      # Safe by default: Create*/Update*/Delete*/Cancel*/Submit*/... are
      # excluded unless you opt in explicitly.
      allow_write_operations: false
      # Recommended for production: enumerate exactly what the agent may call.
      include_operations: ["GetRecord", "GetRecordDetails", "SearchRecords"]

security:
  audit:
    enabled: true
    path: "./legacy-mcp-audit.log"
server.ts
export SERVICE_PASSWORD=...
legacy2mcp inspect --config config.yaml   # review the generated tools
legacy2mcp run     --config config.yaml   # start the MCP server (stdio)

A full production-shaped template lives at examples/soap/config.template.yaml.

Use it from Claude Desktop (or any MCP client)

config.json
{
  "mcpServers": {
    "legacy": {
      "command": "legacy2mcp",
      "args": ["run", "--config", "/absolute/path/to/config.yaml"]
    }
  }
}

Use cases

  • Systems of record β€” let an agent read status and detail records from a legacy back-office platform, read-only, with every lookup audit-logged.
  • Financial services β€” expose account and transaction reads to an agent without exposing transfers or adjustments.
  • Supply chain / ERP β€” surface order status, inventory, and shipment tracking from an old SOAP middleware layer.
  • Internal support tooling β€” give a support copilot safe, typed access to the system of record instead of a scraped UI.
  • Migration & modernization β€” put an MCP layer in front of a legacy service now, and swap the backend later without touching the agent.

Real-world usage

In CI/CD β€” catch WSDL drift before it reaches production

legacy2mcp inspect loads the config, contacts the WSDL, builds every tool schema, and exits non-zero if anything fails. Run it as a pipeline gate:

yaml
# .github/workflows/contract-check.yml
- name: Check the WSDL still generates valid MCP tools
  env:
    SERVICE_PASSWORD: ${{ secrets.SERVICE_PASSWORD }}
  run: |
    pip install legacy2mcp
    legacy2mcp inspect --config config/legacy.yaml > tools.json
    # optionally: diff tools.json against a committed snapshot to catch
    # a backend team changing an operation's contract out from under you
    git diff --exit-code --no-index tools/legacy.snapshot.json tools.json

As a sidecar / long-running MCP server

legacy2mcp run speaks MCP over stdio β€” the transport Claude Desktop and most agent frameworks spawn servers over. Package it with your config in the provided Dockerfile and let your MCP client launch it.

In a data pipeline

Use the same generated, validated tools from your own Python (via any MCP client library) to pull records from the legacy system on a schedule, with the audit log giving you a record of exactly what was fetched.

What it actually does, precisely

  1. Loads the WSDL with zeep, a mature, widely used Python SOAP client.
  2. For every operation on every port/binding, converts the WSDL's XSD input type into a JSON Schema (src/legacy2mcp/schema/xsd_to_jsonschema.py) β€” simple types, nested complex types, enums, and arrays, recursively.
  3. Registers one MCP tool per operation, named <adapter_id>_<OperationName>.
  4. On a tool call: validates arguments against that operation's JSON Schema, calls the SOAP operation via zeep, serializes the response back to plain JSON, and writes an audit log entry.
  5. Operations whose names look like writes are excluded unless allow_write_operations: true β€” see docs/security.md for exactly what this heuristic does and doesn't catch.

Status

v0.1 β€” the SOAP/WSDL adapter is implemented and tested (pytest tests/ runs against an in-process mock SOAP service, no network needed). A database adapter (safe, parameterized-query-only, table/operation allowlists) and a queue adapter (Kafka/RabbitMQ/SQS) are on the roadmap but not implemented yet β€” the BaseAdapter interface (src/legacy2mcp/adapters/base.py) is the extension point if you want to build one.

Development

Terminal
pip install -e ".[dev]"
pytest tests/ -v

CI runs the suite on Python 3.10–3.12 (.github/workflows/ci.yml). Releases to PyPI and the MCP Registry are tag-triggered β€” see docs/releasing.md.

Contributing

Adapters for new legacy systems are the highest-value contribution β€” implement BaseAdapter (discover_tools() + invoke()) and the MCP server core handles validation, dispatch, and audit logging for you automatically. Issues and PRs welcome.

License

Apache 2.0 β€” see LICENSE.

Read the full README β†’View source on GitHub β†’

Related MCP Servers

View all in Developer Tools View all alternatives
  • PraisonAI logoPraisonAI

    AI Agents Framework with Self Reflection and MCP support

    πŸ’» Developer Tools1 views
    Compare vs PraisonAI β†’
  • Labelhead Artist Momentum logoLabelhead Artist Momentum

    Trending hip-hop artist momentum scores across four cultural dimensions.

    πŸ’» Developer Tools0 views
    Compare vs Labelhead Artist Momentum β†’
  • BLEA logoBLEA

    Safe BLE diagnostics, evidence workflows, and guarded automation for AI agents.

    πŸ’» Developer Tools1 views
    Compare vs BLEA β†’
  • T
    The Scribble Thing

    Turn one line-art image into a prompt-directed, hand-drawn scribe animation MP4.

    πŸ’» Developer Tools1 views
    Compare vs The Scribble Thing β†’

Reviews

No reviews yet β€” be the first to share how this listing worked for you.

Frequently Asked Questions about Legacy2mcp

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "legacy2mcp": { "command": "npx", "args": ["-y", "legacy2mcp"] } }

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewLegacy2mcp AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/legacy2mcp?style=directory)](https://allmcps.com/mcp/legacy2mcp)
HTML Embed
<a href="https://allmcps.com/mcp/legacy2mcp"><img src="https://allmcps.com/api/badge/legacy2mcp?style=directory" alt="Legacy2mcp on AllMCPs" /></a>

Technical Specs & Signals

CategoryπŸ’»Developer Tools
More technical detailsExpand β–Ύ
TransportSTDIO
RuntimeNode.js
Last updatedSep 7, 2026
Views0
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
27Quality signal: Emerging Β· 27/100How this signal is calculated β–Ύ
Server availabilityNot measured

Not scored for repo-hosted servers β€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership8/20
Documentation & tools11/30
Adoption & activity1/15
Community engagement0/10

A guidance signal from public completeness & health data β€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

β˜… FeaturedMoxie Docs MCP logo

Moxie Docs MCP

MCP & Agent Skills for Automated Documentation, and codebase conventions + context

Explore Server β†’

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge and attach your website β€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it β€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in πŸ’» Developer Tools β†’Best MCP servers for Developers β†’Alternatives to Legacy2mcp β†’Install in Claude DesktopInstall in CursorInstall in VS Code