PlugMCP / Guides / SOAP to MCP

SOAP to MCP: Give AI Agents Access to Your Legacy Services

Updated July 2026 · WSDL in, MCP tools out · works with Claude, ChatGPT, Cursor & any MCP client

The systems that actually run your business — ERP, logistics, billing, that SAP integration from 2009 — speak SOAP. Every AI-agent tutorial assumes REST and JSON. The gap between the two is where most enterprise agent projects stall.

The short answer: import the service's WSDL into the open-source PlugMCP gateway. Each document/literal operation becomes an MCP tool with a JSON schema. The agent sends JSON; the gateway builds the SOAP envelope, handles namespaces, calls the service and parses the response. The legacy system doesn't change at all.

The problem nobody wants to solve by hand

Making a SOAP service agent-accessible traditionally means a middleware project: write a REST wrapper, map XML schemas to JSON, redeploy every time the WSDL changes, then also build an MCP server on top. Months of work per system, multiplied by however many legacy services you have.

A translating gateway collapses that to a config step:

REST wrapper + MCP serverPlugMCP WSDL import
Effort per serviceweeks–months of devminutes, no code
WSDL changesredeploy middlewarere-import
Governancebuild it yourselfkeys, approvals, audit built in
Operating costone service per APIone gateway for all of them

Step 1 — Import the WSDL

docker run -d -p 8080:8080 -v plugmcp:/data ghcr.io/plugmcp/plugmcp

Admin UI → Connectors → Add → SOAP → upload the WSDL or paste its URL:

✓ imported warehouse: 12 operations → 12 tools
  warehouse_GetStockLevel     (read)
  warehouse_ListOpenOrders    (read)
  warehouse_CreateTransfer    (write — approval required)

The importer reads WSDL 1.1 document/literal — the style used by SAP, .NET/WCF and Java/JAX-WS deployments — and turns each operation's XML schema into a JSON parameter schema an agent understands.

Step 2 — Auth & guardrails

Step 3 — Connect the agent

claude mcp add --transport http plugmcp https://your-gateway/mcp \
  --header "Authorization: Bearer pmcp_…"

Then ask Claude: “Check stock for SKU-4711 across warehouses and list open orders that depend on it.” The agent orchestrates the SOAP calls it could never have made natively — and your 20-year-old service participates in a 2026 workflow.

Mixed estates welcome: the same gateway imports OpenAPI specs, GraphQL endpoints and SQL databases — so the agent sees one governed endpoint across your whole stack, old and new.

FAQ

Which WSDL styles are supported?

WSDL 1.1 document/literal, the dominant enterprise style. For rare RPC-encoded services, a thin REST facade plus the OpenAPI importer is the pragmatic route.

Does the SOAP service need to change?

No. No redeployment, no wrapper, no agent-awareness. The gateway is a client like any other.

Can I run this fully on-premise?

Yes — a single self-hosted binary (or container), no external dependencies, no phone-home. That's usually a hard requirement in the environments where SOAP still lives.

What does it cost?

Nothing. 100% AGPL-3.0 open source. Commercial licenses exist for OEM embedding.

Your legacy systems have 20 years of business logic. Let your agents use it.
Get PlugMCP on GitHub Learn more