Tambo Docs MCP Server
The Tambo Docs MCP Server provides programmatic access to Tambo documentation from docs.tambo.co, enabling you to:
Discover Documentation (
discover_docs): Automatically crawl and find all available documentation pathsFetch Specific Pages (
fetch_docs): Retrieve content from individual documentation pages by path (e.g.,/concepts/components)Search Documentation (
search_docs): Search across all discovered documentation for specific terms or topicsList Sections (
list_sections): View all available documentation sections grouped by category
Additional features include intelligent content parsing for Fumadocs-powered sites, 10-minute caching for improved performance, and integration with AI tools like Cursor, Claude Desktop, and Windsurf via the MCP protocol.
Click on "Install 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., "@Tambo Docs MCP Serversearch for API authentication methods"
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.
Docs MCP Server
A TypeScript-based Model Context Protocol (MCP) server for serving Tambo documentation from https://docs.tambo.co/
Features
Dynamic Documentation Discovery: Automatically crawls and discovers all available documentation pages
Intelligent Content Parsing: Extracts clean content from Fumadocs-powered sites
Fast Search: Search across all discovered documentation
TypeScript: Full type safety and modern development experience
Caching: 10-minute cache for improved performance
Related MCP server: Tauri Docs MCP Server
Installation
npm installUsage
Development (with hot reload)
npm run devProduction
npm run build
npm startTesting
npm testAvailable Tools
discover_docs: Crawl and discover all available documentation paths automatically
fetch_docs: Fetch specific documentation pages by path
search_docs: Search documentation for specific terms across all discovered pages
list_sections: List all discovered documentation sections, grouped by category
Installation
In Cursor
Create or update .cursor/mcp.json in your project root:
MacOS/Linux:
{
"mcpServers": {
"tambo-docs": {
"command": "node",
"args": ["D:/oss/docs-mcp-server/dist/index.js"]
}
}
}Windows:
{
"mcpServers": {
"tambo-docs": {
"command": "cmd",
"args": ["/c", "node", "D:\\oss\\docs-mcp-server\\dist\\index.js"]
}
}
}Note: The MCP server won't be enabled by default. Go to Cursor settings → MCP settings and click "enable" on the Tambo Docs MCP server.
In Claude Desktop
Update your Claude Desktop configuration:
MacOS/Linux: ~/.claude/config.json
{
"mcpServers": {
"tambo-docs": {
"command": "node",
"args": ["D:/oss/docs-mcp-server/dist/index.js"]
}
}
}Windows: %APPDATA%\Claude\config.json
{
"mcpServers": {
"tambo-docs": {
"command": "node",
"args": ["D:\\oss\\docs-mcp-server\\dist\\index.js"]
}
}
}In Windsurf
Create or update ~/.codeium/windsurf/mcp_config.json:
MacOS/Linux:
{
"mcpServers": {
"tambo-docs": {
"command": "node",
"args": ["D:/oss/docs-mcp-server/dist/index.js"]
}
}
}Windows:
{
"mcpServers": {
"tambo-docs": {
"command": "cmd",
"args": ["/c", "node", "D:\\oss\\docs-mcp-server\\dist\\index.js"]
}
}
}Setup
Before using, build the server:
npm install
npm run buildDevelopment
The server is built with TypeScript and uses:
@modelcontextprotocol/sdk: MCP protocol implementation
cheerio: HTML parsing and content extraction
tsx: Fast TypeScript execution for development
Available Tools
4 toolsdiscover_docsB
Crawl the main docs page to discover all available documentation paths
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 mentions 'crawl', which suggests a potentially resource-intensive or time-consuming operation, but doesn't disclose behavioral traits like rate limits, authentication needs, or what 'discover' entails (e.g., returns paths, metadata). The description is minimal and lacks crucial operational context for a tool that likely interacts with external resources.
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 a single, efficient sentence with zero waste. It's front-loaded with the core action and purpose, making it easy to parse. Every word earns its place by conveying essential information without redundancy or fluff.
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 complexity of a 'crawl' operation (likely involving network calls and parsing), no annotations, and no output schema, the description is incomplete. It doesn't explain what 'discover' returns (e.g., list of paths, structured data), error handling, or performance considerations. For a tool with potential behavioral nuances, this leaves significant 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?
The tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description doesn't add parameter semantics, but that's acceptable given the empty schema. Baseline is 4 for zero parameters, as the description doesn't need to compensate for any gaps.
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 action ('crawl') and target ('main docs page') with a specific purpose ('discover all available documentation paths'). It distinguishes from 'fetch_docs' (likely fetching content), 'list_sections' (listing sections), and 'search_docs' (searching), but doesn't explicitly differentiate them. The purpose is specific but sibling differentiation is implicit rather than explicit.
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?
No guidance is provided on when to use this tool versus alternatives like 'fetch_docs', 'list_sections', or 'search_docs'. The description implies usage for initial discovery of documentation structure, but lacks explicit context, prerequisites, or exclusions. This leaves the agent without clear direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_docsC
Fetch documentation content from docs.tambo.co
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The documentation path to fetch (e.g., /concepts/components) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool fetches content but doesn't describe any behavioral traits such as read-only status, potential errors, rate limits, or authentication needs. This leaves significant gaps for a tool that interacts with external documentation.
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 a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the tool's purpose without unnecessary 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., raw content, structured data), potential side effects, or error handling, which are crucial for an agent to use it effectively in a documentation context.
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 description coverage is 100%, so the input schema already documents the 'path' parameter with an example. The description adds no additional meaning or context beyond what the schema provides, such as path format constraints or common use cases, meeting the baseline for high coverage.
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 action ('fetch') and resource ('documentation content from docs.tambo.co'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'discover_docs', 'list_sections', or 'search_docs', which likely have overlapping or related functionality.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sectionsB
Dynamically discover and list all available documentation sections
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'dynamically discover and list', which hints at real-time or adaptive behavior, but doesn't clarify aspects like whether this is a read-only operation, potential rate limits, authentication needs, or what 'dynamic' entails (e.g., caching, updates). This leaves significant gaps for a tool with no annotation coverage.
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 a single, efficient sentence that front-loads the key action ('dynamically discover and list') and resource ('documentation sections') with zero wasted words. Every part of the sentence contributes directly to understanding the tool's function.
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 0 parameters, no output schema, and no annotations, the description is minimally adequate for a simple listing tool. However, it lacks details on behavioral traits (e.g., read-only status, dynamic behavior implications) and doesn't address sibling tool differentiation, leaving room for improvement in context.
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 tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The description appropriately avoids redundant information, earning a high baseline score for not adding unnecessary content.
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's purpose with specific verbs ('discover and list') and resource ('documentation sections'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'discover_docs', 'fetch_docs', or 'search_docs', which all seem related to documentation retrieval, so it misses the top score.
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 provides no guidance on when to use this tool versus its siblings (e.g., 'discover_docs', 'fetch_docs', 'search_docs'), nor does it mention any prerequisites or exclusions. It implies usage for listing sections but lacks explicit context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsC
Search for documentation pages containing specific terms
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query to find relevant documentation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool searches but doesn't describe how results are returned (e.g., format, pagination), performance traits (e.g., rate limits), or error conditions. This leaves significant gaps for a tool with unspecified behavior.
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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, with every part contributing to understanding.
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 annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, result format, and usage context relative to siblings. For a search tool with undefined output and behavior, this minimal description is insufficient.
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 description coverage is 100%, with the single parameter 'query' documented in the schema as 'Search query to find relevant documentation'. The description adds no additional meaning beyond this, such as query syntax or examples, so it meets the baseline for high schema coverage.
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 action ('Search for') and resource ('documentation pages') with a specific purpose ('containing specific terms'). It distinguishes from siblings like 'fetch_docs' or 'list_sections' by emphasizing search functionality, though it doesn't explicitly name alternatives.
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 provides no guidance on when to use this tool versus siblings like 'discover_docs' or 'fetch_docs'. It implies usage for finding documentation with search terms but offers no explicit context, prerequisites, or exclusions.
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. Dates show when Glama detected each change.
4 tool updates
- First observed
discover_docs - First observed
fetch_docs - First observed
list_sections - First observed
search_docs
TDQS
The tools have mostly distinct purposes: discover_docs crawls the main page for paths, fetch_docs retrieves content, list_sections lists sections, and search_docs searches for terms. However, discover_docs and list_sections could be slightly confused as both involve discovering documentation structure, though their descriptions clarify one is for paths and the other for sections.
All tool names follow a consistent verb_noun pattern with snake_case, such as discover_docs, fetch_docs, list_sections, and search_docs. This uniformity makes the set predictable and easy to understand.
With 4 tools, the count is reasonable for a documentation server, covering core operations like discovery, fetching, listing, and searching. It might be slightly thin if advanced features like filtering or updating are needed, but it's well-scoped for basic documentation access.
The tools cover key documentation access operations: discovery, fetching, listing, and searching. However, there are notable gaps, such as no tools for creating, updating, or deleting documentation, which might be expected in a full documentation management system, limiting the surface to read-only access.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Versioned documentation registry and semantic search for AI tools and coding assistants.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
The documentation, as a tool your agent can call: 950+ AI-dev guides. Search + fetch tools.
Ingest, manage, and retrieve documents for RAG-powered AI applications
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.7221MIT
- FlicenseNot gradedqualityDmaintenanceProvides AI assistants with real-time access to official Tauri documentation from tauri.app, including guides, APIs, plugins, and search capabilities with intelligent caching and metrics.1-
- FlicenseAqualityDmaintenanceProvides AI models with direct access to documentation for over 600 technologies from DevDocs.io, including popular languages, frameworks, and tools. It enables comprehensive searching, content retrieval, and offline access via an intelligent local caching system.122-
- FlicenseNot gradedqualityDmaintenanceProvides real-time retrieval of official documentation for LangChain, LlamaIndex, and OpenAI. It enables context-aware coding by fetching the latest API references and guides directly into Claude via the Model Context Protocol.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kylegrahammatzen/tambo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server