What is an App?
A Truffle app is a set of tools you give to your Agent to accomplish a task. Think of it like an MCP server that lives in an ephemeral, trusted container.
At it's core, it turns a python script into a box of tools

When you type a prompt into the Truffle Client, it automatically classifies your request and selects the most appropriate app. The screenshot above shows the Kayak app being chosen for a travel-related prompt.
Apps are simply bundles of tools—Python functions exposed via the SDK—that the model can invoke to fulfill the prompt.
Think of them like toolboxes.
There is currently no cross-app context: once an app is selected at the start of a session, it cannot switch mid-conversation. To use a different app, start a fresh task.
A few key terms:
Prompt: What you type into the Truffle Client to talk to your Agent.
App: A bundle of tools that you create for your Agent.
Tool: A Python function that returns context to the Agent.
Truffle SDK: The CLI toolkit that turns your Python into Agent-usable apps.
Where Does Your App Run?
- Cloud
- Hardware
In the cloud, your app runs in a secure container on our servers. You get isolation, auto-scaling, and seamless updates.
On Truffle hardware, your app runs locally on your device, giving you low latency, offline operation, and full data ownership.
Tools
Tools are just functions in Python:
@truffle.tool(description="Do something cool")
def my_tool(arg1: str) -> str:
…
The Agent will only call them when your prompt matches the tool's description, and it passes exactly the arguments you've defined.
Feature Set
- Conditional tool exposure via
predicate
functions (only show tools when they make sense) - Built-in memory (your class instance state is saved and restored automatically; handle context-length limits on your own)
- Full Python control for scaffolding, loops, error-handling and self-correction so your Agent stays on track
Available Models
- Cloud
- Hardware
The cloud environment uses an agent based on Deepseek R1 for up-to-date knowledge and high throughput.
On hardware, we support Gemma3-27B, Qwen-32B or Qwen-14B, depending on your needs. We'll support many more models and plan to support everything on huggingface eventually.
Ready to set up your environment? Let's move on to the prerequisites.