Mentioned as the provider of Windsurf, an AI tool that can be integrated with Deephaven MCP for working with real-time data.
Used as a launch method for dynamically creating Deephaven Community Core sessions on-demand through the MCP server's session creation tools.
Mentioned as an LLM-powered development tool that can integrate with Deephaven MCP for AI-assisted data exploration, code generation, and analysis.
Used as a launch method for dynamically creating Deephaven Community Core sessions, and as the primary scripting language for executing data processing workflows across Deephaven sessions.
Mentioned as the Deephaven Community Slack for support and community engagement.
deephaven-mcp
Table of Contents
Overview
Supercharge your AI workflows with real-time data. Deephaven MCP brings the power of live dataframes directly to your favorite AI tools -β Claude Desktop, Cursor, VS Code (GitHub Copilot), Windsurf, and more.
Why Deephaven MCP?
Most data tools force you to choose: fast or real-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.
π What makes this different:
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 the Model Context Protocol (MCP) standard using FastMCP to provide seamless integration between Deephaven Community Core and Deephaven Enterprise systems and your AI development workflow. Perfect for data scientists, engineers, analysts, business users, and anyone who wants to harness real-time dataβregardless of programming experience. Let AI generate the code while you focus on insights.
Key Use Cases
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.
π Quick Start
Get up and running in 5 minutes! This quickstart assumes you have a local Deephaven Community Core instance running on localhost:10000. If you don't have one, download and start Deephaven Community Core first.
1. Create Virtual Environment
Using
Pick a suitable project directory for your venv.
Using standard
Replace
3.11/python3.11with any supported Python version (3.11, 3.12, or 3.13).
2. Install Deephaven MCP
For most users, installing with both Community + Enterprise support is the best default.
These instructions cover the installation of the Deephaven MCP system server, which enables AI agents to interact with Deephaven Community and Enterprise systems.
Note: The Deephaven MCP docs server is hosted by Deephaven and requires no installation.
Using
Using standard
Optional Dependencies:
Extra | Use when |
| You want to create Community Core sessions using python (no Docker) |
| You need to connect to Deephaven Enterprise (Core+) systems |
| You want to run the test suite |
| You only need code quality tools (linting, formatting, type checking) |
| You're developing/contributing to this project (includes everything) |
For more details and additional installation methods, see Installation & Initial Setup.
3. Create Configuration File
Create a file called deephaven_mcp.json anywhere on your system:
β οΈ Security Note: Since this file contains authentication credentials, set restrictive permissions:
chmod 600 deephaven_mcp.json
π‘ Dynamic Sessions: The
session_creationsection enables on-demand Community Core session creation. Requirements:deephaven-server(installed in any Python venv) for the python method, or Docker for the docker method. See Community Session Creation Configuration for details.
4. Configure Your AI Tool
For Claude Desktop, open Claude Desktop β Settings β Developer β Edit Config and add:
For other tools, see the detailed setup instructions below.
5. Try It Out
Restart your AI tool (or IDE). This will start your mcp servers from the installation in the venv you have supplied, located from the configuration supplied.
Confirm the setup is working by asking:
"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 the Troubleshooting section, ask the built-in docs server about Deephaven features, or join the Deephaven Community Slack!
π Quick Upgrade
Already have Here's how to upgrade:
Using
Using standard
To upgrade with optional dependencies:
After upgrading, restart your AI tool for changes to take effect.
Deephaven MCP Components
Systems Server
Manages and connects to multiple Deephaven Community Core sessions and Deephaven Enterprise systems. This allows for unified control and interaction with your Deephaven instances from various client applications.
Key Capabilities:
Session Management: List, monitor, and get detailed status of all configured Deephaven sessions
Community Session Creation: Dynamically launch new Community Core sessions via Docker or python with configurable resources
Enterprise Systems: Connect to and manage Deephaven Enterprise (Core+) deployments
Enterprise Session Creation: Create and delete enterprise sessions with configurable resources and limits
Catalog Discovery: Browse enterprise catalog at table and namespace levels to discover available data sources
Table Discovery: Lightweight table name listing and comprehensive schema retrieval for both session and catalog tables
Table Operations: Retrieve table schemas, metadata, and actual data with flexible formatting options
Script Execution: Run Python or Groovy scripts directly on Deephaven sessions
Package Management: Query installed Python packages in session environments
Configuration Management: Dynamically reload and refresh session configurations
Available MCP Tools
Session Management:
sessions_list- List all configured sessionssession_details- Get detailed session informationmcp_reload- Reload configuration and clear caches
Community Sessions:
session_community_create- Dynamically launch Community Core sessionssession_community_delete- Delete dynamically created sessionssession_community_credentials- Retrieve session credentials
Enterprise Systems & Sessions:
enterprise_systems_status- Get enterprise system statussession_enterprise_create- Create enterprise sessionssession_enterprise_delete- Delete enterprise sessions
Table Operations:
session_tables_list- List available tablessession_tables_schema- Get table schema informationsession_table_data- Retrieve table data with formatting options
Catalog Discovery (Enterprise):
catalog_tables_list- List catalog tablescatalog_namespaces_list- Browse catalog namespacescatalog_tables_schema- Get catalog table schemascatalog_table_sample- Sample catalog table data
Execution & Packages:
session_script_run- Execute Python/Groovy scriptssession_pip_list- Query installed packages
For detailed tool documentation with parameters and examples, see the Developer & Contributor Guide.
Docs Server
Connects to Deephaven's documentation knowledge base via Inkeep AI to answer questions about Deephaven features, APIs, and usage patterns. Ask questions in natural language and get specific answers with code examples and explanations.
Architecture Diagrams
Systems Server Architecture
Clients connect to the
Docs Server Architecture
Modern MCP clients can connect directly via streamable-http for optimal performance. Clients without native streamable-http support can use
Prerequisites
Python: Version 3.11, 3.12, or 3.13. (Download Python)
Docker (Optional): Required for Docker-based community session creation. (Download Docker)
Access to Deephaven systems: To use the MCP Systems Server, you will need one or more of the following:
Deephaven Community Core For development and personal use.
Deephaven Enterprise For enterprise-level features and capabilities.
Choose your Python environment setup method:
Option A: : A very fast Python package installer and resolver. If you don't have it, you can install it via
pip install uvor see the uv installation guide.Option B: Standard Python : Uses Python's built-in virtual environment ( tools and
pip.
Configuration Files: Each integration requires proper configuration files (specific locations detailed in each integration section)
Installation & Initial Setup
β‘ Quick Path: For a fast getting-started experience, see the π Quick Start guide above. This section provides additional installation details and alternative methods.
The recommended way to install deephaven-mcp is from PyPI, which provides the latest stable release.
Installation Methods
Using uv (Fast, Recommended)
uv is a high-performance Python package manager. For detailed uv workflows and project-specific setup, see the uv.
Install uv:
Create environment and install:
Using Standard pip and venv
Create environment and install:
Optional Dependency Reference:
Extra | Provides |
| Python-based Community Core session creation (no Docker) |
| Deephaven Enterprise (Core+) system connectivity |
| Testing framework and utilities |
| Code quality tools (linting, formatting, type checking) |
| Full development environment (all of the above) |
Configuration
This section covers all aspects of configuring Deephaven MCP, from defining your sessions and systems to setting environment variables and managing browser access.
Configuring deephaven_mcp.json
This section explains how to configure the Deephaven MCP Systems Server to connect to and manage your Deephaven Community Core instances and Deephaven Enterprise systems. This involves creating a systems session definition file and understanding how the server locates this file.
The deephaven_mcp.json File
This file tells the MCP Systems Server how to connect to your Deephaven instances. You'll create this file to define your connections to either Community Core sessions or Enterprise systems (or both).
File Format: The configuration file supports both standard JSON and JSON5 formats:
Single-line comments:
// This is a commentMulti-line comments:
/* This is a multi-line comment */Trailing commas are also supported
The configuration file supports two main sections:
"community": For connecting to Community Core session instances"enterprise": For connecting to Enterprise systems
You can include either section, both, or neither (empty file). Each section contains connection details specific to that type of Deephaven system.
π Security Note: For controlling access to session credentials, see the Security Configuration section below.
Community Core Configuration
Community Examples
Minimal configuration (no connections):
Anonymous authentication (simplest):
PSK authentication:
Basic authentication with environment variable:
TLS/SSL configuration:
Community Configuration Fields
All community session fields are optional. Default values are applied by the server if a field is omitted.
π‘ See Examples Above: For complete configuration examples, refer to Community Examples.
Field | Type | Required When | Description |
| string | Optional | Hostname or IP address of the Deephaven Community Core session (e.g., |
| integer | Optional | Port number for the session connection (e.g., |
| string | Optional | Authentication type: |
| string | Optional | Authentication token. For |
| string | Optional | Environment variable name containing the auth token (e.g., |
| boolean | Optional | If |
| string | Optional | Type of session to create: |
| boolean | Optional | Set to |
| string | Optional | Absolute path to PEM file with trusted root CA certificates for TLS verification |
| string | Optional | Absolute path to PEM file with client's TLS certificate chain (for mTLS) |
| string | Optional | Absolute path to PEM file with client's private key (for mTLS) |
Community Session Creation Configuration
The session_creation key enables dynamic creation of Deephaven Community Core sessions on-demand. When configured, the MCP tools session_community_create and session_community_delete become available.
Requirements by launch method:
Docker method (
launch_method: "docker"):Requires Docker installed and running
Works with base
deephaven-mcpinstallation (no additional packages needed)
Python method (
launch_method: "python"):Requires
deephaven-serverinstalled in a Python environmentDefault venv: Uses same venv as MCP server
Custom venv: Optionally specify a different venv via
python_venv_pathparameterNo Docker needed
Field | Type | Required When | Description |
| object | Optional | Configuration for creating community sessions. If omitted, session creation tools are unavailable |
| integer | Optional | Maximum concurrent sessions (default: 5). Set to 0 to disable session creation |
| object | Optional | Default parameters for new sessions |
| string | Optional | How to launch sessions: |
| string | Optional | Authentication type: |
| string | Optional | Pre-shared key for PSK auth. If omitted with PSK auth, a secure token is auto-generated |
| string | Optional | Environment variable containing auth token. Mutually exclusive with |
| string | Optional | Programming language for Docker sessions: |
| string | Optional | Custom Docker image to use. Docker only. Mutually exclusive with |
| float | Optional | Container memory limit in GB (Docker only, default: no limit) |
| float | Optional | Container CPU limit in cores (Docker only, default: no limit) |
| array | Optional | Volume mounts in format |
| string | Optional | Path to custom Python venv directory (Python only). If provided, uses deephaven from that venv. If null (default), uses same venv as MCP server. Raises error if used with docker. |
| float | int | Optional | JVM heap size in gigabytes (e.g., 4 or 2.5, default: 4). Integer values use 'g' suffix (4 β |
| array | Optional | Additional JVM arguments (e.g., |
| object | Optional | Environment variables as key-value pairs (default: {}) |
| float | Optional | Maximum time to wait for session startup (default: 60) |
| float | Optional | Time between health checks during startup (default: 2) |
| integer | Optional | Connection attempts per health check (default: 3) |
Docker Image Configuration Examples:
π Session Lifecycle Notes:
Automatic Cleanup:
Sessions are automatically stopped and cleaned up when the MCP server shuts down
All ports are released and containers/processes are terminated gracefully
On restart, the MCP server detects and cleans up any orphaned resources from previous runs
Session Management:
Auto-generated PSK tokens are logged at WARNING level for visibility (similar to Jupyter notebooks)
Created sessions use session IDs in format:
community:dynamic:{session_name}Only dynamically created sessions can be deleted via
session_community_deleteStatic configuration-based sessions cannot be deleted via MCP tools
Enterprise System Configuration
Enterprise Examples
Password authentication (direct):
Password authentication (environment variable):
Private key authentication:
Enterprise Configuration Fields
The enterprise key contains a "systems" dictionary mapping custom system names to their configuration objects.
π‘ See Examples Above: For complete configuration examples, refer to Enterprise Examples.
Field | Type | Required When | Description |
| string | Always | URL to the Enterprise server's |
| string | Always | Authentication method: |
| string |
| Username for authentication |
| string |
| Password (use |
| string |
| Environment variable containing the password (recommended) |
| string |
| Absolute path to private key file |
| integer | float | Optional | Timeout in seconds for establishing connection to Enterprise system (default: 10.0) |
| object | Optional | Configuration for creating enterprise sessions. If omitted, session creation tools are unavailable |
| integer | Optional | Maximum concurrent sessions (default: 5). Set to 0 to disable session creation |
| object | Optional | Default parameters for new sessions |
| float | int | Optional | Default JVM heap size in gigabytes for new sessions (e.g., 4 or 2.5). Enterprise library handles conversion internally |
| string | Optional | Default programming language for new sessions ("Python" or "Groovy", default: "Python") |
| integer | Optional | Default auto-deletion timeout in seconds for idle sessions (API default: 600) |
| string | Optional | Default target server/environment name where sessions will be created |
| string | Optional | Default engine type for new sessions (e.g., "DeephavenCommunity") |
| array | Optional | Default additional JVM arguments for new sessions (e.g., ["-XX:+UseG1GC"]) |
| array | Optional | Default environment variables for new sessions (format: ["NAME=value"]) |
| array | Optional | Default user groups with administrative permissions for new sessions |
| array | Optional | Default user groups with read-only access to new sessions |
| float | Optional | Default session startup timeout in seconds (API default: 60) |
| object | Optional | Default arguments for pydeephaven.Session constructor (passed as-is, no validation of contents) |
π Note: All file paths should be absolute and accessible by the MCP server process.
Security Configuration
The top-level security section in deephaven_mcp.json controls security-sensitive features. This section is optional.
Community Credential Retrieval
The security.community.credential_retrieval_mode setting controls whether and how the session_community_credentials MCP tool can retrieve authentication credentials programmatically.
π SECURITY WARNING
When credential retrieval is enabled, your AI assistant can see and access the authentication tokens. The AI can use these credentials to connect to your Deephaven sessions. The credentials may also be logged by the AI assistant.
Only enable credential retrieval modes if you understand these security implications. NEVER enable credential retrieval when the MCP server is accessible over untrusted networks.
Field | Type | Values | Description |
| string |
| Controls credential retrieval access |
Mode Descriptions:
"none"(default): Credential retrieval disabled for all sessions (most secure)Tool returns error with configuration instructions
Credentials only available via console logs
"dynamic_only": Only dynamically created session credentials can be retrievedRecommended for development environments
Allows retrieval for sessions created via
session_community_createDenies retrieval for static configuration-based sessions
"static_only": Only static configuration-based session credentials can be retrievedFor controlled environments where static credentials are managed
Allows retrieval for sessions defined in
community.sessionsDenies retrieval for dynamically created sessions
"all": Both dynamic and static session credentials can be retrievedMaximum flexibility but requires careful security consideration
Only enable if you understand the security implications
Example Configuration:
Combined Configuration Example
Here's a complete example showing both Community and Enterprise configurations:
Security Note
β οΈ Security Warning: The
deephaven_mcp.jsonfile can contain sensitive information such as authentication tokens, usernames, and passwords. Ensure that this file is protected with appropriate filesystem permissions to prevent unauthorized access.For example, on Unix-like systems (Linux, macOS), you can restrict permissions to the owner only:
chmod 600 /path/to/your/deephaven_mcp.json
Setting DH_MCP_CONFIG_FILE
The DH_MCP_CONFIG_FILE environment variable tells the Deephaven MCP Systems Server where to find your deephaven_mcp.json file (detailed in The ). You will set this environment variable as part of the server launch configuration within your LLM tool, as detailed in the Setup Instructions by Tool section.
When launched by an LLM tool, the MCP Systems Server process reads this variable to load your session definitions. For general troubleshooting or if you need to set other environment variables like PYTHONLOGLEVEL (e.g., to DEBUG for verbose logs), these are also typically set within the LLM tool's MCP server configuration (see Setup Instructions by Tool).
Environment Variables
β οΈ Security Warning: Environment variables containing sensitive information like API keys and authentication tokens should be handled securely and never committed to version control.
Systems Server Environment Variables
DH_MCP_CONFIG_FILE: Path to yourdeephaven_mcp.jsonconfiguration fileExample:
DH_MCP_CONFIG_FILE=/path/to/your/deephaven_mcp.jsonDefault: Looks for
deephaven_mcp.jsonin the current directory
PYTHONLOGLEVEL: Controls the verbosity of logging outputValues:
DEBUG,INFO,WARNING,ERRORExample:
PYTHONLOGLEVEL=DEBUGDefault:
INFO
Custom authentication variables: Any environment variable specified in your
deephaven_mcp.jsonconfiguration'sauth_token_env_varfield will be used to source authentication tokensExample: If config specifies
"auth_token_env_var": "MY_AUTH_TOKEN", thenMY_AUTH_TOKEN=username:passwordNote: This is a more secure alternative to hardcoding tokens in configuration files
Browser Access to Created Sessions
When you create a Deephaven session via the MCP tools, you may want to access it through a web browser. By default, authentication credentials are not returned through MCP tools for security.
Viewing Credentials in Console
When a session is created with an auto-generated token, the connection information is logged to your console:
You can copy this URL directly into your browser.
Retrieving Credentials via MCP Tool (Optional)
If you want AI agents to retrieve credentials programmatically, you can enable the session_community_credentials tool in your configuration:
Edit your
{ "security": { "community": { "credential_retrieval_mode": "dynamic_only" } }, "community": { "session_creation": { "defaults": { "launch_method": "docker", "heap_size_gb": 4 } } } }Valid
"none"(default): Credential retrieval disabled for all sessions (most secure)"dynamic_only": Only auto-generated tokens from dynamically created sessions (recommended for development)"static_only": Only pre-configured tokens from static sessions in your config"all": Both dynamic and static session credentials
Use the tool:
Ask your AI assistant: "Get me the browser URL for session 'my-analysis'"
The AI will use
session_community_credentialsto retrieve the authenticated URL.π SECURITY WARNING
This tool exposes sensitive credentials. Only enable credential retrieval if the MCP server is running locally and you understand the security implications. NEVER enable when accessible over untrusted networks.
Applying Configuration Changes
After creating or modifying your MCP configuration, you must restart your IDE or AI assistant for the changes to take effect.
Restart and Verify
Restart your tool completely (Claude Desktop, VS Code, Cursor, etc.)
Check MCP server status in your tool's interface - you should see
deephaven-systemsanddeephaven-docslistedTest the connection by asking your AI assistant:
Are the Deephaven MCP servers working? Can you list any available sessions?Your AI assistant should connect to both servers and respond with information about Deephaven capabilities and available sessions.
If the servers don't appear or you encounter errors, see the Troubleshooting section.
AI Tool Setup
This section explains how to connect Deephaven to your AI assistant or IDE. While the goal is the same -β pointing your tool to the Deephaven MCP servers -β the specific configuration steps vary for each tool.
How Configuration Works
All AI tools that support MCP use the same core configuration format: a JSON object called "mcpServers". This object defines how to launch the Deephaven MCP servers.
The - what differs between tools is only where this object goes in their configuration file:
Tool | Configuration Structure |
Windsurf, Cursor, Claude Desktop | The |
VS Code | The |
Basic Configuration
Here's the standard mcpServers configuration for Deephaven. It works for both uv and pip installations.
Note: you will not start these mcpServers directly. When configuration is supplied to your AI Tool, the servers will be started via that tool.
βοΈ Important: All paths in the following examples must be absolute paths. Replace
/full/path/to/your/with the correct absolute path to your project directory (where the venv was setup).
π Note: Change
"PYTHONLOGLEVEL": "INFO"to"PYTHONLOGLEVEL": "DEBUG"for detailed server logs (see Troubleshooting).
Direct HTTP Server Configuration
The Deephaven MCP Docs Server natively supports streaming HTTP connections and can be accessed directly by AI agents without requiring the mcp-proxy tool. This provides optimal performance with lower latency and reduced overhead compared to the proxy-based approach.
How It Works:
The docs server runs as a FastAPI web service with native MCP streaming HTTP support
It accepts direct HTTP connections on
https://deephaven-mcp-docs-prod.dhc-demo.deephaven.io/mcpModern AI agents can connect directly using their built-in streaming HTTP clients
This eliminates the need for a local proxy process, simplifying the setup
When to Use Direct HTTP:
Your AI agent supports native streaming HTTP MCP connections
You want optimal performance and reduced resource usage
You prefer simpler configuration without local proxy processes
When to Use Proxy-Based Approach:
Your AI agent only supports stdio MCP connections
You need universal compatibility across all MCP clients
You're troubleshooting connection issues
β οΈ Note: Each tool uses different configuration schemas for direct HTTP servers. The examples below show tool-specific formats.
For Windsurf IDE:
For VS Code:
For more details on HTTP server configuration, see the Windsurf MCP documentation and VS Code HTTP servers guide.
π Note: Claude Desktop and Cursor currently require the proxy-based approach shown in the standard configuration above.
Setup Instructions by Tool
The following sections provide specific integration steps for each supported IDE and AI assistant platform, covering the required configuration and file locations.
Claude Desktop
Open Claude Desktop β Settings β Developer β Edit Config to configure your MCP servers:
Additional Resources:
Cursor
Create or edit an MCP configuration file:
Project-specific:
.cursor/mcp.jsonin your project rootGlobal:
~/.cursor/mcp.jsonfor all projects
Additional Resources:
VS Code (GitHub Copilot)
To add MCP servers to your workspace, run the MCP: Add Server command from the Command Palette (Cmd-Shift-P), then select Workspace Settings to create the .vscode/mcp.json file. Alternatively, create .vscode/mcp.json manually in your project root.
Configure your servers:
You will see the mcp servers listed in the Extensions sidebar under "MCP Servers". (Collapse the sections for extensions to install to have the mcp servers easily visible.)
Additional Resources:
Windsurf
Go to Windsurf Settings > Cascade > MCP Servers > Manage MCPs > View Raw Config to open ~/.codeium/windsurf/mcp_config.json for editing.
Configure the file with your Deephaven servers:
Additional Resources:
Troubleshooting
This section provides comprehensive guidance for diagnosing and resolving common issues with Deephaven MCP setup and operation. Issues are organized by category, starting with the most frequently encountered problems.
Quick Fixes
Before diving into detailed troubleshooting, try these common solutions:
Restart your IDE/AI assistant after any configuration changes
Check that all file paths are absolute in your JSON configurations
Verify your virtual environment is activated when running commands
Validate JSON syntax using https://jsonlint.com or your IDE's JSON validator
Common Error Messages
Error | Where You'll See This | Solution |
| IDE/AI assistant logs | Use full path to |
| MCP server logs | Check internet connection and server URLs |
| MCP server startup | Verify full path to |
| Command execution | Ensure |
| Virtual environment | Verify supported Python version is installed and accessible |
| IDE/AI assistant logs | Fix JSON syntax errors in configuration files |
| MCP server logs | Ensure virtual environment is activated and dependencies installed |
| MCP tool responses | Use format: |
JSON Configuration Issues
Most configuration problems stem from JSON syntax errors or incorrect paths:
Invalid JSON Syntax:
Missing or extra commas, brackets, or quotes
Use JSON validator to check syntax
Common mistake: trailing comma in last object property
Incorrect File Paths:
All paths in JSON configurations must be absolute paths
Use forward slashes
/even on Windows in JSONVerify files exist at the specified paths
Environment Variable Issues:
DH_MCP_CONFIG_FILEmust point to validdeephaven_mcp.jsonfileEnvironment variables in
envblock must use correct namesSensitive values should use environment variables, not hardcoded strings
LLM Tool Connection Issues
LLM Tool Can't Connect / Server Not Found:
Verify all paths in your LLM tool's JSON configuration are absolute and correct
Ensure
DH_MCP_CONFIG_FILEenvironment variable is correctly set in the JSON config and points to a validdeephaven_mcp.jsonfileEnsure any Deephaven Community Core sessions you intend to use (as defined in
deephaven_mcp.json) are running and accessible from the MCP Systems Server's environmentCheck for typos in server names, commands, or arguments in the JSON config
Validate the syntax of your JSON configurations (
mcpServersobject in the LLM tool, anddeephaven_mcp.json) using a JSON validator tool or your IDE's linting featuresSet
PYTHONLOGLEVEL=DEBUGin theenvblock of your JSON config to get more detailed logs from the MCP servers
Network and Firewall Issues
Firewall or Network Issues:
Ensure that there are no firewall rules (local or network) preventing:
The MCP Systems Server from connecting to your Deephaven Community Core instances on their specified hosts and ports.
Your LLM tool or client from connecting to the
mcp-proxy's target URL (https://deephaven-mcp-docs-prod.dhc-demo.deephaven.io) if using the Docs Server.
Test basic network connectivity (e.g., using
pingorcurlfrom the relevant machine) if connections are failing.
Command and Path Issues
command not foundEnsure
uvis installed and its installation directory is in your system'sPATHenvironment variable, accessible by the LLM tool.
command not foundDouble-check that the
commandfield in your JSON config uses the correct absolute path to the executable within your.venv/bin/(or.venv\Scripts\) directory.
Virtual Environment and Dependency Issues
Virtual Environment Not Activated:
Symptoms:
Module not founderrors,command not foundfor installed packagesSolution: Activate your virtual environment before running commands
Verify: Check that your prompt shows the environment name in parentheses
Dependency Installation Problems:
Missing Dependencies: Run
uv pip install -e ".[dev]"in your virtual environmentVersion Conflicts: Check for conflicting package versions in your environment
Platform-Specific Issues: Some packages may require platform-specific compilation
Python Version Compatibility:
Deephaven MCP requires Python 3.11 or higher
Check your Python version:
python --versionEnsure your virtual environment uses the correct Python version
Server and Environment Issues
Server Startup Failures:
Python Errors: Check server logs for Python tracebacks and ensure dependencies are installed correctly
Permission Issues: Ensure the MCP server process has necessary file and network permissions
Path Issues: Verify all executable paths in configuration are correct and accessible
Runtime Issues:
Coroutine errors: Restart the MCP server after making code changes
Memory issues: Monitor server resource usage, especially with large datasets
Cache issues: Clear Python cache files if experiencing persistent issues:
find . -name "*.pyc" -delete
uv-Specific Issues:
Command failures: Ensure
uvis installed andpyproject.tomlis properly configuredPath issues: Verify
uvis in your system'sPATHenvironment variableProject detection: Run
uvcommands from the project root directory
Deephaven Session Configuration Issues
Session Connection Failures:
Verify your
deephaven_mcp.jsonfile syntax and content - see Community Configuration or Enterprise ConfigurationCheck the Environment Variables section for required environment variables
Ensure target Deephaven Community Core instances are running and network-accessible
Check that the MCP Systems Server process has read permissions for the configuration file
Session ID Format Issues:
Use the correct format:
{type}:{source}:{session_name}Examples:
community:local_dev:my_session,enterprise:staging:analyticsAvoid special characters or spaces in session names
Authentication Problems:
Community sessions: Verify connection URLs and authentication - see Community Configuration Fields
Enterprise sessions: Check authentication tokens and certificate paths - see Enterprise Configuration Fields
Environment variables: Ensure sensitive credentials are properly set - see Environment Variables
Credential retrieval: Check Security Configuration for credential access settings
Platform-Specific Issues
Windows-Specific:
Use forward slashes
/in JSON file paths, even on WindowsExecutable paths should point to
.venv\Scripts\instead of.venv/bin/PowerShell execution policy may block script execution
macOS-Specific:
Gatekeeper may block unsigned executables
File permissions may need adjustment:
chmod +x /path/to/executableNetwork security settings may block connections
Linux-Specific:
Check firewall settings:
ufw statusoriptables -LVerify user permissions for network binding
SELinux policies may restrict server operations
Log Analysis and Debugging
Log File Locations:
Claude Desktop (macOS):
~/Library/Logs/Claude/mcp-server-*.logVS Code/Copilot: Check VS Code's Output panel and Developer Console
Cursor IDE: Check the IDE's log panel and developer tools
Windsurf IDE: Check the IDE's integrated terminal and log outputs
What to Look For in Logs:
Startup errors: Python tracebacks, missing modules, permission denied
Connection errors: Network timeouts, refused connections, DNS resolution failures
Configuration errors: JSON parsing errors, invalid paths, missing environment variables
Runtime errors: Unexpected exceptions, resource exhaustion, timeout errors
Enabling Debug Logging:
Set PYTHONLOGLEVEL=DEBUG in your MCP server configuration's env block for detailed logging:
When to Seek Help
If you've tried the above solutions and are still experiencing issues:
Gather Information:
Error messages from logs
Your configuration files (remove sensitive information)
System information (OS, Python version, package versions)
Steps to reproduce the issue
Check Documentation:
Review the Developer Guide for advanced troubleshooting
Check the GitHub Issues for similar problems
Community Support:
Post in Deephaven Community Slack
Create a GitHub issue with detailed information
IDE and AI Assistant Troubleshooting
For IDE and AI assistant troubleshooting, refer to the official documentation for each tool:
VS Code (GitHub Copilot): VS Code MCP Troubleshooting guide
Cursor: Cursor MCP documentation
Claude Desktop: Claude Desktop MCP Troubleshooting guide
Windsurf: Windsurf MCP Troubleshooting guide
Advanced Usage
Detailed Server APIs and Tools: For in-depth information about the tools exposed by the Systems Server (e.g.,
mcp_reload,session_tables_schema) and the Docs Server (docs_chat), refer to the Developer & Contributor Guide.uvFor more details on usinguvfor project management, see docs/UV.md.Deephaven Documentation:
Contributing
We warmly welcome contributions to Deephaven MCP! Whether it's bug reports, feature suggestions, documentation improvements, or code contributions, your help is valued.
Where to Start:
Reporting Issues: Found a bug or have a feature request? Open an issue on GitHub: https://github.com/deephaven/deephaven-mcp/issues
Contributing Guide: See our Contributing Guide and Code of Conduct for guidelines on how to get involved.
Development Guide: Looking to contribute code? See the Developer & Contributor Guide for setup instructions, architecture details, and development workflows.
Community & Support
GitHub Issues: For bug reports and feature requests: https://github.com/deephaven/deephaven-mcp/issues
Deephaven Community Slack: Join the conversation and ask questions: https://deephaven.io/slack
License
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.