AI to prompt your data
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.
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 following the instructions for your chosen framework or IDE.
IDE | Setup Instructions | Install with UV | Install with Docker |
---|---|---|---|
Cursor | Settings โ 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:
{
"toolfront": {
"command": "uvx",
"args": [
"toolfront[all]",
"snowflake://user:pass@org",
"postgresql://user:pass@host:port/db",
"--api-key", "YOUR-API-KEY" // Optional
]
}
}
{
"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.
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 orantidmg/toolfront:0.1.x
for Docker.
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:
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.
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.
Database | Driver Name | URL Format |
---|---|---|
BigQuery | bigquery | bigquery://{project-id}?credentials_path={path-to-account-credentials.json} |
Databricks | databricks | databricks://token:{token}@{workspace}.cloud.databricks.com/{catalog}?http_path={warehouse-path} |
DuckDB | duckdb | duckdb://{path-to-database.duckdb} |
MySQL | mysql | mysql://{user}:{password}@{host}:{port}/{database} |
PostgreSQL | postgresql , postgres , psql | postgres://{user}:{password}@{hostname}:{port}/{database-name} |
Snowflake | snowflake | snowflake://{user}:{password}@{account}/{database} |
SQL Server | sqlserver | mssql://{user}:{password}@{server}:{port}/{database} or sqlserver://{user}:{password}@{server}:{port}/{database} |
SQLite | sqlite | sqlite://{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.
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 | โ |
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 | โ |
search_tables | Searches for tables using regex, BM25, or Jaro-winkler similarity | โ |
search_queries | Searches for 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 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.
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 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.
{ "mcpServers": { "toolfront": { "command": "uvx", "args": [ "toolfront[all]", "snowflake://user:pass@org", "postgresql://user:pass@host:port/db", "--api-key", "YOUR-API-KEY" ] } } }
Related projects feature coming soon
Will recommend related projects based on sub-categories