Build AI applications in Markdown.
Project description
Documentation: docs.toolfront.ai
Source code: https://github.com/statespace-tech/toolfront
Quickstart
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.
Create it
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 up
Run it
Run the application with:
toolfront run .
Ask it
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: yes
MCP Server
{
"mcpServers": {
"toolfront": {
"command": "uvx",
"args": ["toolfront", "mcp", "http://127.0.0.1:8000"]
}
}
}
Upgraded Example
Your full project can grow like this:
project/
├── README.md
├── src/
│ ├── api.md
│ ├── rag.md
│ ├── text2sql.md
│ └── toolkit.md
├── data/
└── tools/
Add Navigation
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 files
Add Document RAG
Give your agent tools to search documents
---
tools:
- [grep]
---
# Search Docs
- Use `grep` to search files in `/data/`
Add Text-to-SQL
Connect your databases for SQL workflows
---
tools:
- [psql, -U, $USER, -d, $DATABASE, -c, {query}]
---
# Database Access
- Call the `psql` tool to query the PostgreSQL database
Add Custom Tools
Build custom tools in any programming language
---
tools:
- [python, tools/status.py, --delayed]
---
# Custom Tools
- Run `status.py` to check delayed orders
Installation
Install toolfront with your favorite PyPI package manager.
pip
pip install toolfront
uv
uv add toolfront
poetry
poetry add toolfront
Deploy your Apps
Instantly deploy your AI applications:
toolfront deploy ./path/to/project
Gives 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")
Community & Contributing
- 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
License
This project is licensed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file toolfront-0.4.0.tar.gz.
File metadata
- Download URL: toolfront-0.4.0.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98685edfc8273d560873f55fbe4762b0eafbbd41f13246ab350aa6de356a6821
|
|
| MD5 |
a4412695cd567927d79a45af5b3df1e8
|
|
| BLAKE2b-256 |
9d8602257b1d8ff587edb5cc23bcdd02bc8b7483f54487b67faf51e87f53622b
|
File details
Details for the file toolfront-0.4.0-py3-none-any.whl.
File metadata
- Download URL: toolfront-0.4.0-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07d1bf17b5ed6549def34ed7d6a6226d59acde8afe99fc041661297ab0f0ee6a
|
|
| MD5 |
2454d4c0513bc6465664c487c67b409d
|
|
| BLAKE2b-256 |
50b72c734ad34e4f37cc66ec84fc5f88e1d829c5b51a8067b81e69ca3bcfa5bf
|