JUHE API Marketplace
kruskal-labs avatar
MCP Server

ToolFront MCP Server

Securely connects AI agents to multiple databases simultaneously while enabling collaborative learning from team query patterns, all while keeping data private by running locally.

294
GitHub Stars
8/18/2025
Last Updated
MCP Server Configuration
1{
2 "name": "toolfront",
3 "command": "uvx",
4 "args": [
5 "toolfront[snowflake]",
6 "snowflake://user:pass@account/warehouse/database"
7 ]
8}
JSON8 lines

README Documentation

ToolFront Logo

Simple data retrieval for AI with unmatched control, precision, and speed.

Test Suite


Documentation: docs.toolfront.ai


Installation

Install with pip or your favorite PyPI package manager.

pip install toolfront

Example 1: Text2SQL with ChatGPT

from toolfront import Database

db = Database("postgres://user:pass@localhost:5432/mydb", model="openai:gpt-4o")

context = "We're an e-commerce company. Sales data is in the `cust_orders` table."

# Returns a string
answer = db.ask("What's our best-selling product?", context=context)
# >>> "Wireless Headphones Pro"

Note: For databases, install with PyPI extras, e.g.: pip install "toolfront[postgres]". See the documentation for the complete list of 10+ databases.

Example 2: API retrieval with Claude

from toolfront import API

api = API("http://localhost:8000/openapi.json", model="anthropic:claude-3-5-sonnet")

# Returns a list of integers
answer: list[int] = api.ask("Get the last 5 order IDs for user_id=42")
# >>> [1001, 998, 987, 976, 965]

Note: ToolFront supports any API with an OpenAPI (formerly Swagger) specification. Most common APIs like Slack, Discord, and GitHub have OpenAPI specs. See the documentation for more details.

Example 3: Document information extraction with Gemini

from toolfront import Document
from pydantic import BaseModel, Field

class CompanyReport(BaseModel):
    company_name: str = Field(..., description="Name of the company")
    revenue: int | float = Field(..., description="Annual revenue in USD")
    is_profitable: bool = Field(..., description="Whether the company is profitable")

doc = Document("/path/annual_report.pdf", model="google:gemini-pro")

# Returns a structured Pydantic object
answer: CompanyReport = doc.ask("Extract the key company information from this report")
# >>> CompanyReport(company_name="TechCorp Inc.", revenue=2500000, is_profitable=True)

Note: ToolFront supports OpenAI, Anthropic, Google, xAI, and 14+ AI model providers. See the documentation for the complete list.

Example 4: Snowflake MCP Server

{
  "mcpServers": {
    "toolfront": {
      "command": "uvx",
      "args": [
        "toolfront[snowflake]", 
        "snowflake://user:pass@account/warehouse/database"
      ]
    }
  }
}

Community & Contributing

License

This project is licensed under the terms of the MIT license.

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source