Warning
This project is deprecated. Use the Rust MCP Proxy instead, which is easier to install if you don't already have Elixir.
An Elixir escript for connecting STDIO based MCP clients to HTTP (SSE) based MCP servers.
Note: At the moment this only works with MCP servers that use the 2024-11-05 specification.
$ mix escript.install hex mcp_proxyThe escript is installed into your HOME's .mix directory: /path/to/home/.mix/escripts/mcp-proxy.
If you have an SSE MCP server available at http://localhost:4000/tidewave/mcp, a client like Claude Desktop would then be configured as follows.
You will also need to know the location of the escript executable, so run which escript before to get the value of "path/to/escript":
{
"mcpServers": {
"my-server": {
"command": "/path/to/escript",
"args": ["/$HOME/.mix/escripts/mcp-proxy", "http://localhost:4000/tidewave/mcp"]
}
}
}Remember to replace $HOME by your home directory, such as "/Users/johndoe".
{
"mcpServers": {
"my-server": {
"command": "escript.exe",
"args": ["c:\$HOME\.mix\escripts\mcp-proxy", "http://localhost:4000/tidewave/mcp"]
}
}
}Remember to replace $HOME by your home directory, such as "c:\Users\johndoe".
mcp-proxy either accepts the SSE URL as argument or using the environment variable SSE_URL. For debugging purposes, you can also pass --debug, which will log debug messages on stderr.
Other supported flags:
--max-disconnected-timethe maximum amount of time for trying to reconnect while disconnected. When not set, defaults to infinity.--receive-timeoutthe maximum amount of time to wait for an individual reply from the MCP server in milliseconds. Defaults to 60000 (60 seconds).