Connect MCP Server Developed in WLS to Claude

Connect MCP Server Developed in WLS to Claude

I'm developing a MCP server in WLS because I'm using WLS for development in general. I've installed Claude desktop to play around with it and I had trouble connecting my server. Short of moving the codebase to windows, this post describes what I did to make it work.

Prerequisites

You need the following installed to be able to connect your server:

  1. Claude desktop installed (free plan is OK)
  2. (optional) the MCP inspector to debug before integrating it to make sure you get the parameters right

uv (for python installed) in windows. I did it via chocolately

 choco install uv

Install the mcp-proxy tool

The mcp proxy tool is a proxy:

The mcp-proxy is a tool that lets you switch between server transports. There are two supported modes:stdio to SSESSE to stdio

I did that via uv:

uv tool install mcp-proxy

I made sure to add the destination to the path:

uv tool update-shell

At this point, you should be able to run (if you restarted the command prompt terminal) mcp-proxy and get a message:

![[Pasted image 20250403121647.png|500]]

Launch your MCP server

This step depends on what you have as your mcp server. I have built a simple server (to access a qdrant database), that can be executed in both stdio and sse modes (the FastMCP approach makes it very easy to do). As Claude only deals with stdio and the mcp-proxy converts from one to the other, I need to start my tool in sse mode. I did the following in my dev environment (also using uv, but in WLS):

export PYTONPATH=.
uv run ./app/main.py

Some of the output is:


As you can see, the server is launched on port 8000

👍

Configure Claude Desktop

Configuring Claude Desktop is easy: instead of trying to run my server directly, I'll run the mcp-proxy and connect to my server. The configuration is:

{
    "qdrant": {
      "command": "mcp-proxy",
      "args": [
	    "http://localhost:8000/sse"],
      "env": {
        "PYTHONPATH": "."
      }
    }
  }
}

Here, I launch mcp-proxy and tell it to connect to http://localhost:8000/sse, which is the URL where my actual tool is running.

Once I restart Claude desktop, I can see the tool running:

I can also see logs on my server:

... and even its tools:

HTH,