Exposes legacy SOAP-based web services described by WSDL files as MCP tools, allowing AI models to interact with XML-based communication formats and web service architectures.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp2wswhat's the capital city of France using the country info service?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp2ws
Did you just wake up from a 20 year coma? Did you build a bunch of buzzword compliant web services back in the early 2000s and want all your SOAP and WSDL to be relevant again?
Now you can put the smooth sheen of AI on your pile of angle brackets by exposing your SOAP-based web service as a Model Context Protocol (MCP) server. It's time to wake from that coma and start hallucinating.
What?
To explain the joke: back in the early 2000s web services were promoted heavily by several companies as the future of how organizations interoperate with each other. The specific vision included a plethora of XML-based communication formats that never caught on broadly. Instead REST-ful web apis became the norm. But now 20 years later, MCP arrives claiming it too is the future of how companies interoperate, at least for AI-related applications. And unlike SOAP, there are a lot of very useful MCP servers and client delivering on that promise. So the conceit of this repos is to give SOAP-based web services a second chance at the limelight.
Prerequisites
Have a web service described by a WSDL file.
Have a compatible version of Python (tested with 3.13) or
uvinstalled on your computer.
Running
With uv:
With regular python:
Usage
To start the MCP server, run the main.py script with the URL of the WSDL file you want to access.
For example, if you have a WSDL at http://www.dneonline.com/calculator.asmx?wsdl:
This tool has been tested with these random WSDL files I found on the internet:
http://www.dneonline.com/calculator.asmx?wsdl
http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL
Configure your agentic coding tool
Configure your MCP client (e.g., Gemini CLI, or an IDE extension) to run this script.
Example generic MCP config:
Example Session
In Gemini CLI, using the http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL service:
TODO
Expose
<documentation/>tags from WSDL in the tool listing. I don't know how standard this is, but I've seen these tags in .ASMX WSDL files.Better support for mapping XML schema to JSON schema for input. Currently only primitive types are supported.
Implement support for more web service standards like WS-* and UDDI. This probably won't happen because this stops being a fun joke and starts being a job.