ws-mcp
Wrap MCP stdio servers with a WebSocket. For use with kibitz.
Quickstart
Prerequisites
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
Configuration
The config file specifies which MCP servers to run.
The default config (no --config or --command args provided) includes:
To make a configuration file:
- Create your configuration file:
cp sample.config.json config.json
- Modify
config.jsonto add or remove servers based on your needs. - Run with
--config path/to/config.jsonto use the new config file.
Running ws-mcp
Basic usage with default config file (no --config or --command provided) and port:
uvx --refresh ws-mcp@latest
This will start all configured servers on the default port (10125).
To use a config file and port:
uvx --refresh ws-mcp@latest --config path/to/config --port 10125
Detailed Usage
# Example using fetch
uvx --refresh ws-mcp --command "uvx mcp-server-fetch" --port 3002
# Example using wcgw
## On macOS
uvx --refresh ws-mcp --command "uvx --from wcgw@latest --python 3.12 wcgw_mcp" --port 3001
## On Linux (or if you have issues on macOS with wcgw)
cd /tmp
git clone https://github.com/nick1udwig/wcgw.git
cd wcgw
git submodule update --init --recursive
git checkout hf/fix-wcgw-on-ubuntu
cd ..
uvx --refresh ws-mcp --command "uvx --from /tmp/wcgw --with /tmp/wcgw/src/mcp_wcgw --python 3.12 wcgw_mcp" --port 3001
# Example using Brave search
export BRAVE_API_KEY=YOUR_API_KEY_HERE
uvx --refresh ws-mcp --env BRAVE_API_KEY=$BRAVE_API_KEY --command "npx -y @modelcontextprotocol/server-brave-search" --port 3003
# Or, with a .env file:
uvx --refresh ws-mcp --env-file path/to/.env --command "npx -y @modelcontextprotocol/server-brave-search" --port 3003
# `--command` can be supplied multiple times!
# Example serving multiple servers at once:
uvx --refresh ws-mcp --env-file path/to/.env --command "npx -y @modelcontextprotocol/server-brave-search" --command "uvx mcp-server-fetch" --port 3004
# Servers can also be specified in a `.json` file following [the standard MCP format](https://modelcontextprotocol.io/quickstart/user#2-add-the-filesystem-mcp-server)
uvx --refresh ws-mcp --env-file path/to/.env --config path/to/config.json --port 3005
Metadata
Release files for ws-mcp 0.1.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ws_mcp-0.1.11.tar.gz | 15.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ws_mcp-0.1.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.2 kB
Release files / ws_mcp-0.1.11.tar.gz
| Download URL | ws_mcp-0.1.11.tar.gz |
|---|---|
| Size | 15.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
183367528d5868deb24785e4e95414ac68cdcfbbe9f698c5c98f48e0bd68afbc
|
|
BLAKE2b-256 checksum How to use checksums |
95b6cd9356d2ec412f0c690c04c5b44be219d89cd4f5cf3db02c783e445fe8b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.13
|
Release files / ws_mcp-0.1.11-py3-none-any.whl
| Download URL | ws_mcp-0.1.11-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f64f2af88a41be8e0915c7a5e61102d3c9ed430375f1366b85fc95493a0ee88d
|
|
BLAKE2b-256 checksum How to use checksums |
df7bb9e2a89f9dc571b8727371a95d38d895405e332cb31a0c74d6f6ffb9c13d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.13
|
Security for ws-mcp 0.1.11
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.