DcisionAI MCP Client — stdio↔HTTP proxy to the hosted DcisionAI optimization MCP.
Project description
dcisionai-mcp-client
Local stdio MCP server that forwards every JSON-RPC call to the
DcisionAI hosted streamable-HTTP MCP endpoint at
https://platform.dcisionai.com/mcp (or wherever DCISIONAI_MCP_URL
points).
Why this exists
The DcisionAI optimization pipeline (Domain Agent → Consultant Agent →
solver → explanation, with the Solver Intelligence layer) runs as a
multi-service deployment on Railway. Some MCP hosts (older Claude
Desktop / Cursor builds, sandboxed environments) only accept stdio MCP
servers launched via command + args. This package is the official
stdio↔HTTP bridge for those hosts.
For newer MCP hosts that speak streamable-HTTP natively (Claude Desktop ≥1.0, Cursor ≥0.42, Claude Code ≥0.5), use the direct URL config instead — there's no advantage to running this proxy.
Install
# One-shot launch (recommended for MCP host configs)
uvx --from dcisionai-mcp-client@latest dcisionai-mcp-client
# Or pin a version
uvx --from dcisionai-mcp-client==3.4.0 dcisionai-mcp-client
# Or install globally
pipx install dcisionai-mcp-client
dcisionai-mcp-client
MCP host configuration
Claude Desktop / Cursor / Claude Code
Add to your mcpServers config:
{
"mcpServers": {
"dcisionai-optimization": {
"command": "uvx",
"args": [
"--from",
"dcisionai-mcp-client@latest",
"dcisionai-mcp-client"
],
"env": {
"DCISIONAI_MCP_URL": "https://platform.dcisionai.com/mcp"
},
"disabled": false,
"autoApprove": [
"preflight_optimization",
"submit_optimization_job",
"get_job_status",
"get_job_result",
"get_job_raw",
"get_job_thinking",
"get_hitl_questions",
"respond_to_hitl",
"run_optimization_headless"
]
}
}
}
env.DCISIONAI_MCP_URL is optional — omit to default to production.
URL by environment
| Environment | URL |
|---|---|
| dev | https://dcisionai-platform-v3-testing.up.railway.app/mcp |
| qa | https://dcisionai-platform-qa.up.railway.app/mcp |
| prod (default) | https://platform.dcisionai.com/mcp |
Environment variables
| Variable | Default | Purpose |
|---|---|---|
DCISIONAI_MCP_URL |
https://platform.dcisionai.com/mcp |
Remote streamable-HTTP MCP endpoint |
DCISIONAI_MCP_TOKEN |
(unset) | Optional Bearer token for the remote endpoint (reserved for future auth) |
DCISIONAI_MCP_TIMEOUT_S |
60 |
Per-request HTTP timeout in seconds |
What it does NOT do
This proxy is a transport adapter, not a local solver. The optimization work — Domain Agent, codegen, Pyomo/HiGHS solve, Solver Intelligence, explanation generation — all runs on the hosted endpoint. No Anthropic / Pinecone / Neo4j / Voyage / Supabase keys are needed locally. That's the whole point.
If you need a self-contained server (the pipeline running entirely on
your machine, BYO credentials, no network dependency on DcisionAI
infrastructure), look at dcisionai-mcp-server@3.3.0 (separate
heavyweight package). The two coexist; the -client package is the
recommended path for the vast majority of integrations.
Tool surface
The 9 tools the remote endpoint exposes (you'll see these in your MCP host's tool panel after a successful handshake):
| Tool | Use |
|---|---|
preflight_optimization |
Identify missing data before submitting |
submit_optimization_job |
Kick off an async solve |
get_job_status |
Poll progress |
get_job_result |
Fetch executive-summary formatted result |
get_job_raw |
Fetch complete unformatted JSON (for downstream tooling) |
get_job_thinking |
Fetch agent reasoning trace |
get_hitl_questions |
When status=needs_input, fetch missing-data questions |
respond_to_hitl |
Submit answers and resume a paused job |
run_optimization_headless |
Single-call: submit + KB auto-answer + solve + return result |
Tool surface is authoritative on the server (mcp/public/server.py);
the proxy doesn't filter or transform — whatever the remote advertises
is what your host sees.
Architecture
┌─────────────────┐ stdio JSON-RPC ┌─────────────────────────┐
│ MCP host │ ◄────────────────► │ dcisionai-mcp-client │
│ (Claude Desktop,│ │ (this package) │
│ Cursor, etc.) │ └────────────┬────────────┘
└─────────────────┘ │ HTTPS POST + SSE
│ /mcp
▼
┌─────────────────────────┐
│ DcisionAI platform │
│ (Railway / Cloud) │
│ Domain → Consultant → │
│ solver → explain │
└─────────────────────────┘
Each stdin line is a JSON-RPC message. The proxy POSTs it, captures
Mcp-Session-Id from the initialize response, forwards it on subsequent
requests, parses the SSE response body, writes the JSON-RPC payload to
stdout.
License
Proprietary. © DcisionAI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dcisionai_mcp_client-3.4.0.tar.gz.
File metadata
- Download URL: dcisionai_mcp_client-3.4.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01af9a0aee4afcc281e1b8eee646e333914c9fcdfc2c5bf92ccd697111ebf191
|
|
| MD5 |
f64edb2e4acae993f8c81dc4501e596a
|
|
| BLAKE2b-256 |
2331907e4700daf741c4bde3ea4b0725d4215fe363f7665edd3cb8a550c24070
|
File details
Details for the file dcisionai_mcp_client-3.4.0-py3-none-any.whl.
File metadata
- Download URL: dcisionai_mcp_client-3.4.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc20fef932ba6bcbe7a774ebe6ae69e794d9c1335a71eca84a07ffe393b1fc4f
|
|
| MD5 |
2480906f892c898c67591715b2bdc698
|
|
| BLAKE2b-256 |
284b6951f2e6c0fad02bd4c423cb948f1645a944237225ec5df3cb4b48edba10
|