Strands Agents MCP Server
OfficialThis MCP server provides AI-assisted search and retrieval of curated Strands Agents documentation, letting agents find relevant pages and read them efficiently.
Search documentation (
search_docs): Query the catalog with field-weighted BM25 ranking over titles, URL paths, descriptions, and (once hydrated) page content; returns URLs, titles, scores, and snippets, with a configurable result count (k).Browse a document's structure (
fetch_docwithout a section): Get the page title, preamble, and a table of contents with section IDs, levels, titles, summaries, and children.Read a specific section (
fetch_docwith a section ID): Retrieve the full markdown content of just the section you need, saving tokens.Get full small documents automatically: Pages under ~8KB return their entire content directly.
List the whole catalog (
fetch_docwith an empty URI): Get all available document URLs with titles.On-demand hydration and snippets: Top search results are fetched to index body text and provide contextual previews.
Optional full prefetch (
STRANDS_MCP_PREFETCH_ALL): Background-index all pages at startup so body-term search works immediately.Robust error handling: Clear errors for unsupported/unlisted URLs, unknown section IDs, and fetch failures, plus catalog URL suggestions and read-only, idempotent tool annotations.
This MCP server provides curated documentation access to your GenAI tools via llms.txt files, enabling AI coding assistants to find pages by title and retrieve their contents.
Features
Document Search: Field-weighted BM25 ranking over page titles, URL paths, and llms.txt descriptions, extended to page content once a page is hydrated (fetched), so body terms become searchable
Section-Based Browsing: Browse document structure via table of contents, then fetch only the section you need - more token-efficient than retrieving full pages
Curated Content: Indexes documentation from llms.txt files with clean, human-readable titles
On-Demand Fetching: Lazy-loads full document content only when needed for optimal performance
Snippet Generation: Hydrates the top-ranked pages to provide contextual previews
Real URL Support: Works with actual HTTPS URLs while maintaining backward compatibility
Tool behavior
search_docs(query, k)ranks by page title, URL path, and llms.txt description, and by page content once a page has been hydrated. Both title-like keywords and body terms work; callfetch_docto inspect a result's contents. The changelog index, which concatenates every release note, is ranked by title and description only.Search scores are unbounded field-weighted BM25 values. They are useful only for ordering results from the same query; they are not probabilities and should not be compared across queries.
search_docsreturns an empty list when no document matches. If a matched page cannot be fetched for its snippet, the result still includes the URL and title.fetch_docreturns{"error": "...", "url": "...", "hint": "..."}for unsupported URLs, URLs that are not in the docs catalog (with the closest catalog URLs assuggestions), and unknown section IDs (with the validsections);sectionis ignored when the full document is returned automatically. A catalog page that cannot be fetched is reported as a tool error (isError: true).Both tools are annotated read-only and idempotent, and the server sends
instructionstelling clients when to use it and in which order to call the tools.
Related MCP server: mcp-a2a-documentation
Configuration
STRANDS_MCP_PREFETCH_ALL: when set to a truthy value (1,true,yes), the server prefetches and indexes all pages in the background at startup, so body-term search works immediately instead of only after a page has been hydrated by a prior query. Defaults to off. Prefetch is best-effort and eventually consistent: results may be title-only until background hydration completes.
Prerequisites
The usage methods below require uv to be installed on your system. You can install it by following the official installation instructions.
Installation
You can use the Strands Agents MCP server with 40+ applications that support MCP servers, including Amazon Q Developer CLI, Anthropic Claude Code, Cline, and Cursor.
Get started quickly with one-click installation buttons for popular MCP clients. Click the buttons below to install servers directly in your IDE:
Kiro example
See the Kiro documentation for instructions on managing MCP configuration.
In ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"strands-agents": {
"command": "uvx",
"args": ["strands-agents-mcp-server"],
"env": {
"FASTMCP_LOG_LEVEL": "INFO"
},
"disabled": false,
"autoApprove": ["search_docs", "fetch_doc"]
}
}
}Q Developer CLI example
See the Q Developer CLI documentation for instructions on managing MCP configuration.
In ~/.aws/amazonq/mcp.json:
{
"mcpServers": {
"strands-agents": {
"command": "uvx",
"args": ["strands-agents-mcp-server"],
"env": {
"FASTMCP_LOG_LEVEL": "INFO"
},
"disabled": false,
"autoApprove": ["search_docs", "fetch_doc"]
}
}
}Claude Code example
See the Claude Code documentation for instructions on managing MCP servers.
claude mcp add strands uvx strands-agents-mcp-serverCline example
See the Cline documentation for instructions on managing MCP configuration.
Provide Cline with the following information:
I want to add the MCP server for Strands Agents.
Here's the GitHub link: @https://github.com/strands-agents/harness-sdk/tree/main/strands-mcp
Can you add it?"Cursor example
See the Cursor documentation for instructions on managing MCP configuration.
In ~/.cursor/mcp.json:
{
"mcpServers": {
"strands-agents": {
"command": "uvx",
"args": ["strands-agents-mcp-server"],
"env": {
"FASTMCP_LOG_LEVEL": "INFO"
},
"disabled": false,
"autoApprove": ["search_docs", "fetch_doc"]
}
}
}VS Code example
See the VS Code documentation for instructions on managing MCP configuration.
In your mcp.json file:
{
"servers": {
"strands-agents": {
"command": "uvx",
"args": ["strands-agents-mcp-server"]
}
}
}Quick Testing
You can quickly test the MCP server using the MCP Inspector:
# For published package
npx @modelcontextprotocol/inspector uvx strands-agents-mcp-server
# For local development
npx @modelcontextprotocol/inspector python -m strands_mcp_serverNote: This requires npx to be installed on your system. It comes bundled with Node.js.
The Inspector is also useful for troubleshooting MCP server issues as it provides detailed connection and protocol information. For an in-depth guide, have a look at the MCP Inspector documentation.
Getting Started
Install prerequisites:
Install uv following the official installation instructions
Make sure you have Node.js installed for npx commands
Configure your MCP client:
Choose your preferred MCP client from the installation examples above
Add the Strands Agents MCP server configuration to your client
Test the connection:
# For published package npx @modelcontextprotocol/inspector uvx strands-agents-mcp-server # For local development npx @modelcontextprotocol/inspector python -m strands_mcp_serverStart using the documentation tools:
search_docs- Find relevant documentation with intelligent rankingfetch_doc- Browse a page's structure and preamble, then read individual sectionsThe server automatically indexes curated content from llms.txt files
Server Development
git clone https://github.com/strands-agents/harness-sdk.git
cd harness-sdk/strands-mcp
python3 -m venv venv
source venv/bin/activate
pip3 install -e ".[dev]"
npx @modelcontextprotocol/inspector python -m strands_mcp_serverRunning Tests
# Unit tests (fast, no network access required)
pytest tests/
# Integration tests (requires network access to strandsagents.com)
pytest tests_integ/ -v
# All tests
pytest tests/ tests_integ/ -vTo skip integration tests (e.g., in CI environments without network access):
SKIP_INTEG_TESTS=1 pytest tests_integ/Contributing ❤️
We welcome contributions! See our Contributing Guide for details on:
Reporting bugs & features
Development setup
Contributing via Pull Requests
Code of Conduct
Reporting of security issues
Stay in touch with the team
Come meet the Strands team and other users on Discord
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Security
See CONTRIBUTING for more information.
Available Tools
2 toolsfetch_docA
Read documentation pages with smart sectioning for token efficiency.
Two modes of operation:
TOC mode (omit section): Returns a table of contents with section IDs, titles, summaries, and the document's preamble so you can decide which part to read.
Section mode (provide section): Returns the full markdown content of one section, identified by the ID from the TOC (e.g., "3" or "3.2").
For small documents (under ~8KB), the full content is returned directly regardless of mode, since sectioning would add overhead without benefit.
Recommended workflow:
search_docs("your query") - find relevant URLs
fetch_doc(uri="...") - see structure, preamble, and section summaries
fetch_doc(uri="...", section="3") - read the section you need
Args: uri: Document URL (must be under https://strandsagents.com/). If empty, returns a catalog of all available document URLs with titles. section: Section ID from the TOC (e.g., "3" or "3.2"). Omit to get the table of contents.
Returns: When section is omitted (TOC mode): - url, title: Document metadata - preamble: Introductory text between page title and first section - sections: List of sections with id, level, title, summary, children
When section is provided:
- url, title: Document metadata
- section_id: Requested section ID
- section_title: Section heading text
- content: Full markdown content of the section
For small documents (under ~8KB):
- url, title: Document metadata
- document_small: true
- content: Full document content (returned automatically)
On error:
- error: Error description
- url: Requested URL
Errors are returned for unsupported URLs and failed page fetches. For
sectioned documents, unknown section IDs also return an error; `section`
is ignored when the full document is returned automatically.Inputs: uri, section. Returns: result
search_docsA
Search the curated documentation catalog.
The catalog contains Strands Agents user guides, API reference pages, and examples. Ranking starts from document titles and also considers page content once a page has been fetched (hydrated), so both title-like keywords ("bedrock model", "MCP tools") and body terms ("guardrail", "temperature") work. The top results are fetched on demand to hydrate the index and provide content snippets.
Call fetch_doc with a result URL to read the page or one of its sections.
Args: query: Search query string (e.g., "bedrock model", "tell me about a2a", "how to use MCP tools") k: Maximum number of results to return (default: 5)
Returns: List of dictionaries containing: - url: Document URL - title: Display title - score: Unbounded weighted TF-IDF score. Higher is better within this result set; do not interpret it as a probability or compare it across different queries. - snippet: Contextual content preview
Returns an empty list when no document matches. If a result page
cannot be fetched, its title is used as the snippet.Inputs: query (required), k. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: search_docs discovers relevant documentation URLs, while fetch_doc reads a specific page or section. The descriptions explicitly document the recommended search-then-fetch workflow, leaving little ambiguity.
Both tool names follow a consistent verb_noun snake_case pattern: search_docs and fetch_doc. The slight singular/plural difference is natural and does not create confusion.
Two tools is slightly below the typical 3-15 range, but for a focused documentation search-and-read server this is a clean, well-scoped surface. Each tool clearly earns its place.
The server covers the full retrieval lifecycle: search for documents, list catalog URLs, inspect document structure via TOC, and read specific sections or full small documents. No obvious documentation-access gaps remain.
Maintenance
Related MCP Connectors
Search and read the Metabind documentation: MCP Apps, BindJS, the SDKs, the CLI, and the APIs.
Agentic search over your Dewey document collections from any MCP-compatible client.
Search and read Vector Panda docs: API operations, pricing, storage tiers, measured benchmarks.
Search and read Lynta's public documentation.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search, read, and traverse documentation bundles in Open Knowledge Format via MCP tools.674 npm74MIT
- AlicenseAqualityBmaintenanceSearch and retrieve Agent2Agent (A2A) protocol documentation using full-text search and section filtering.2MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI clients to search and retrieve current technical documentation from major agent frameworks through a standardized MCP tool, supporting both stdio and SSE transports.-
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to search and retrieve current technical documentation for frameworks such as LangChain, LlamaIndex, AutoGen, Agno, OpenAI Agents SDK, MCP, Camel AI, and CrewAI through MCP tools over stdio or SSE.-