mcp-zmq
by daedalus
README.md
**mcp-zmq** — MCP server for ZMQ messaging
[](https://pypi.org/project/mcp-zmq/)
[](https://pypi.org/project/mcp-zmq/)
[](https://codecov.io/gh/daedalus/mcp-zmq)
[](https://github.com/astral-sh/ruff)
mcp-name: io.github.daedalus/mcp-zmq
## Install
```bash
pip install mcp-zmq
```
## Usage
### MCP Server
```bash
mcp-zmq
```
### Python API
```python
from mcp_zmq import zmq_publish, zmq_subscribe, zmq_send_request, zmq_listen_reply
```
## Available Tools
- `zmq_publish`: Publish a message to a ZMQ PUB socket
- `zmq_subscribe`: Subscribe to messages from a ZMQ SUB socket
- `zmq_send_request`: Send a request via ZMQ REQ socket
- `zmq_listen_reply`: Listen for requests and reply via ZMQ REP socket
- `zmq_pair_connect`: Connect to a ZMQ PAIR socket
- `zmq_pair_bind`: Bind a ZMQ PAIR socket
- `zmq_status`: Get ZMQ server status
## Development
```bash
git clone https://github.com/daedalus/mcp-zmq.git
cd mcp-zmq
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
```
TDQS
A3.6/5.0
Scored across 6 tools
Disambiguation5/5
Each tool targets a distinct ZMQ socket type or role (REP, PAIR bind/connect, PUB, REQ, SUB), with no overlap in purpose. Agents can clearly distinguish them.
Naming Consistency5/5
All tools follow a consistent zmq_verb_noun pattern using snake_case, making the naming predictable and uniform across the set.
Tool Count5/5
With 6 tools covering essential ZMQ socket types (REQ/REP, PUB/SUB, PAIR), the count is well-scoped and each tool serves a clear purpose.
Completeness4/5
The set covers fundamental ZMQ patterns but lacks support for PUSH/PULL, DEALER/ROUTER, and cleanup actions like disconnect. Minor gaps exist but core workflows are addressed.
Maintenance
ActivityInactive
ResponsivenessNo issues