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:

Local (stdio)

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.

Remote (HTTP)

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 uv package manager

    For 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:

Copy
{
  "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:

Copy
uv tool install exasol-mcp-server@latest

Then use this configuration in Claude Desktop:

Copy
{
  "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:

Copy
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:

Copy
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.

Further reading