Deephaven MCP
About
MCP servers for Deephaven to orchestrate data workers and power documentation Q&A with LLMs, enabling AI-driven data workflows.
Details
- Author
- deephaven
- Categories
- Developer Tools, Other, Database, AI, Automation, Knowledge Base
Jump to
Setup
Install Deephaven MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/deephaven/deephaven-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
Thedhclicommand-line tool is under rapid development.Command names, flags, and output shapes can change without notice, so an upgrade may break scripts written against them — pin a version if you need stability. AI agents need no such care:dhclidescribes itself at runtime throughdhcli agents treeand--agents, so an agent that reads that manifest adapts to the changes on its own.
- Overview
- Key Use Cases
- Quick Start
- Install Deephaven MCP
- Community Core Quick Start
- Enterprise Quick Start
Supercharge your AI workflows with real-time data.Deephaven MCP brings the power oflive dataframesdirectly to your favorite AI tools —Claude Desktop,Cursor,VS Code (GitHub Copilot),Windsurf, and more.
Most data tools force you to choose:fastorreal-time. With Deephaven's revolutionary live dataframes, you get both. Process streaming data at millisecond speeds while your AI assistant helps you build, query, and analyze — all through natural language.
- Live Data, Live Results: Query streaming Kafka, real-time feeds, and batch data as easily as static CSV files
- AI-Native Integration: Your AI assistant understands your data pipeline and can help optimize, debug, and extend it
- Enterprise Ready: Battle-tested on Wall Street for over a decade, now available for your team
- Zero Learning Curve: Write queries as if working with static tables — real-time updates happen automatically
Deephaven MCP implements theModel Context Protocol (MCP)standard usingFastMCP, connectingDeephaven Community CoreandDeephaven Enterpriseto your AI development workflow.
It is built for data scientists, engineers, analysts, and business users alike — whatever your programming experience. Let AI generate the code while you focus on insights.
- AI-Assisted Development: Integrate Deephaven with LLM-powered development tools (e.g.,Claude Desktop,GitHub Copilot) for AI-assisted data exploration, code generation, and analysis.
- Multi-Environment Management: Programmatically manage and query multiple Deephaven Community Core and Enterprise deployments from a single interface.
- Interactive Documentation: Quickly find information and examples from Deephaven documentation using natural language queries.
- Script Automation: Execute Python or Groovy scripts across multiple Deephaven sessions for data processing workflows.
- Schema Discovery: Automatically retrieve and analyze table schemas from connected Deephaven instances.
- Environment Monitoring: Monitor session health, package versions, and system status across your Deephaven infrastructure.
Deephaven MCP ships as a single package, and onedh-mcp-systems-serverreadsone configuration directory tree. That tree can hold acommunity/section, anenterprise/section, orboth at once— the single server hosts everything it finds, simultaneously. Each section is optional; you are never locked into one deployment type.
The fastest on-ramp is theCommunity Core quickstartbelow. Once that works,add Enterprisewith one more command against thesameconfig tree — no second install, no second server. (If you only need Enterprise, start there instead; the steps stand alone.)
Install once (below), then configure whichever sections you need.
Install withuv(seePrerequisitesif you don't have it yet):
uv tool install --python-preference managed "deephaven-mcp"
This placesdhcli,dh-mcp-systems-server, anddh-mcp-docs-serveron your PATH with no venv to manage. For the venv-based alternative, seeInstallation & Initial Setup.
About--python-preference managed: tellsuvto download and use its own managed Python (under~/.local/share/uv/python/) instead of any Python on your system. You do not need to install Python yourself.
For stdio-only AI tools(e.g. Claude Desktop), also installmcp-proxy— it bridges a stdio-only client to HTTP MCP servers such as the hosted docs server:
uv tool install --python-preference managed mcp-proxy
Get up and running in 5 minutes!All you need isdeephaven-mcpinstalled— you donotneed a running Deephaven server, becausedhclican start one for you. Already runningDeephaven Community Core? You can point at it instead.
One command writes a working configuration:
No prompts, nothing to edit by hand. You can now start a Deephaven worker whenever you want one — no Docker, nothing else to install:
SeeDeephaven CLI (dhcli)for what elsedhclican do.
Optional— to use a Deephaven server you already run, add it:
dhcli config session add local --host localhost --port 10000 \ --auth psk --token '${env:DH_LOCAL_PSK}'
The${env:...}form keeps your token out of the file, so set it in your shell:export DH_LOCAL_PSK='your-token'. Use--auth anonymousif your server needs no token.
To check your configuration at any time:
Exit code0means you are good to go.dhcli config filesshows where the files landed.
Where the files live:~/.deephaven/ai/config/on POSIX,%APPDATA%/Deephaven/ai/config/on Windows.dhcli configsets the file permissions the server requires; if you hand-edit instead, applychmod 700to the directory andchmod 600to every file. For every setting you can change, seedocs/CONFIGURATION.mdand the sample tree inconfig-samples/ai/config/.
Confirm the configuration is good before involving an AI tool.dhclistarts its own background server, so there is nothing for you to launch:
dhcli config validate # is the configuration itself well-formed? dhcli session list # can the server load it and see your session?
config validatechecks the files alone.session listgoes further: it loads the tree and lists the sessions the server knows about. If your session appears, both the configuration and the server are working, and anything that goes wrong from here is in your AI-tool wiring. A bad configuration fails immediately with an error naming the file and field.
Your AI tool starts the systems server for you and shuts it down when it exits. There is no port to pick, no shared secret, and no background process to manage.
For Claude Desktop, openClaude Desktop→Settings→Developer→Edit Configand add:
{ "mcpServers": { "deephaven-systems": { "command": "dh-mcp-systems-server", "args": ["--transport", "stdio"] }, "deephaven-docs": { "command": "mcp-proxy", "args": ["--transport=streamablehttp", "https://deephaven-mcp-docs-prod.dhc-demo.deephaven.io/mcp"] } } }
The second entry,deephaven-docs, connects to Deephaven's hosted documentation server so you can ask questions about Deephaven itself. Claude Desktop reaches it throughmcp-proxy, which you installed inInstall Deephaven MCP.
The default config directory is~/.deephaven/ai/config/(created in Step 1), so noDH_AI_DATA_DIRis needed. To use a different location, add anenvblock settingDH_AI_DATA_DIRto a data root that contains aconfig/subdirectory.
Using something else?SeeSetup Instructions by Toolfor Cursor, VS Code, and Windsurf.
Restart your AI tool (or IDE) so it picks up the new configuration.
"List my Deephaven sessions and show me the tables in the local session"
"What Python packages are installed in my Deephaven environment?"
"Execute this Python code in my Deephaven session:t = empty_table(100).update('x=i', 'y=i*2')"
Need help?Check theTroubleshootingsection, ask the hosted docs server about Deephaven features, or join theDeephaven Community Slack!
Get up and running in 5 minutes!You needdeephaven-mcpinstalledand a Deephaven Enterprise system you can reach. Ask your Deephaven administrator for theconnection.jsonURL and your credentials.
Adding to an existing setup?This is additive — not a separate install or a separate server. If you already ran theCommunity Core quickstart, you are adding to thesameconfig directory, and onedh-mcp-systems-serverhosts your Community sessions and Enterprise systems together. If you skipped Community, this section stands alone.
One command declares your system. Each Enterprise system becomes one file underenterprise/systems/.
Password auth (with the secret read from an env var):
dhcli config system add prod \ --url https://dhe.example.com/iris/connection.json \ --auth password --username iris --password '${env:DH_PROD_PASSWORD}'
Private-key auth— PEM text is multi-line, so reference the file:
dhcli config system add prod \ --url https://dhe.example.com/iris/connection.json \ --auth private_key --key '${file:/etc/deephaven/prod-key.pem}'
Omit any flag to be prompted for it on a terminal. Then verify:
export DH_PROD_PASSWORD='your-password' # for the password-auth variant dhcli config validate
Export the secret before runningvalidate— it resolves${env:...}references in your current shell. The name you pass becomes the filename, soprodabove createsenterprise/systems/prod.json.communityis reserved and cannot be used as a system name.
Multiple systems: rundhcli config system add <name> ...once per system. List what you have declared withdhcli config system list, and remove one withdhcli config system remove <name>.
Community and Enterprise live side by side in the same tree — the one server hosts both:
~/.deephaven/ai/config/ ├── community/ │ └── sessions/ │ └── local.json # Community Core sessions └── enterprise/ └── systems/ └── prod.json # Enterprise systems — same tree, one server
A complete combined example ships inconfig-samples/ai/config/(both sections populated); theConfigurationsection below anddocs/CONFIGURATION.mdcover the full tree.
Confirm the configuration is good before involving an AI tool.dhclistarts its own background server, so there is nothing for you to launch:
dhcli config validate # is the configuration itself well-formed? dhcli system list # which systems does the server serve?
system listreturns every configured system as{name, type}pairs — thecommunityumbrella alongside each Enterprise system. Yourprodentry appearing there confirms both the configuration and the server are working. A bad configuration fails immediately with an error naming the file and field.
To check that the system is actually reachable, not just configured:
dhcli system status --system prod --connect
Your AI tool starts the systems server for you and shuts it down when it exits. There is no port to pick, no shared secret, and no background process to manage.
For Claude Desktop, openClaude Desktop→Settings→Developer→Edit Configand add:
{ "mcpServers": { "deephaven-systems": { "command": "dh-mcp-systems-server", "args": ["--transport", "stdio"] }, "deephaven-docs": { "command": "mcp-proxy", "args": ["--transport=streamablehttp", "https://deephaven-mcp-docs-prod.dhc-demo.deephaven.io/mcp"] } } }
The second entry,deephaven-docs, connects to Deephaven's hosted documentation server so you can ask questions about Deephaven itself. Claude Desktop reaches it throughmcp-proxy, which you installed inInstall Deephaven MCP.
The default config directory is~/.deephaven/ai/config/(created in Step 1), so noDH_AI_DATA_DIRis needed. To use a different location, add anenvblock settingDH_AI_DATA_DIRto a data root that contains aconfig/subdirectory.
Using something else?SeeSetup Instructions by Toolfor Cursor, VS Code, and Windsurf.
Restart your AI tool (or IDE) so it picks up the new configuration.
"What is the status of my Deephaven Enterprise system?"
"List all persistent queries on my enterprise system"
"Show me the tables available in my enterprise session"
Need help?Check theTroubleshootingsection, ask the hosted docs server about Deephaven features, or join theDeephaven Community Slack!
Already havedeephaven-mcpinstalled?Here's how to upgrade:
uv pip install --upgrade "deephaven-mcp"
Using standardpip(venv-based install):
.venv/bin/pip install --upgrade "deephaven-mcp"
After upgrading, restart your AI tool for changes to take effect.
v2 replaced the single v1 config file (named by the removedDH_MCP_CONFIG_FILEvariable) with aconfiguration directory tree. If you are upgrading from v1, a bundled converter rewrites your old file into the new tree — follow themigration guide.
The Deephaven command-line tool, designed for humans and especially AI agents. It inspects and operates Deephaven systems from the shell with noun-verb commands, typed flags, and machine-first structured output.
- Configure:dhcli config init,config session add,config system add,config validate— author and check the configuration tree without hand-editing JSON.
- Operate:session,system,table,catalog, andpqverbs, e.g.dhcli session listordhcli session open <id>.
- Ask the docs:dhcli docs askqueries the Deephaven documentation assistant.
- Output modes:-o human|json|json-pretty|yaml, defaulting to compactjson.
- For agents:dhcli agents treeemits the command tree with one-line summaries as JSON, and--fullthe complete manifest with parameters, output schemas, and error codes — preferable to scraping--help.
- Escape hatch:dhcli tool callinvokes any MCP tool directly.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





