Skip to main content

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

App Selector UI

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.

warning

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?

In the cloud, your app runs in a secure container on our servers. You get isolation, auto-scaling, and seamless updates.

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

The cloud environment uses an agent based on Deepseek R1 for up-to-date knowledge and high throughput.

Ready to set up your environment? Let's move on to the prerequisites.