PY

toolfront

by kruskal-labs/toolfront

0 views

AI to prompt your data

pythondatabaseintegrationDatabase Query

Test Suite Discord X


toolfront


Without context, It's hard for AI to answer questions about your databases. However, teaching them your table schemas and relationships is a slow, manual, and expensive process. ToolFront connects AI agents to your databases, so they can learn your query patterns as they navigate your databases.

Features

  • ๐Ÿš€ One-step setup: Connect AI agents like Cursor, Copilot, and Claude to all your databases with a single command.
  • ๐Ÿค– Agents for your data: Build smart agents that understand your databases and know how to navigate them.
  • โšก AI-powered DataOps: Use ToolFront to explore your databases, iterate on queries, and write schema-aware code.
  • ๐Ÿ”’ Privacy-first: Your data stays local, and is only shared between your AI agent and databases through a secure MCP server.
  • ๐Ÿง  Collaborative learning: The more your agents use ToolFront, the better they remember your data. Requires API key.

diagram

Quickstart

ToolFront runs on your computer through an MCP server, a secure protocol that lets apps provide context to LLM models.

Prerequisites

  • uv or Docker to run the MCP server (we recommend uv)
  • URLs for your databases - see below
  • API key (optional) for collaborative learning - see below

Run ToolFront in your AI Framework or IDE

first, create an MCP config by following the instructions for your chosen framework or IDE.

IDESetup InstructionsInstall with UVInstall with Docker
CursorSettings โ†’ Cursor Settings โ†’ MCP Tools (or create .cursor/mcp.json file)๐Ÿ”— Quick Install๐Ÿ”— Quick Install
GitHub Copilot (VSCode)Copilot icon โ†’ Edit preferences โ†’ Copilot Chat โ†’ MCP๐Ÿ”— Quick Install๐Ÿ”— Quick Install

Then, edit the MCP configuration with your database connection URLs and optional API key:

Edit UV Config
{
  "toolfront": {
    "command": "uvx",
    "args": [
      "toolfront[all]",
      "snowflake://user:pass@org",
      "postgresql://user:pass@host:port/db",
      "--api-key", "YOUR-API-KEY" // Optional
    ]
  }
}
Edit Docker Config
{
  "toolfront": {
    "command": "docker",
    "args": [
      "run",
      "-i",
      "antidmg/toolfront",
      "snowflake://user:pass@org",
      "postgresql://user:pass@host:port/db",
      "--api-key", "YOUR-API-KEY" // Optional
    ]
  }
}

You're all set! You can now ask your AI agent about your databases.

[!TIP] By default, uvx toolfront[all] installs all database drivers. To keep things lighter, you can install only the ones you need e.g. uvx toolfront[postgres,mysql]. See Databases for the full list of drivers.

Run ToolFront in your Terminal

You can also run ToolFront directly with SSE from your terminal by using one of the following commands. Remember to replace the placeholder database URLs and API key with your own:

# Using uvx
uvx "toolfront[snowflake,postgres]" "snowflake://user:pass@org" "postgres://user:pass@host:port/db" --api-key "YOUR-API-KEY"

# Using Docker  
docker run -i antidmg/toolfront "snowflake://user:pass@org" "postgres://user:pass@host:port/db" --api-key "YOUR-API-KEY"

[!TIP] Version control: You can pin to specific versions for consistency. Use toolfront==0.1.x for UV or antidmg/toolfront:0.1.x for Docker.

Collaborative In-context Learning

Data teams keep rewriting the same queries because past work often gets siloed, scattered, or lost. ToolFront teaches AI agents how your team works with your databases through in-context learning. With ToolFront, your agents can:

  • Reason about historical query patterns
  • Remember relevant tables and schemas
  • Reference your and your teammates' work
User A โ€” Agent A โ”€โ”€โ”
                   โ”œโ”€โ”€ shared database context โ† ToolFront
User B โ€” Agent B โ”€โ”€โ”ค
                   โ”‚
User C โ€” Agent C โ”€โ”€โ”˜

[!NOTE] In-context learning is currently in open beta. To request an API key, please email Esteban at [email protected] or hop into our Discord server.

Databases

