Connect AI assistants (MCP Server)
Learn how to connect AI assistants to your database using the Exasol MCP server.
Exasol MCP Server gives AI assistants direct access to your Exasol database. Through the Model Context Protocol, assistants like Claude Desktop can browse schemas, inspect table structures, and run SQL queries against your data in a conversation.
What is the Model Context Protocol?
The Model Context Protocol (MCP) is an open standard that defines how AI assistants communicate with external tools and data sources. Instead of each AI assistant building custom database connectors, MCP provides a single interface that any compatible client can use.
MCP clients include Claude Desktop, Cursor, Windsurf, and other AI coding assistants. When you connect the Exasol MCP Server to one of these clients, the assistant can explore your database and run queries without any custom integration code.
For more information, see Model Context Protocol (MCP).
What Exasol MCP Server does
The MCP server exposes your Exasol database’s metadata and query execution capabilities to AI assistants. Once connected, the assistant can:
- List database objects. Enumerate schemas, tables, views, functions, and UDF scripts in your Exasol database.
- Describe objects in detail. Retrieve column definitions, constraints, and parameter lists for functions and scripts.
- Search across objects. Run free-text keyword searches to locate relevant tables and views.
- Filter results. Narrow object listings by schema, type, or name pattern.
- Execute SQL queries. Run SQL against your database and return results directly in the conversation.
For the full list of tools the server exposes, see the MCP Server tool list on GitHub.
Deployment modes
Exasol MCP Server supports two deployment modes:
-
The local mode communicates through standard input/output (stdio). This is the recommended mode for individual use with Claude Desktop and similar desktop AI clients. You install the server as a Python package and point your AI client at it through a configuration file.
-
The remote mode runs as an HTTP server using ASGI. Use this mode in production environments where multiple users or services need AI-assisted database access. You can deploy it behind corporate firewalls and load balancers.
Prerequisites
-
An Exasol database instance with connection credentials
-
An MCP-compatible AI client (such as Claude Desktop)
-
Python 3.10 or higher
-
The
uvpackage managerFor installation instructions, see the uv installation guide.
Set up Exasol MCP Server for Claude Desktop
You can run the server directly with uvx (no local installation needed) or install it first with uv tool install.
Option 1: Run with uvx (recommended)
Open your Claude Desktop configuration file (claude_desktop_config.json, accessible through Settings > Developer > Edit Config) and add the following:
{
"mcpServers": {
"exasol_db": {
"command": "uvx",
"args": ["exasol-mcp-server@latest"],
"env": {
"EXA_DSN": "my-dsn",
"EXA_USER": "my-user-name",
"EXA_PASSWORD": "my-password"
}
}
}
}
Replace the environment variable values with your actual Exasol connection details:
| Variable | Description |
|---|---|
EXA_DSN
|
Your Exasol connection string (host or DSN entry) |
EXA_USER
|
Your Exasol database username |
EXA_PASSWORD
|
Your Exasol database password |
Option 2: Install locally first
If you prefer to install the package before configuring Claude Desktop:
uv tool install exasol-mcp-server@latest
Then use this configuration in Claude Desktop:
{
"mcpServers": {
"exasol_db": {
"command": "exasol-mcp-server",
"env": {
"EXA_DSN": "my-dsn",
"EXA_USER": "my-user-name",
"EXA_PASSWORD": "my-password"
}
}
}
}
After editing the configuration, restart Claude Desktop for the changes to take effect.
Deploy as a remote HTTP server
To run the MCP server in remote HTTP mode:
exasol-mcp-server-http --host <server-host> --port <server-port>
Replace <server-host> and <server-port> with your server’s hostname and port number.
For production ASGI deployments, create a Python wrapper module:
from exasol.ai.mcp.server import mcp_server
exasol_mcp = mcp_server()
You can then serve this with any ASGI server (such as Uvicorn or Hypercorn).
Verify the connection
After restarting Claude Desktop with the MCP server configured, test the connection by asking the assistant a question about your database. Try one of these prompts:
-
What schemas exist in the database?
-
List all tables in the SALES schema.
-
Describe the CUSTOMERS table.
-
Show me the top 10 rows from SALES.ORDERS.
If the MCP server is connected correctly, Claude will query your Exasol database and return results directly in the conversation. If the assistant responds that it cannot access your database, check that your configuration file is valid JSON, that your credentials are correct, and that Claude Desktop was restarted after the configuration change.