MCP Server for Kinetica Database
Project description
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 namecomment: Context descriptionrules: List of defined semantic rulescolumn_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)
-
Create a
.envfile in your project root with the following keys:KINETICA_URL=http://<your-kinetica-host>:9191 KINETICA_USER=<your_username> KINETICA_PASSWORD=<your_password>
-
Run the following command to install the server and register it with Claude Desktop:
fastmcp install mcp_kinetica/server.py --name "Kinetica MCP Server"
-
This will:
- Create an isolated environment using
uv - Install all required dependencies
- Add an entry to your Claude Desktop config automatically
- Create an isolated environment using
Direct Claude Configuration (from PyPI)
-
Open your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
- macOS:
-
Add an
mcp-kineticaentry to themcpServersblock:{ "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" } } } }
-
Update the environment variable values as needed for your Kinetica instance.
-
Restart Claude Desktop to apply the changes.
MCP Inspector (For Testing)
-
Create a
.envfile in your project root with the following keys:KINETICA_URL=http://<your-kinetica-host>:9191 KINETICA_USER=<your_username> KINETICA_PASSWORD=<your_password>
-
Use
fastmcp devfor 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 .
-
Launch MCP Inspector in a browser, pointing at the URL output by the
fastmcpcommand; for instancehttp://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
- Ask a question on Slack: Slack
- Follow on GitHub: Follow @kineticadb
- Email us: support@kinetica.com
- Visit: https://www.kinetica.com/contact/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_kinetica-7.2.3.0b3-py3-none-any.whl.
File metadata
- Download URL: mcp_kinetica-7.2.3.0b3-py3-none-any.whl
- Upload date:
- Size: 25.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34c3ed17474676fdb712c80aab0d16352e87d60fde381137810ce06912010ff3
|
|
| MD5 |
eddf24cb4c334c451de73b4389294c25
|
|
| BLAKE2b-256 |
ae61c3cbdad23532ee095947edeff65f09c1b9bd5353772c65bda0404cbf782e
|