Skip to main content
Glama
index.md5.13 kB
--- icon: lucide/home --- <p align="center"> <a href="https://github.com/statespace-tech/toolfront"> <img src="assets/images/favicon.svg" alt="ToolFront" style="width:20%;"> </a> </p> <div align="center"> <h1 style="font-weight: 800;"><b>ToolFront</b></h1> </div> <p align="center"> <em> Build and deploy AI apps in minutes. All in pure Markdown. Zero boilerplate. </em> </p> <p align="center"> <a href="https://github.com/statespace-tech/toolfront/actions/workflows/test.yml" target="_blank" style="text-decoration: none;"> <img src="https://github.com/statespace-tech/toolfront/actions/workflows/test.yml/badge.svg" alt="Test Suite"> </a> <a href="https://pypi.org/project/toolfront/" target="_blank" style="text-decoration: none;"> <img src="https://img.shields.io/pypi/v/toolfront?color=3775A9&label=pypi%20package&style=flat-square" alt="PyPI package"> </a> <a href="https://github.com/statespace-tech/toolfront/blob/main/LICENSE" target="_blank" style="text-decoration: none;"> <img src="https://img.shields.io/badge/license-MIT-007ec6?style=flat-square" alt="License"> </a> <a href="https://discord.gg/rRyM7zkZTf" target="_blank" style="text-decoration: none;"> <img src="https://img.shields.io/discord/1323415085011701870?label=Discord&logo=discord&logoColor=white&color=5865F2&style=flat-square" alt="Discord"> </a> <a href="https://x.com/statespace_tech" target="_blank" style="text-decoration: none;"> <img src="https://img.shields.io/badge/Statespace-black?style=flat-square&logo=x&logoColor=white" alt="X"> </a> </p> --- **Source code: [https://github.com/statespace-tech/toolfront](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 and get a live AI application. ## Simple Example ### Create it Start with one file: `README.md` ```yaml title="README.md" --- tools: - [curl, -X, GET, "https://httpbin.org/status/200"] --- # Instructions - Use `curl` to check if the service is up ``` ### Serve it Run your app on your machine: ```bash toolfront serve . ``` > Runs at `http://127.0.0.1:8000` ### Ask it Export your `OPENAI_API_KEY` and query your app: === ":simple-python: &nbsp; Python SDK" ```python from toolfront import Application app = Application(url="http://127.0.0.1:8000") result = app.ask("Is the service up?", model="openai:gpt-5") ``` === ":simple-modelcontextprotocol: &nbsp; MCP Server" ```json { "mcpServers": { "toolfront": { "command": "uvx", "args": ["toolfront", "mcp", "http://127.0.0.1:8000"] } } } ``` === ":lucide-terminal: &nbsp; Command Line" ```bash toolfront ask http://127.0.0.1:8000 "Is the service up?" ``` ## Upgraded Example Your app can grow into a full project: ```bash project/ ├── README.md # Main instructions & navigation tools ├── src/ │ ├── rag.md # Document search │ ├── text2sql.md # Database query │ └── toolkit.md # Custom workflow ├── data/ └── tools/ 4 directories, 10 files ``` ### Add Navigation Tools Update `README.md` with tools to explore the project. ```yaml title="README.md" hl_lines="4-5 10" --- tools: - [curl, -X, GET, "https://httpbin.org/status/200"] - [ls] - [cat] --- # Instructions - Use `curl` to check if the service is up - Use `ls` and `cat` to browse other files ``` ### Add Specialized Tools Expand your app with specialized workflows. === ":lucide-folder-search: &nbsp; Document Search" ```yaml title="src/rag.md" --- tools: - [grep] --- # Document Search - Use `grep` for keyword searches in `data/`. ``` === ":lucide-database: &nbsp; Text-to-SQL" ```yaml title="src/text2sql.md" --- tools: - [psql, -U, $USER, -d, $DB, -c, { regex: "^SELECT\b.*" }] --- # Database Access - Call `psql` to query the database with read-only SELECT statements ``` === ":lucide-file-code: &nbsp; Custom Scripts" ```yaml title="src/toolkit.md" --- tools: - [python3, tools/analyze.py] --- # Custom Tools - Run `analyze.py` to process data, passing `--input` as needed ``` ### Deploy It Create a free [Statespace account](#deploy-it)[^1] and deploy your app in one command. ```bash toolfront deploy . ``` > Deploys to `https://your-app.toolfront.app`. Share it with the community or your team! ## Installation Install `toolfront` with your favorite PyPI package manager. === ":fontawesome-brands-python: &nbsp; pip" ```bash pip install toolfront ``` === ":simple-uv: &nbsp; uv" ```bash uv add toolfront ``` === ":simple-poetry: &nbsp; poetry" ```bash poetry add toolfront ``` [^1]: Statespace is currently in beta. Email `esteban[at]statespace[dot]com` or join our [Discord](https://discord.gg/rRyM7zkZTf) to get an API key

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/statespace-tech/toolfront'

If you have feedback or need assistance with the MCP directory API, please join our Discord server