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 (Python 3.13, if using uv)
  • 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.

Claude Desktop Configuration

You can integrate the Kinetica MCP server with Claude Desktop in two ways:

FastMCP Install (from GitHub)

  1. 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>
    
  2. Run the following command to install the server and register it with Claude Desktop:

    fastmcp install mcp_kinetica/server.py --name "Kinetica MCP Server"
    
  3. This will:

    • Create an isolated environment using uv
    • Install all required dependencies
    • Add an entry to your Claude Desktop config automatically

Direct Claude Configuration (from PyPI)

  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",
            "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. 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>
    
  2. 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 .
    
  3. 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.0b5-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for mcp_kinetica-7.2.3.0b5-py3-none-any.whl
Algorithm Hash digest
SHA256 ed34dd74b16bba314d3b7f9cbc040bc156c91f23fedf2218287f874ada373d5b
MD5 46a29f4eb93b3f1e1bd6d48a6a13bddf
BLAKE2b-256 d8cb67d8165c80e6e932377b59cf1d0e89454500a9acdb30a3b74cbe3616232d

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