Skip to content

BryanTheLai/cogniquery

Repository files navigation

CogniQuery

AI-powered data analysis via Slack. Query databases, generate charts, create reports.

Installation

uv pip install -r requirements.txt

Install weasyprint for PDF generation.

Configuration

Set environment variables in .env:

SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_APP_TOKEN=xapp-your-app-token
GEMINI_API_KEY=your-gemini-key
DATABASE_URL=postgresql://user:pass@host:port/db

Usage

Start MCP Server

# HTTP mode
python server.py http --host 127.0.0.1 --port 8010

Start Slack Bot

python slack_bot.py

Query Data

Mention bot in Slack: @CogniQuery What are top sales by region?

Bot analyzes database, creates charts, posts results.

Features

  • PostgreSQL database queries
  • Automatic chart generation (matplotlib)
  • PDF report creation
  • Slack message/file uploads
  • Schema exploration
  • SQL execution
  • Code interpretation for advanced analysis

Requirements

  • Python 3.8+
  • PostgreSQL database
  • Slack workspace with bot
  • Gemini API key
  • MCP-compatible tools

Architecture

  • MCP Server: Provides Slack integration tools
  • LangChain Agent: Uses Gemini LLM for analysis
  • Slack Bot: Handles mentions and responses
  • Tools: Schema explorer, SQL executor, code interpreter, PDF generator

About

CogniQuery is a Python-powered AI natural language query engine for databases, featuring a Jinja templating layer. Instantly translate user questions into optimized SQL and actionable insights.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors