Griptape

Framework · Last verified 2026-09-30

TL;DR

Griptape is an Apache-2.0 Python framework from Griptape for building LLM apps from Agents, sequential Pipelines and parallel Workflows of tasks, with swappable drivers for models, memory and storage. Other structures can run as tasks for multi-agent pipelines, and MCP servers plug in as tools. It suits Python teams wanting explicit task graphs.

Key facts

Griptape key facts. Data as of 2026-09-30.
Type Framework
Languages / SDKs Python
License Apache-2.0
Pricing model Unknown
Orchestration pattern Pipeline
GitHub stars 2,581 (as of 2026-09-30)
GitHub forks 261
Last push 2026-09-28
Latest release v1.13.0
Repository griptape-ai/griptape
Website www.griptape.ai
Documentation docs.griptape.ai
Last verified 2026-09-30

Key features

  • Workflows are DAGs of tasks that run concurrently once their parents finish, with context variables such as parents_output_text. (source)
  • Pipelines run tasks in order, with each task able to read the previous task's output. (source)
  • StructureRunTask and StructureRunTool call other Agents, Pipelines or Workflows through a Structure Run Driver, either locally or on Griptape Cloud. (source)
  • Task Memory stores large or sensitive tool outputs outside the prompt so later tools can query them. (source)
  • Conversation Memory keeps chat history, with drivers for local files, Redis, Amazon DynamoDB and Griptape Cloud. (source)
  • Prompt Drivers wrap model providers so an app can switch LLM vendors without changing task code. (source)
  • MCPTool lets an agent call tools on an MCP server, for example one started over stdio with npx. (source)
  • Rulesets attach named lists of rules to agents or tasks to steer output without long prompts. (source)

Architecture and orchestration pattern

Pattern: Pipeline

Everything runs inside a structure. An Agent is a structure with one prompt task and optional tools; a Pipeline runs tasks in list order; a Workflow is a directed acyclic graph in which tasks name their parents or children and run in parallel as soon as their inputs are ready. Tasks read shared context such as parent_output or parents_output_text through Jinja templates.

Multi-agent setups are built by nesting structures. A StructureRunTask (inside a Pipeline or Workflow) or a StructureRunTool (given to an agent) runs another structure through a Structure Run Driver, which can be local or point to a structure deployed on Griptape Cloud. There is no manager agent that plans assignments; the developer lays out the task graph.

Conversation Memory keeps chat history and can be persisted through drivers (local file, Redis, DynamoDB, Griptape Cloud). Task Memory holds large or sensitive tool results off the prompt and lets later tool calls query them, and Meta Memory adds extra metadata to the model context.

Human in the loop

unknown: the framework docs and the repository's docs folder were searched for approval, human-in-the-loop, pause and interrupt. Only generic on_before_run / on_after_run task hooks and event listener drivers are documented; no approval step or pause-and-resume mechanism for a person was found.

Protocols

MCP, A2A and AG-UI support for Griptape. See the full matrix.
ProtocolSupportNote
MCP Yes evidence
checked 2026-09-30
Client: MCPTool connects to an MCP server (stdio or streamable HTTP) and lets an agent call its tools; it needs the MCP Python SDK 2.x.
A2A Unknown
checked 2026-09-30
README and framework docs do not mention A2A; GitHub code search for a2a matched only text inside docs log files.
AG-UI Unknown
checked 2026-09-30
README, docs and GitHub code search for ag-ui returned nothing, and Griptape is not in the AG-UI README integration list.

Best for

  • Multi-step LLM jobs where each step and its dependencies should be written out explicitly as a Pipeline or Workflow.
  • Fan-out research jobs: parallel prompt tasks with web search and scraping tools feeding one summary task, as in the README example.
  • Apps where large or sensitive tool results should stay out of the model prompt (Task Memory).
  • Running against local models through the Ollama prompt driver extra.

