griptape-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@griptape-mcpshow me how to add conversation memory to a Griptape Agent"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Your AI keeps hallucinating Griptape method names. You ask it to build an Agent, it writes confident code that doesn't exist. You paste the error. It apologizes and writes different wrong code.
griptape-mcp fixes this. It ships the entire Griptape documentation β 84 framework pages, 125 nodes, 714 real code examples β as a pre-built SQLite database your AI can actually search. No hallucinations. No outdated training data. No API keys.
Install it once. Your AI figures out the rest.
What's inside the box
π 84 framework pages | Agents, Pipelines, Workflows, Tools, Drivers, Engines, RAG, and more |
π§© 125 visual nodes | Every node in Griptape Nodes across 17 categories |
π Full-text search | SQLite FTS5 β fast, typo-tolerant, ranked by relevance |
π» 714 code examples | Real, working snippets pulled straight from the official docs |
π¦ Ships ready to go | Pre-built database included. No network calls, no API keys, no scraping at query time. |
What it looks like
Once connected, your AI uses the tools automatically. No prompting required.
You: How do I add conversation memory to an Agent?
Claude: (calls search_docs("conversation memory")) Found it. Here's the pattern:
from griptape.structures import Agent
from griptape.memory.structure import ConversationMemory
agent = Agent(conversation_memory=ConversationMemory())No guessing. No hallucinated imports. Just the actual docs.
Related MCP server: llmmcp
Get running in 60 seconds
Step 1 β Install
pip install griptape-mcpStep 2 β Connect your client
Add to your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"griptape-docs": {
"command": "griptape-mcp"
}
}
}Restart Claude Desktop. Look for the π¨ icon β that means tools are loaded.
claude mcp add griptape-docs griptape-mcpDone. That's genuinely it.
Or add manually to your MCP settings:
{
"mcpServers": {
"griptape-docs": {
"command": "griptape-mcp"
}
}
}docker build -t griptape-mcp .{
"mcpServers": {
"griptape-docs": {
"command": "docker",
"args": ["run", "-i", "--rm", "griptape-mcp"]
}
}
}Step 3 β Ask anything
"How do I create a Griptape Agent with custom tools?"
"What's the difference between a Pipeline and a Workflow?"
"Show me a RAG pipeline example in Griptape"
"What image processing nodes does Griptape Nodes have?"
"Find me code examples for conversation memory"
What your AI can look up
Six tools your AI assistant can call, all read-only and fast:
Tool | What it does |
| Full-text search across all Griptape documentation. Filter by |
| Pull the complete content of any doc page by URL or title. Includes sections and code blocks. |
| Find nodes by name, description, or category. Returns descriptions and doc links. |
| Deep dive on a single node β full description, config, and code examples. |
| Browse what's available: 8 framework sections + 17 node categories with counts. |
| Search for working code snippets by topic. Great for "show me how to..." questions. |
How it works
The architecture is intentionally boring β a SQLite file shipped inside the pip package, opened read-only at query time. No network calls happen during conversations.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β At build time β
β β
β docs.griptape.ai βββ β
β ββββΆ scraper βββΆ SQLite + FTS5 β
β GitHub markdown βββββ (shipped in package) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β At query time β
β β
β Claude / AI βββstdioβββΆ griptape-mcp ββββΆ SQLite (ro) β
β β
β No network calls. No API keys. Just a local subprocess. β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββScrapers crawl
docs.griptape.ai(via sitemap) and Griptape Nodes (via GitHub markdown)Content gets parsed into structured pieces: titles, headings, code blocks, node metadata
Everything lands in a SQLite database with FTS5 full-text search indexes
That database ships inside the pip package β nothing to fetch at runtime
The MCP server opens it read-only and exposes 6 search/lookup tools over stdio
A nightly GitHub Actions job re-scrapes and rebuilds to stay current
Node coverage
125 nodes across 17 categories:
Category | Count | Category | Count | |
Image | 32 | Lists | 17 | |
Video | 18 | Text | 12 | |
Config | 9 | Number | 7 | |
Tools | 7 | JSON | 5 | |
Dict | 4 | Audio | 3 | |
Execution | 3 | Rules | 2 | |
Adv. Media Library | 2 | Agents | 1 | |
Convert | 1 | Utils | 1 | |
3D | 1 |
Development
Setup
git clone https://github.com/KianSalem/griptape-mcp.git
cd griptape-mcp
pip install -e ".[dev]"Rebuild the docs database
cd scripts
python build_db.pyThis scrapes both documentation sources and writes to src/griptape_mcp/data/griptape.db. If the website rate-limits you, the build script automatically falls back to scraping GitHub markdown.
Run against a local database
GRIPTAPE_MCP_DB_PATH=./griptape.db griptape-mcpValidate
python scripts/validate_db.py src/griptape_mcp/data/griptape.db [PASS] Framework pages > 10 - got 84
[PASS] Nodes pages > 10 - got 164
[PASS] Nodes extracted > 20 - got 125
[PASS] Sections > 50 - got 2263
[PASS] Code examples > 10 - got 714
[PASS] FTS search works - 'agent' matched 79 pages
[PASS] Multiple node categories - got 17
ALL CHECKS PASSEDProject structure
griptape-mcp/
βββ src/griptape_mcp/
β βββ server.py β MCP tools (FastMCP)
β βββ db.py β Schema, queries, FTS
β βββ __main__.py β Entry point
β βββ data/griptape.db β Pre-built database (14 MB)
βββ scripts/
β βββ build_db.py β Orchestrates full rebuild
β βββ scrape_framework.py β Crawls docs.griptape.ai
β βββ scrape_nodes.py β Crawls docs.griptapenodes.com
β βββ scrape_nodes_github.py β GitHub fallback scraper
β βββ validate_db.py β Post-build validation
βββ .github/workflows/
β βββ rebuild-db.yml β Nightly CI rebuild
β βββ publish.yml β PyPI publish on release
βββ Dockerfile
βββ pyproject.tomlContributing
See CONTRIBUTING.md.
License
MIT β do whatever you want with it.
Available Tools
6 toolsget_code_examplesA
Search for code examples related to a topic.
Finds code snippets from the documentation that match your query. Useful for finding working examples of Griptape patterns.
Args: topic: What you want examples of (e.g. "RAG pipeline", "custom tool", "workflow")
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full burden but only states it finds code snippets. It does not disclose behavioral traits like output format, result limits, or permissions. The docstring provides example values but not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with 4 sentences, front-loading the core purpose. The docstring for the parameter is clearly separated. No wasted words, though could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one required parameter and an output schema (indicating return values are defined), the description is sufficiently complete for a simple search tool. It covers the core functionality and provides an example.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description compensates with a clear docstring for the 'topic' parameter, including example values. This adds meaningful semantics beyond the schema type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for code examples related to a topic, using a specific verb ('Search') and resource ('code examples'). It distinguishes itself from siblings like 'search_docs' by focusing on code snippets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding working examples of Griptape patterns but lacks explicit when-to-use guidance or alternatives. It does not specify when not to use this tool versus other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_node_detailsA
Get full documentation for a specific Griptape Node.
Returns the complete description, configuration, inputs/outputs, and any code examples for the node.
Args: node_name: Name of the node (e.g. "Load Image", "Create Agent", "Transcribe Audio")
| Name | Required | Description | Default |
|---|---|---|---|
| node_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states what is returned but does not disclose any side effects, permissions, or limitations. For a read operation retrieving documentation, the disclosure is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose. The Args section provides structured parameter detail. It is not overly verbose, though some redundancy exists with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter, no enums, and an output schema, the description is complete. It explains the return content and provides parameter guidance, leaving no obvious gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the description compensates by providing examples (e.g. 'Load Image', 'Create Agent') and clarifying the expected format (human-readable name). This adds meaning beyond the schema's minimal title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'full documentation for a specific Griptape Node'. It specifies what is returned (complete description, configuration, inputs/outputs, code examples), distinguishing it from siblings like 'get_code_examples' which only returns code examples.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells when to use: when full documentation is needed. It does not explicitly exclude cases or mention alternatives, but the context of returning comprehensive docs versus just code examples provides sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pageA
Get the full content of a specific documentation page.
Retrieves the complete text content and code examples for a page. You can pass either the full URL or a partial title to match.
Args: url_or_title: Full URL (e.g. "https://docs.griptape.ai/stable/griptape-framework/structures/agents/") or partial title (e.g. "Agents")
| Name | Required | Description | Default |
|---|---|---|---|
| url_or_title | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not explicitly state read-only behavior or any side effects, though the action is clearly a retrieval. Missing disclosure on authentication or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise two-sentence summary plus an Args section; no wasted words. Could be slightly more structured with bullet points, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown), the description covers the tool's core function well. Lacks guidance on edge cases or comparison with search_docs for non-exact matches, but adequate for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description fully documents the single parameter, explaining both acceptable formats (full URL or partial title) and providing concrete examples, exceeding the schema's bare definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves full page content including code examples, distinguishing it from sibling tools like get_code_examples which may focus solely on code. However, it doesn't explicitly differentiate from search_docs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides instructions on how to use the parameter (URL or partial title) with examples, but lacks guidance on when to use this tool vs. siblings like search_docs or get_code_examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesA
List all Griptape Framework sections and Node categories.
Shows the available documentation areas and how many pages/nodes are in each, so you know what to search for.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds value by disclosing that the output includes counts of pages/nodes per section. This goes beyond a simple listing statement, though it lacks details on potential pagination or performance aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, efficiently conveying purpose and behavioral context without waste. Information is front-loaded with the main action and immediate elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters) and the existence of an output schema, the description adequately covers what it lists and the count inclusion. Minor gaps in specifying read-only nature or scope do not significantly detract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema description coverage is 100%. The description correctly has no need to explain parameters, earning a baseline score for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Griptape Framework sections and Node categories, specifying it includes counts of pages/nodes per area. This distinguishes it from siblings that retrieve details or perform searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a precursor to searching ('so you know what to search for') but does not explicitly state when to use this tool versus siblings or provide exclusions for when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsA
Search across all Griptape documentation.
Full-text search of the Griptape Framework docs and Griptape Nodes docs. Returns the top matching pages with title, URL, and a text snippet.
Args: query: Search terms (e.g. "RAG pipeline", "Agent memory", "image node") source: Filter results - "framework", "nodes", or "all" (default)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| source | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral traits. It describes the search behavior and return format but does not disclose side effects, idempotency, or permissions needed. It implies a read operation but does not state it explicitly. Lacks some transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two introductory sentences followed by a short Args list. Every sentence adds valueβno fluff, no repetition of schema. The use of examples in parameters enhances clarity without excessive verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to detail return values. It covers the search scope, parameter usage, and result content adequately. However, it could explicitly state that it is read-only or mention pagination limits to be fully complete. Still, it is mostly sufficient for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description fully compensates by explaining both parameters: 'query' with concrete examples ('RAG pipeline', 'Agent memory', 'image node') and 'source' with its allowed values ('framework', 'nodes', 'all'). This adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs full-text search across Griptape documentation, listing the specific data sources (framework and nodes docs) and what it returns (title, URL, snippet). This differentiates it from siblings like 'get_page' or 'get_code_examples' by specifying the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide when to use this tool versus alternatives. It mentions the source parameter filtering but does not guide the agent on when to choose this over sibling tools like 'search_griptape_nodes' or 'list_categories'. No explicit 'when not to use' or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_griptape_nodesB
Search Griptape Nodes by name, description, or category.
Griptape Nodes is a visual workflow builder with 120+ nodes for images, video, audio, text, agents, and more.
Args: query: Search terms (e.g. "load image", "transcribe", "agent") category: Optional category filter (e.g. "Image", "Video", "Text", "Audio", "Agents", "Config")
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| category | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It does not disclose read-only nature, authentication requirements, rate limits, or response behavior. Only states the action without behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise, front-loaded with purpose, and organized into short paragraphs. No unnecessary sentences, but args list could be integrated more succinctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema details provided and low schema coverage, description lacks completeness. Does not mention pagination, sorting, or error handling. Sibling tools are present but not referenced for differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description lists args with example values for query. No detailed semantics like allowed values for category or expected input format. Minimal compensation for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Search' and resource 'Griptape Nodes', and specifies search dimensions (name, description, or category). It distinguishes from sibling tools like get_node_details and list_categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description mentions context (visual workflow builder) and examples for query, but does not explicitly state when to use this tool versus alternatives like list_categories or search_docs. Guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.1- First observed
get_code_examples - First observed
get_node_details - First observed
get_page - First observed
list_categories - First observed
search_docs - First observed
search_griptape_nodes
TDQS
Scored across 6 tools
Each tool has a distinct purpose: searching docs, searching nodes, getting examples, getting page content, getting node details, and listing categories. No significant overlap.
All tools use snake_case with a consistent verb_noun pattern (get, list, search), making the set predictable and easy to navigate.
6 tools are well-scoped for a documentation search server, covering browsing, searching, and retrieving details without being excessive or insufficient.
The set covers all major operations for the domain: listing categories, searching docs and nodes, retrieving page content, node details, and code examples. No obvious gaps.
Maintenance
Related MCP Connectors
@latest documentation and code examples to 9000+ libraries for LLMs and AI code editors in a singlβ¦
Provide your AI coding tools with token-efficient access to up-to-date technical documentation forβ¦
Database for your AI agent. Turn its output into data, docs, skills, and apps you can actually use.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides comprehensive SQLite database interaction for AI agents, including data manipulation, schema inspection, and automated query logging. It features a unique context preservation pattern that uses a dedicated meta-table to help autonomous agents maintain self-documenting database architectures.21 npm1MIT
- AlicenseNot gradedqualityCmaintenanceProvides real-time, up-to-date documentation for major LLM providers (OpenAI, Anthropic, Google Gemini) to prevent hallucinations and outdated code patterns in AI agents.11 npm6MIT
- FlicenseAqualityDmaintenanceProvides Large Language Models with real-time access to the latest documentation for Python libraries like Langchain, LlamaIndex, and OpenAI, enabling accurate and up-to-date code suggestions.1-
- FlicenseBqualityCmaintenanceEnables AI assistants to query and search library documentation from GitHub repositories or web pages using RAG and web scraping.2-