ToolFront supports the following databases. The table below lists the driver names for installation (e.g., uvx "toolfront[snowflake,databricks]") and the corresponding connection URL formats.

DatabaseDriver NameURL Format
BigQuerybigquerybigquery://{project-id}?credentials_path={path-to-account-credentials.json}
Databricksdatabricksdatabricks://token:{token}@{workspace}.cloud.databricks.com/{catalog}?http_path={warehouse-path}
DuckDBduckdbduckdb://{path-to-database.duckdb}
MySQLmysqlmysql://{user}:{password}@{host}:{port}/{database}
PostgreSQLpostgresql, postgres, psqlpostgres://{user}:{password}@{hostname}:{port}/{database-name}
Snowflakesnowflakesnowflake://{user}:{password}@{account}/{database}
SQL Serversqlservermssql://{user}:{password}@{server}:{port}/{database} or sqlserver://{user}:{password}@{server}:{port}/{database}
SQLitesqlitesqlite://{path-to-database.sqlite}

Don't see your database? Submit an issue or pull request, or let us know in our Discord!

[!TIP] Working with local data files? Add duckdb://:memory: to your config to analyze local Parquet, CSV, Excel, or JSON files.

Tools

MCP tools are functions that AI agents can call to interact with external systems. ToolFront comes with seven database tools:

ToolDescriptionRequires API Key
testTests whether a data source connection is workingโœ—
discoverDiscovers and lists all configured databases and file sourcesโœ—
inspectInspects table schemas, showing column names, data types, and constraintsโœ—
sampleRetrieves sample rows from tables to understand data content and formatโœ—
queryExecutes read-only SQL queries against databases with error handlingโœ—
search_tablesSearches for tables using regex, BM25, or Jaro-winkler similarityโœ—
search_queriesSearches for relevant queries or tables for in-context learningโœ“

FAQ

How is ToolFront different from other database MCPs?

ToolFront has three key advantages: multi-database support, privacy-first architecture, and collaborative learning.

Multi-database support: While some general-purpose MCP servers happen to support multiple databases, most database MCPs only work with one database at a time, forcing you to manage separate MCP servers for each connection. ToolFront connects to all your databases in one place.

Privacy-first architecture: Other multi-database solutions route your data through the cloud, which racks up egress fees and creates serious privacy, security, and access control issues. ToolFront keeps everything local.

Collaborative learning: Database MCPs just expose raw database operations. ToolFront goes further by teaching your AI agents successful query patterns from your team's work, helping them learn your specific schemas and data relationships to improve over time.

How is collaborative learning different from agent memory?

Agent memory stores conversation histories for individuals, whereas ToolFront's collaborative learning remembers relational query patterns across your team and databases.

When one teammate queries a database, that knowledge becomes available to other team members using ToolFront. The system gets smarter over time by learning from your team's collective database interactions.

What data is collected during collaborative learning?

With an API key, ToolFront only logs the query syntax and their descriptions generated by your AI agents. It never collects your actual database content or personal information. For details, see the query and learn functions in tools.py.

How does ToolFront keep my data safe?
  • Local execution: All database connections and queries run on your machine
  • No secrets exposure: Database credentials are never shared with AI agents
  • Read-only operations: Only safe, read-only database queries are allowed
  • No data transmission: Your database content never leaves your environment
  • Secure MCP protocol: Direct communication between agents and databases with no third-party storage
How do I troubleshoot connection issues?

Run the uv run toolfront or docker run commands with your database URLs directly from the command line. ToolFront automatically tests all connections before starting and shows detailed error messages if any connection fails.

If you're still having trouble, double-check your database URLs using the examples in the Databases section above.

Support & Community

Need help with ToolFront? We're here to assist:

Contributing

See CONTRIBUTING.md for guidelines on how to contribute to ToolFront.

License

ToolFront is released under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For the full license text, see the LICENSE file in the repository.

Install

{
  "mcpServers": {
    "toolfront": {
      "command": "uvx",
      "args": [
        "toolfront[all]",
        "snowflake://user:pass@org",
        "postgresql://user:pass@host:port/db",
        "--api-key",
        "YOUR-API-KEY"
      ]
    }
  }
}
For more configuration details, refer to the content on the left

Related

Related projects feature coming soon

Will recommend related projects based on sub-categories