Skip to main content

MCP Server for Kinetica Database

Project description

Kinetica Logo

Website | Docs | Community Slack

Kinetica MCP Server

Overview

This project contains the source code for the Kinetica Model Context Protocol (MCP) server, as well as examples of how to configure and run the server.

The Kinetica MCP server exposes tools and resources for interacting with Kinetica's database, SQL-GPT contexts, and real-time monitoring.

Features

Tools

  • list_tables()

    List all available tables, views, and schemas in the Kinetica instance.

  • describe_table(table_name: str)

    Show metadata and type schema for a specific table.

  • query_sql(sql: str)

    Run a read-only SQL query on the database, returns results as JSON.

  • get_records(table_name: str, limit: int = 100)

    Fetch raw records from a table as a list of dictionaries.

  • insert_json(table_name: str, records: list[dict])

    Insert a list of JSON records into the specified table.

  • start_table_monitor(table: str)

    Start a real-time monitor for inserts, updates, and deletes on a table.

Resources

  • sql-context://{context_name}

    Return a structured view of a SQL-GPT context, including:

    • table: Fully qualified table name
    • comment: Context description
    • rules: List of defined semantic rules
    • column_comments: Optional inline column comment block

Installation

The Kinetica MCP server requires the following component versions:

  • Python 3.10
  • Node.js 18

MCP

The Kinetica MCP server can be installed with one of the following:

MCP via PIP

pip3 install mcp-kinetica

MCP via UV

uv add mcp-kinetica

Setup and Configuration

The MCP server uses environment variables to connect securely to your Kinetica instance. You can define these in a .env file, export them in your shell, or specify them in the Claude Desktop config.

You can integrate the Kinetica MCP server in two ways:

Claude Desktop Configuration

  1. Open your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. Add an mcp-kinetica entry to the mcpServers block:

    {
      "mcpServers": {
        "mcp-kinetica": {
          "command": "uv",
          "args": [
            "run",
            "--with",
            "setuptools",
            "--with",
            "mcp-kinetica",
            "mcp-kinetica"
          ],
          "env": {
            "KINETICA_URL": "<http://your-kinetica-host:9191>",
            "KINETICA_USER": "<your_username>",
            "KINETICA_PASSWORD": "<your_password>",
            "KINETICA_LOGLEVEL": "INFO"
          }
        }
      }
    }
    
  3. Update the environment variable values as needed for your Kinetica instance.

  4. Restart Claude Desktop to apply the changes.

MCP Inspector (For Testing)

  1. Clone the GitHub project:

    git clone git@github.com:kineticadb/mcp-kinetica.git
    cd mcp-kinetica
    
  2. Create a .env file in your project root with the following keys:

    KINETICA_URL=http://<your-kinetica-host>:9191
    KINETICA_USER=<your_username>
    KINETICA_PASSWORD=<your_password>
    
  3. Update Python environment:

    uv sync
    
  4. Activate Python environment:

    • Windows:

      .venv\Scripts\activate.bat
      
    • Linux:

      source .venv/bin/activate
      
  5. Use fastmcp dev for an interactive testing environment with the MCP Inspector:

    fastmcp dev mcp_kinetica/server.py 
    

    To create a local package in editable mode:

    fastmcp dev mcp_kinetica/server.py --with-editable .
    
  6. Launch MCP Inspector in a browser, pointing at the URL output by the fastmcp command; for instance http://127.0.0.1:6274, given this output:

    Starting MCP inspector...
    Proxy server listening on port 6277
    MCP Inspector is up and running at http://127.0.0.1:6274
    

Note: MCP inspector will default to uv as the command to run. If not using uv for package management, the MCP Inspector parameters can be updated as follows:

  • Command: python3
  • Arguments: mcp_kinetica/server.py

Support

For bugs, please submit an issue on Github.

For support, you can post on stackoverflow under the kinetica tag or Slack.

Contact Us

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_kinetica-7.2.3.0b6-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

Details for the file mcp_kinetica-7.2.3.0b6-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_kinetica-7.2.3.0b6-py3-none-any.whl
Algorithm Hash digest
SHA256 7d4afcf18f4b2caa3c5a268a441b9b93654e8f1ed1efc61725ed08049d6de922
MD5 bdad94276c489ca112e15af4c86856fc
BLAKE2b-256 f61b51e0081ef2a6ec8c4cffa6f15337c07344d9ac3fbd22f80ac2a8ccb8a400

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page