run_select_queryLABSCO SUMMARY
A timeseries lake you can ask questions of.
The lake stops being something you write ingest scripts against: list what is there, read the schema, run the query and write back through one connection.
What it is
A SQL front door to a GigAPI cluster. Queries go through GigAPI's HTTP API and come back as NDJSON, and the same connection lists databases and tables, reads schemas, writes line-protocol data and checks the server is up.
What you get
- SELECT queries run against a named database on your cluster
- The databases on the cluster, and the tables inside one of them
- A table's schema, so a query can be written without guessing column names
- New points written in InfluxDB Line Protocol format
- A health check, for telling a dead cluster from an empty result
Requirements
uv, and the connection details for your GigAPI cluster set as environment variables in the client config. There is a public demo instance if you want to try it before pointing it at your own.
Setup effort
One command — uv run --with mcp-gigapi --python 3.11 mcp-gigapi
USE CASES
Answering a question about live measurements
Find the database, find the table, and ask in SQL — the query runs on the cluster and the rows come back in the session.
Writing a query against a table you do not know
Read the schema first so column names and types are settled, then write the SELECT once instead of three times.
Getting readings in
Points go in as InfluxDB line protocol against a named database, and the same session can query them straight back to confirm they landed.
Telling an empty result from a dead cluster
When a query returns nothing, check the server is answering and that the database is still listed before you go looking at the data.
7 tools
Listed in project docs. Your client may show a different list.
list_databaseslist_tablesget_table_schemawrite_datahealth_checkpingBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
uv on PATH
Where it runs
All 3 documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
uv run --with mcp-gigapi --python 3.11 mcp-gigapiMCP Clients
Claude Desktop — Public demo
{
"mcpServers": {
"mcp-gigapi": {
"command": "uv",
"args": [
"run",
"--with",
"mcp-gigapi",
"--python",
"3.13",
"mcp-gigapi"
],
"env": {
"GIGAPI_HOST": "gigapi.fly.dev",
"GIGAPI_PORT": "443",
"GIGAPI_TIMEOUT": "30",
"GIGAPI_VERIFY_SSL": "true",
"GIGAPI_DEFAULT_DATABASE": "mydb"
}
}
}
}macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%/Claude/claude_desktop_config.json
Claude Desktop — Local server
{
"mcpServers": {
"mcp-gigapi": {
"command": "uv",
"args": [
"run",
"--with",
"mcp-gigapi",
"--python",
"3.13",
"mcp-gigapi"
],
"env": {
"GIGAPI_HOST": "localhost",
"GIGAPI_PORT": "7971",
"GIGAPI_TIMEOUT": "30",
"GIGAPI_VERIFY_SSL": "false",
"GIGAPI_DEFAULT_DATABASE": "mydb"
}
}
}
}Claude Desktop — Password auth
{
"mcpServers": {
"mcp-gigapi": {
"command": "uv",
"args": [
"run",
"--with",
"mcp-gigapi",
"--python",
"3.13",
"mcp-gigapi"
],
"env": {
"GIGAPI_HOST": "<YOUR_GIGAPI_HOST>",
"GIGAPI_PORT": "7971",
"GIGAPI_USERNAME": "<YOUR_GIGAPI_USERNAME>",
"GIGAPI_PASSWORD": "<YOUR_GIGAPI_PASSWORD>",
"GIGAPI_TIMEOUT": "30",
"GIGAPI_VERIFY_SSL": "true",
"GIGAPI_DEFAULT_DATABASE": "<YOUR_GIGAPI_DEFAULT_DATABASE>"
}
}
}
}