Documentation: docs.toolfront.ai
Source code: https://github.com/statespace-tech/toolfront
ToolFront is a declarative framework for building modular AI applications in Markdown. Write tools and instructions in .md files, run the project, and get a live AI application.
Start with one file: README.md
---
tools:
- [curl, -X, GET, "https://httpbin.org/status/200"]
---
# Status Checker
- Use `curl` to check if the service is upRun the application with:
toolfront run .Ask your AI application.
Python SDK
from toolfront import Application
app = Application(url="http://127.0.0.1:8000")
result = app.ask("Is the service up?", model="openai:gpt-5")
print(result)
# Answer: yesMCP Server
{
"mcpServers": {
"toolfront": {
"command": "uvx",
"args": ["toolfront", "mcp", "http://127.0.0.1:8000"]
}
}
}Your full project can grow like this:
project/
├── README.md
├── src/
│ ├── api.md
│ ├── rag.md
│ ├── text2sql.md
│ └── toolkit.md
├── data/
└── tools/Update README.md with tools to explore the project
---
tools:
- [curl, -X, GET, "https://httpbin.org/status/200"]
- [ls]
- [cat]
---
# Status Checker
- Use `curl` to check if the service is up
- Use `ls` and `cat` to browse other filesGive your agent tools to search documents
---
tools:
- [grep]
---
# Search Docs
- Use `grep` to search files in `/data/`Connect your databases for SQL workflows
---
tools:
- [psql, -U, $USER, -d, $DATABASE, -c, {query}]
---
# Database Access
- Call the `psql` tool to query the PostgreSQL databaseBuild custom tools in any programming language
---
tools:
- [python, tools/status.py, --delayed]
---
# Custom Tools
- Run `status.py` to check delayed ordersInstall toolfront with your favorite PyPI package manager.
pip
pip install toolfrontuv
uv add toolfrontpoetry
poetry add toolfrontInstantly deploy your AI applications:
toolfront deploy ./path/to/projectGives you a shareable application URL:
Community Cloud (Free)
# Up to 5 public apps, totally free
app = Application("https://cloud.statespace.com/you/status-checker")Statespace Cloud (Pro)
# Up to 20 public or private apps with authentication
app = Application("https://cloud.statespace.com/team/project", params={"API_KEY": "..."})Self-Hosted (Enterprise)
# Unlimited on-prem apps with Docker or K8s
app = Application("https://custom.com/agent")- Discord: Join our community server for real-time help and discussions
- X: Follow us @toolfront for updates and news
- Issues: Report bugs or request features on GitHub Issues
This project is licensed under the terms of the MIT license.