
ToolFront
STDIOConnect coding agents to databases with collaborative learning and privacy-first approach.
Connect coding agents to databases with collaborative learning and privacy-first approach.
AI agents lack context about your databases, while teams keep rewriting the same queries because past work often gets lost. ToolFront connects agents to your databases and feeds them your team's proven query patterns, so both agents and teammates can learn from each other and ship faster.
ToolFront runs on your computer through an MCP server, a secure protocol that lets apps provide context to LLM models.
First, create an MCP config by clicking a setup button above or navigating to the MCP settings for your IDE:
IDE | Setup Instructions | Documentation |
---|---|---|
Cursor | Settings → Cursor Settings → MCP Tools (or create .cursor/mcp.json file) | Cursor Documentation |
GitHub Copilot (VSCode) | Copilot icon → Edit preferences → Copilot Chat → MCP | GitHub Copilot Documentation |
Windsurf | Plugins icon → Plugin Store → Add manually (or edit ~/.codeium/windsurf/mcp_config.json ) | Windsurf Documentation |
Claude Code | Run claude mcp add toolfront uvx toolfront [database-urls] --api-key YOUR-API-KEY | Claude Code Documentation |
Then, edit the MCP configuration with your database connection URLs and optional API key:
{ // Rest of config file "toolfront": { "command": "uvx", "args": [ "toolfront", "snowflake://user:pass@org", "postgresql://user:pass@host:port/db", # Add other database URLs here "--api-key", "YOUR-API-KEY" // Optional ] } }
{ // Rest of config file "toolfront": { "command": "docker", "args": [ "run", "-i", "antidmg/toolfront", "snowflake://user:pass@org", "postgresql://user:pass@host:port/db", # Add other database URLs here "--api-key", "YOUR-API-KEY" // Optional ] } }
You're all set! You can now ask your coding assistant about your databases.
[!TIP] Version control: You can pin to specific versions for consistency. Use
toolfront==0.1.x
for UV orantidmg/toolfront:0.1.x
for Docker.
To use ToolFront outside your IDE, run it directly from your terminal with your database URLs and optional API key:
# Using UV uvx toolfront "snowflake://user:pass@org" "postgresql://user:pass@host:port/db" --api-key "YOUR-API-KEY" # Using Docker docker run -i antidmg/toolfront "snowflake://user:pass@org" "postgresql://user:pass@host:port/db" --api-key "YOUR-API-KEY"
[!TIP] Localhost databases: Add
--network host
before the image name when connecting to databases running on localhost.
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:
[!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.
ToolFront supports the following databases:
Database | URL Format | Documentation |
---|---|---|
BigQuery | bigquery://{project-id}?credentials_path={path-to-service-account.json} | Google Cloud Docs |
Databricks | databricks://token:{token}@{workspace}.cloud.databricks.com/{catalog}?http_path={warehouse-path} | Databricks Docs |
DuckDB | duckdb://{path-to-database.duckdb} | DuckDB Docs |
MySQL | mysql://{user}:{password}@{host}:{port}/{database} | MySQL Docs |
PostgreSQL | postgres://{user}:{password}@{hostname}:{port}/{database-name} | PostgreSQL Docs |
Snowflake | snowflake://{user}:{password}@{account}/{database} | Snowflake Docs |
SQL Server | mssql://{user}:{password}@{server}:{port}/{database} or sqlserver://{user}:{password}@{server}:{port}/{database} | SQL Server Docs |
SQLite | sqlite://{path-to-database.sqlite} | SQLite Docs |
Don't see your database? Submit an issue or pull request, or let us know in our Discord!
[!TIP] SSH tunneling: For databases behind SSH bastions, add SSH parameters to your URL:
postgresql://user:pass@db:5432/database?ssh_host=bastion&ssh_user=ubuntu&ssh_password=pass
or usessh_key_path=/path/to/key.pem
for key authentication.Working with local data files? Add
duckdb://:memory:
to your config to analyze local Parquet, CSV, Excel, or JSON files.
MCP tools are functions that AI agents can call to interact with external systems. ToolFront comes with seven database tools:
Tool | Description | Requires API Key |
---|---|---|
test | Tests whether a data source connection is working | ✗ |
discover | Discovers and lists all configured databases and file sources | ✗ |
scan | Searches for tables using regex, fuzzy matching, or TF-IDF similarity | ✗ |
inspect | Inspects table schemas, showing column names, data types, and constraints | ✗ |
sample | Retrieves sample rows from tables to understand data content and format | ✗ |
query | Executes read-only SQL queries against databases with error handling | ✗ |
learn | Retrieves relevant queries or tables for in-context learning | ✓ |
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.
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.
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.
Run the uvx 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.
Need help with ToolFront? We're here to assist:
See CONTRIBUTING.md for guidelines on how to contribute to ToolFront.
ToolFront is released under the GPL License v3. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the GPL v3 License. For the full license text, see the LICENSE file in the repository.