SOAP to MCP: Give AI Agents Access to Your Legacy Services
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 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 server | PlugMCP WSDL import | |
|---|---|---|
| Effort per service | weeks–months of dev | minutes, no code |
| WSDL changes | redeploy middleware | re-import |
| Governance | build it yourself | keys, approvals, audit built in |
| Operating cost | one service per API | one 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
- Basic auth or header credentials set once on the connector, injected server-side, stored AES-256-GCM encrypted. The agent never sees them.
- Read/write classification per operation — give analysts' agents read-only keys.
- Human approval —
CreateTransfershouldn't run because a model felt confident. With approvals on, write calls wait for a human click in the UI. - Audit log — every call, caller, and result size, exportable.
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.
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.
Get PlugMCP on GitHub Learn more