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.
README Documentation
Statespace
Turn your data into shareable LLM apps in minutes. All in pure Markdown. Zero boilerplate.
Documentation: docs.statespace.com
Source code: https://github.com/statespace-tech/statespace
Statespace is a declarative framework for building modular LLM applications in Markdown.
Installation
Install the CLI:
curl -fsSL https://statespace.com/install.sh | bash
Example
Create it
Start with one file: README.md
---
tools:
- [date]
---
# Instructions
- Run `date` to check today's date
Serve it
Run your app locally (no account required):
statespace serve .
Note: Runs on
http://127.0.0.1:8000
Ask it
Include the app URL in your prompts:
Claude Code
claude "Get today's date from http://127.0.0.1:8000"
GitHub Copilot
copilot "Get today's date from http://127.0.0.1:8000"
Codex
codex "Get today's date from http://127.0.0.1:8000"
For custom agents, add an HTTP request tool:
TypeScript
import { execFileSync } from 'child_process';
/**
* Execute curl commands to interact with Statespace apps.
*/
function curlTool(url: string, args: string[]): string {
const result = execFileSync('curl', [...args, url], {
encoding: 'utf-8'
});
return result.toString();
}
Rust
use std::process::Command;
/// Execute curl commands to interact with HTTP endpoints.
fn curl_tool(url: &str, args: Vec<&str>) -> String {
let output = Command::new("curl")
.args(&args)
.arg(url)
.output()
.unwrap();
String::from_utf8_lossy(&output.stdout).to_string()
}
Complex example
Upgrade it
Your app can grow into a full project:
project/
├── README.md
├── data/
│ ├── log1.txt
│ ├── log2.txt
│ └── log3.txt
└── src/
├── agentic_rag.md
├── text2sql.md
└── vector_search.md
3 directories, 9 files
Update README.md with CLI tools to progressively discover and read other files:
---
tools:
- [date]
- [ls]
- [cat]
---
# Instructions
- Run `date` to check today's date
- Use `ls` and `cat` to discover and read other files
Compose it
Add pages and CLI tools for different workflows:
Vector Search
---
tools:
- [curl, -X, POST, https://host.pinecone.io/records/namespaces/user/search]
---
# Vector search instructions:
- Query documents with your vector database API
Note: replace the API with your own (e.g., Pinecone, Weaviate, Qdrant)
Text-to-SQL
---
tools:
- [psql, -U, $USER, -d, $DB, -c, { regex: "^SELECT\b.*" }]
---
# Text-to-SQL instructions:
- Use `psql` for read-only PostgreSQL queries
Note: use your own database CLI (e.g.,
mysql,sqlite3,mongosh).
Agentic RAG
---
tools:
- [grep, -r, -i, { }, ../data/]
---
# Document search instructions:
- Use `grep` to search documents in `../data/`
Note: apps can include any file type (e.g.
.csv,.sqlite,.json)
Deploy it
Create a free Statespace account to deploy authenticated private apps:
statespace app create . --visibility private
Alternatively, share public apps with the community:
statespace app create . --visibility public
Note Statespace gives you app URLs you can paste in prompts and instructions.
Community & Contributing
- Discord: Join our community server for real-time help and discussions
- X: Follow us @statespace_tech 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.