home / mcp / mcp2ws mcp server

MCP2WS MCP Server

Exposes SOAP-based services described by WSDLs as an MCP server for use by MCP clients.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "austinwise-mcp2ws": {
      "url": "http://www.dneonline.com/calculator.asmx?wsdl"
    }
  }
}

You can expose an existing SOAP-based web service described by a WSDL file as a Model Context Protocol (MCP) server, letting MCP clients invoke its operations as if they were standard MCP endpoints. This makes legacy SOAP services accessible in modern MCP tooling and workflows without rewriting the service.

How to use

Start by choosing the MCP client you will use (for example, an IDE extension or a CLI tool) and configure it to connect to your MCP server. You will be interacting with the server by providing a WSDL URL, which describes the SOAP service you want to access. You can start the MCP server in one of two ways: run the server directly through the runtime you installed or use an explicit MCP command setup that points at the WSDL. Once running, your MCP client can call available operations exposed by the SOAP service through the MCP interface, and you can receive the corresponding results.

How to install

# Prerequisites
Have a web service described by a WSDL file.
Have a compatible version of Python (tested with 3.13) or uv installed on your computer.

# Running with uv
uv run main.py

# Running with regular Python (virtual environment)
python -m venv venv
source ./venv/bin/activate
pip install -r requirements.txt
python main.py

Configuration and examples

{
  "mcpServers": {
    "soap-service": {
      "command": "uv",
      "args": [
        "run",
        "--project",
        "/path/to/mcp2ws/pyproject.toml",
        "/path/to/mcp2ws/main.py",
        "http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL"
      ]
    }
  }
}

Examples of using the server with a WSDL URL

You can run the server directly with the WSDL URL to expose its operations through MCP. The examples below show how to start the server and how it can be consumed by an MCP client.

Notes

The following are practical considerations extracted from typical usage: you will point the MCP client at the WSDL-described service, and then the client can request operations such as fetching data or invoking specific SOAP actions. If you need to work with multiple WSDLs, you can configure separate MCP server entries for each WSDL.