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.0b4-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for mcp_kinetica-7.2.3.0b4-py3-none-any.whl
Algorithm Hash digest
SHA256 5cbaba7562d1278b792e8a0e03420512b80e8e65b435af1ba2d52f252e4de48f
MD5 d407931070f0b038b48ea0a9de607e95
BLAKE2b-256 ea15d241794a22cd77f73afbe45cee75a10ca8c22521770b4681bf5a4da11b51

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