Content
# DX MCP Server
<h4>Use natural language to write and execute queries on your organizational data in DX Data Cloud!</h4>
.png)
## About
The DX MCP Server is a Python-based tool that empowers AI applications, such as [Claude for Desktop](https://claude.ai/download) and [Cursor](https://www.cursor.com/), to interact with your DX Data Cloud database. The server includes tools to:
- establish a connection to your Postgres database, allowing the AI to actively formulate and execute queries on the database
- find/utilize context about your software entities and their relationships and scorecards via DX catalog tools
Learn more about the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction).
## Demo
https://github.com/user-attachments/assets/c6ce12a5-4562-4b44-b235-2d04871c3142
## Getting Started
There are two ways to use the DX MCP Server:
1. **Remote hosting** (recommended): Connect to our hosted server at `https://ai.getdx.com/mcp`
2. **Local hosting**: Run the server on your machine
### Prerequisites
- A DX account with access to Data Cloud
- **For remote hosting**:
- A web API token with read scopes granted (found in your [DX account settings](https://app.getdx.com/admin/webapi))
- **For local hosting**:
- Python 3.10 or higher
- Your database connection URL (configured on DX's [DB Users settings page](https://app.getdx.com/datacloud/dbusers))
- A web API token with read scopes granted (found in your [DX account settings](https://app.getdx.com/admin/webapi))
---
## Option 1: Remote Hosting (Recommended)
The hosted MCP server uses streamable HTTP transport and is available at `https://ai.getdx.com/mcp`. This option requires no local installation; just configure your AI client with the mcp using http transport and provided with a valid Web API Token.
### Claude Code
Run this command in your terminal:
```bash
claude mcp add --transport http dx-mcp https://ai.getdx.com/mcp --header "Authorization: Bearer [YOUR_WEB_API_TOKEN]"
```
### Cursor
Add this configuration to your MCP settings (**Cursor > Settings > Cursor Settings > MCP**):
```json
{
"mcpServers": {
"dx-mcp": {
"url": "https://ai.getdx.com/mcp",
"headers": {
"Authorization": "Bearer [YOUR_WEB_API_TOKEN]"
}
}
}
}
```
---
## Option 2: Local Installation
If you prefer to run the DX MCP Server locally, you can install it via PyPI or run it from source.
### Installation Method 1: Install from PyPI
Install the package using pip:
```bash
pip install dx-mcp-server
```
> **Note for macOS users**: If you encounter an "externally-managed-environment" error, use `pipx` instead:
> ```bash
> pipx install dx-mcp-server
> ```
### Installation Method 2: Clone from Source
Clone this repository to run from source:
```bash
git clone https://github.com/get-dx/dx-mcp-server
cd dx-mcp-server
```
### Configuration
Once installed, configure your AI client with the appropriate settings:
#### Claude Code
Run this command in your terminal (adjust based on your installation method):
```bash
# If installed via pip/pipx
claude mcp add dx-mcp-server --env DB_URL=YOUR_DB_URL --env WEB_API_TOKEN=YOUR_TOKEN -- $(which dx-mcp-server)
```
#### Claude for Desktop
Click **Claude > Settings > Developer > Edit Config** and add:
**If you installed via pip:**
```json
{
"mcpServers": {
"dx-mcp": {
"command": "dx-mcp-server",
"args": ["run"],
"env": {
"DB_URL": "YOUR-DATABASE-URL",
"WEB_API_TOKEN": "YOUR-WEB-API-TOKEN"
}
}
}
}
```
**If you're running from source:**
```json
{
"mcpServers": {
"dx-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/dx-mcp-server", "run", "-m", "dx_mcp_server", "run"],
"env": {
"DB_URL": "YOUR-DATABASE-URL",
"WEB_API_TOKEN": "YOUR-WEB-API-TOKEN"
}
}
}
}
```
#### Cursor
Click **Cursor > Settings > Cursor Settings > MCP > Add new global MCP Server** and add:
**If you installed via pip:**
```json
{
"mcpServers": {
"dx-mcp": {
"command": "dx-mcp-server",
"args": ["run"],
"env": {
"DB_URL": "YOUR-DATABASE-URL",
"WEB_API_TOKEN": "YOUR-WEB-API-TOKEN"
}
}
}
}
```
**If you're running from source:**
```json
{
"mcpServers": {
"dx-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/dx-mcp-server", "run", "-m", "dx_mcp_server", "run"],
"env": {
"DB_URL": "YOUR-DATABASE-URL",
"WEB_API_TOKEN": "YOUR-WEB-API-TOKEN"
}
}
}
}
```
### Configuration Parameters
- **`DB_URL`** (required): Your DX Data Cloud Postgres connection string. Get this from [DX DB Users settings](https://app.getdx.com/datacloud/dbusers).
- Format: `postgresql://username:password@host:port/database`
- **`WEB_API_TOKEN`**: Your DX Web API Token. This enables additional catalog and entity tools. Find this in your DX account settings.
### Usage
After saving the configuration, restart your AI client. You should see "dx-mcp" in the available MCP servers. When you ask questions about your data or catalog, the AI will use these tools to query your database or hit the relevant web apis.
---
## Troubleshooting
### Path Resolution Issues
The most common issue involves the MCP client not finding the `dx-mcp-server`/`uv` command, as GUI applications don't inherit the same PATH environment variables as the terminal. The solution is to use the full path to the executable in the json config.
#### For pip/pipx installations:
Find the full path to `dx-mcp-server`:
```bash
# Find the path on macOS/Linux
which dx-mcp-server
# Find the path on Windows (in Command Prompt)
where dx-mcp-server
```
Then use the full path in your configuration:
```json
{
"mcpServers": {
"dx-mcp": {
"command": "/full/path/to/dx-mcp-server",
"args": ["run"],
"env": {
"DB_URL": "YOUR-DATABASE-URL",
"WEB_API_TOKEN": "YOUR-WEB-API-TOKEN"
}
}
}
}
```
#### For source installations:
Find the full path to `uv`:
```bash
# Find the path on macOS/Linux
which uv
# Find the path on Windows (in Command Prompt)
where uv
```
Then use the full path in your configuration:
```json
{
"mcpServers": {
"dx-mcp": {
"command": "/full/path/to/uv",
"args": ["--directory", "/absolute/path/to/dx-mcp-server", "run", "-m", "dx_mcp_server", "run"],
"env": {
"DB_URL": "YOUR-DATABASE-URL",
"WEB_API_TOKEN": "YOUR-WEB-API-TOKEN"
}
}
}
}
```
### Checking Logs
If you're still experiencing issues:
- **Claude Desktop**: Check logs at:
- macOS: `~/Library/Logs/Claude/`
- Windows: `%APPDATA%\Claude\logs\`
- **Cursor**: Check logs at:
- macOS: `~/Library/Application Support/Cursor/logs/[SESSION_ID]`
- Windows: `%APPDATA%\Cursor\logs\[SESSION_ID]`
The logs will show warning and error messages when starting or running the MCP server.
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
markitdown
Python tool for converting files and office documents to Markdown.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.
mempalace
The highest-scoring AI memory system ever benchmarked. And it's free.
mempalace
The highest-scoring AI memory system ever benchmarked. And it's free.