Not for

  • Multi-agent chats where agents decide dynamically who speaks next; Griptape task graphs are laid out by the developer.
  • Workflows that need a built-in human approval or pause step; none is documented.
  • Teams that need a TypeScript, Java or .NET SDK.

Quickstart

pip install "griptape[all]" -U

Install not yet verified by this site. What this means

from griptape.drivers.structure_run.local import LocalStructureRunDriver
from griptape.rules import Rule
from griptape.structures import Agent, Pipeline
from griptape.tasks import StructureRunTask

# The default prompt driver uses OpenAI: export OPENAI_API_KEY first.
def researcher() -> Agent:
    return Agent(rules=[Rule("List three plain facts about the topic you are given.")])

def editor() -> Agent:
    return Agent(rules=[Rule("Turn notes into one short newsletter paragraph.")])

team = Pipeline(tasks=[
    StructureRunTask(structure_run_driver=LocalStructureRunDriver(create_structure=researcher)),
    StructureRunTask(("Rewrite these notes: {{ parent_output }}",),
                     structure_run_driver=LocalStructureRunDriver(create_structure=editor)),
])
team.run("Honeybees")
print(team.output.value)

Common pitfalls

  • Requires Python 3.10 or newer.
  • The quickstart uses OpenAI and expects OPENAI_API_KEY; other providers need their driver extra, e.g. griptape[drivers-prompt-anthropic] or griptape[drivers-prompt-ollama].
  • uv add griptape / pip install griptape installs only core dependencies; many drivers fail to import until their extra (or [all]) is installed.
  • Per the migration guide, MCPTool now needs the MCP Python SDK 2.x (install griptape/tools/mcp/requirements.txt), and its WebSocket transport was removed in favour of streamable_http.
  • Templates now render in a Jinja2 sandbox, so private or dunder attributes in task inputs resolve to undefined.

Official quickstart

Pros

  • Clear separation between sequential Pipelines and parallel DAG Workflows, with task outputs passed through named context variables. (source)
  • Task Memory keeps bulky or sensitive tool output away from the LLM prompt. (source)
  • Driver abstraction swaps model, memory, vector store and file providers without rewriting task logic. (source)
  • The same structures can run locally or on Griptape Cloud through Structure Run Drivers. (source)
  • Uses semantic versioning and keeps a migration guide for breaking changes. (source)

Cons

  • The migration guide lists breaking changes for the next version, including MCPTool moving to MCP SDK 2.x and dropping its WebSocket transport. (source)
  • An open issue reports truncated output from the Anthropic prompt driver, possibly from its default max_tokens of 1000. (source)
  • An open issue reports that AnthropicPromptDriver drops stop_reason, so a max_tokens cut-off looks like a complete answer. (source)
  • Python only; the framework docs describe no SDK for other languages. (source)

Alternatives

FAQ

Does Griptape support MCP?

Yes, as a client: MCPTool connects an agent to an MCP server over stdio or streamable HTTP and needs the MCP Python SDK 2.x. A2A and AG-UI support were not found.

Is Griptape free?

The framework is Apache-2.0 licensed. The same company runs Griptape Cloud for hosting structures; no public pricing page was found, so its pricing is not stated here.

What is the difference between a Pipeline and a Workflow in Griptape?

A Pipeline runs tasks one after another. A Workflow is a directed acyclic graph where tasks with finished parents run in parallel and can read all parent outputs.

How do multiple agents work together in Griptape?

Each agent is its own structure. A StructureRunTask in a Pipeline or Workflow, or a StructureRunTool given to an agent, runs another structure locally or on Griptape Cloud.

What language is Griptape?

Python 3.10 or newer.

Sources

Unknown fields: pricing_model is unknown: the framework is Apache-2.0, but the same company offers the hosted Griptape Cloud; griptape.ai/pricing returns 404, and the Cloud page only says in its metadata that a free tier is available, so paid plans could not be confirmed. hitl_md is unknown (see text). protocols.a2a and protocols.agui are unknown: README, docs and GitHub code search found nothing (a2a matched only docs log text), and Griptape is not in the AG-UI README integration list.