endplay-dd-mcp-server
by BSalita
README.md
# endplay-dd-mcp-server
MCP server exposing `endplay` double-dummy calculations through a first-party
REST API. The MCP process is an HTTP client and never imports Endplay directly.
## Tools
- `double_dummy(pbn: str)`
Returns a full 20-cell trick table (N/E/S/W declarer x C/D/H/S/NT strain).
- `double_dummy_batch(pbns: list[str])`
Same result shape for multiple deals in one call.
## Setup
```bash
cd c:/sw/bridge/ML-Contract-Bridge/src/endplay-dd-mcp-server
python -m venv .venv
.venv/Scripts/activate
pip install -e .
```
## Run
Start the first-party API, then the MCP client:
```powershell
endplay-dd-api
# In another terminal:
endplay-dd-mcp
```
The MCP server runs over stdio by default. Configure its API endpoint with
`ENDPLAY_DD_API_BASE_URL` (default `http://127.0.0.1:8001`).
## Example input
```text
N:9642.95.AKQT4.K7 KJ3.K3.98.T98654 AQT85.Q862..AQJ2 7.AJT74.J76532.3
```
## Example output (shape)
```json
{
"ok": true,
"pbn": "<input>",
"table": {
"denom_order": ["C", "D", "H", "S", "N"],
"player_order": ["N", "E", "S", "W"],
"by_declarer": {
"N": {"C": 8, "D": 8, "H": 7, "S": 7, "N": 9},
"E": {"C": 5, "D": 5, "H": 6, "S": 0, "N": 4},
"S": {"C": 8, "D": 7, "H": 7, "S": 7, "N": 9},
"W": {"C": 5, "D": 6, "H": 5, "S": 0, "N": 4}
}
}
}
```
## Cursor MCP config example
Ensure `endplay-dd-api` is running, then add this server in your MCP config:
```json
{
"mcpServers": {
"endplay-dd": {
"command": "c:/sw/bridge/ML-Contract-Bridge/src/endplay-dd-mcp-server/.venv/Scripts/python.exe",
"args": [
"-m",
"endplay_dd_mcp.server"
]
}
}
}
```
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues