Powertools MCP Search Server
The Powertools MCP Search Server enables searching and fetching AWS Lambda Powertools documentation across multiple programming runtimes.
Capabilities:
Search Documentation: Perform text-based searches across Powertools documentation for Python, TypeScript, Java, and .NET runtimes
Version Control: Search specific versions (defaults to latest)
Fetch Content: Retrieve detailed documentation pages in markdown format using URLs from search results
Efficient Performance: Uses lunr.js for fast local search capabilities
LLM Integration: Compliant with Model Context Protocol (MCP) for seamless integration into LLM workflows
Provides search functionality for AWS Lambda Powertools documentation across multiple runtimes (Python, TypeScript, Java, .NET), enabling queries for version-specific documentation to help with implementing AWS Lambda functions.
Provides search functionality for .NET-specific AWS Lambda Powertools documentation to discover relevant implementation guides, features, and usage examples.
Enables searching through Python-specific AWS Lambda Powertools documentation to find relevant implementation guides, features, and usage examples.
Offers search capabilities for TypeScript-specific AWS Lambda Powertools documentation to locate relevant implementation guides, features, and usage examples.
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., "@Powertools MCP Search Serversearch for logging best practices in Python"
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.
Powertools for AWS MCP
This project is now in maintenance mode and will be deprecated on June 30, 2026. After that date, this package will no longer receive updates or security fixes. See Alternatives below for recommended migration paths.
The Powertools for AWS Model Context Protocol (MCP) server provides search and documentation retrieval for the Powertools for AWS Lambda toolkit across Python, TypeScript, Java, and .NET runtimes. It allows LLM agents to search for documentation and examples, helping you quickly find the information you need to use Powertools for AWS Lambda effectively.
Alternatives
Recommended: llms.txt + Agent Skills
Powertools for AWS publishes machine-readable documentation (llms.txt) for every runtime. These files give AI agents an authoritative, always up-to-date index of the full documentation — no MCP server required.
Runtime | llms.txt URL |
Python | https://docs.aws.amazon.com/powertools/python/latest/llms.txt |
TypeScript | https://docs.aws.amazon.com/powertools/typescript/latest/llms.txt |
Java | |
.NET |
Combined with a custom agent skill, your coding agent can automatically detect which runtime you're working in, fetch the relevant documentation, and apply Powertools patterns — all without running or maintaining a local MCP server.
This approach is lighter weight, works with any agent that supports web fetching, and always reflects the latest published documentation.
See the sample skill to get started.
Alternative: AWS Knowledge MCP Server
For teams that prefer consuming documentation via MCP, the AWS Knowledge MCP Server is a fully managed remote MCP server that provides up-to-date AWS documentation — including Powertools for AWS. It requires no local setup; just point your MCP client to the remote endpoint:
https://knowledge-mcp.global.api.awsThis server also covers broader AWS documentation, best practices, architectural guidance, and agent skills beyond Powertools.
Related MCP server: MCP-Ragdocs
Acknowledgments
This project would not have been possible without the contributions of the community.
Special thanks to Michael Walmsley (ServerlessDNA.com) for creating the initial implementation and generously donating it to the Powertools for AWS team at Amazon Web Services. Thanks also to all contributors who helped shape, test, and improve this project over time.
License
This library is licensed under the MIT License. See the LICENSE file.
Available Tools
2 toolsfetch_doc_pageA
Fetches the content of a Powertools documentation page and returns it as markdown. This allows you to read the full documentation for a specific feature or function. You MUST use the url returned form the search_docs tool since this will be the page to load.The URL must be from the docs.powertools.aws.dev domain. Use this after finding relevant pages with search_docs to get detailed information.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that it fetches and returns content as markdown, but lacks details on error handling, rate limits, authentication needs, or response format beyond markdown. It adds some context about domain restriction and dependency on search_docs, but behavioral traits are incomplete.
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 front-loaded with the core purpose, followed by usage rules. Each sentence adds value: first defines the action, second explains the output format and use case, third specifies the input source and domain restriction, fourth provides the workflow context. No wasted words.
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 1 parameter with 0% schema coverage and no output schema, the description does well by explaining parameter semantics and usage context. It covers the tool's role in the workflow with search_docs. However, without annotations or output schema, it lacks details on errors, performance, or exact return structure, leaving some gaps.
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 0%, so the description must compensate. It explains that the 'url' parameter must be from the docs.powertools.aws.dev domain and obtained from the search_docs tool, adding crucial semantic context beyond the schema's basic URI type. However, it doesn't detail URL format or validation rules.
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 ('fetches') and resource ('content of a Powertools documentation page'), specifying it returns markdown. It distinguishes from its sibling 'search_docs' by explaining that this tool is for detailed content retrieval after search results are obtained.
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?
It provides explicit guidance on when to use this tool ('after finding relevant pages with search_docs') and when not to use it (the URL must be from docs.powertools.aws.dev domain, not arbitrary URLs). It names the alternative tool ('search_docs') and specifies the prerequisite input source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsB
Perform a search of the Powertools for AWS Lambda documentation index to find web page references online. Great for finding more details on Powertools features and functions using text search. Try searching for features like 'Logger', 'Tracer', 'Metrics', 'Idempotency', 'batchProcessor', etc. Powertools is available for the following runtimes: python, typescript, java, dotnet. If a specific version is not mentioned the search service will use the latest documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| runtime | Yes | ||
| search | Yes | ||
| version | No |
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 mentions that the search service defaults to the latest documentation if no version is specified, which adds useful context. However, it doesn't cover other behavioral aspects like rate limits, authentication needs, or what the output looks like (e.g., search results format).
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 front-loaded with the core purpose and efficiently provides examples and runtime details in subsequent sentences. It avoids unnecessary fluff, though the last sentence about version defaults could be integrated more seamlessly. Overall, it's well-structured and concise.
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 moderate complexity (3 parameters, no output schema, no annotations), the description covers the basic purpose and some parameter context but lacks details on output format, error handling, or advanced usage scenarios. It's adequate for a simple search tool but has clear gaps in completeness.
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 description coverage is 0%, so the description must compensate. It explains the 'runtime' parameter by listing supported runtimes (python, typescript, java, dotnet) and the 'version' parameter by noting it defaults to latest if unspecified. However, it doesn't clarify the 'search' parameter beyond examples, leaving its semantics partially undefined.
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: 'Perform a search of the Powertools for AWS Lambda documentation index to find web page references online.' It specifies the resource (Powertools documentation) and action (search), though it doesn't explicitly differentiate from the sibling 'fetch_doc_page' tool. The description provides helpful examples of search terms, which enhances clarity.
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 by suggesting search terms ('Logger', 'Tracer', etc.) and mentioning runtime support, but it doesn't explicitly state when to use this tool versus 'fetch_doc_page' or provide any exclusion criteria. It offers some contextual guidance but lacks clear alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: search_docs finds relevant documentation pages, while fetch_doc_page retrieves the content of a specific page. There is no overlap in functionality, and the descriptions explicitly state the workflow relationship between them.
Both tools follow a consistent verb_noun pattern (search_docs, fetch_doc_page) with clear, descriptive names that match their functions. The naming is uniform and predictable throughout the set.
With only 2 tools, the server feels thin for a documentation search domain. While the tools cover the core search-and-retrieve workflow, additional utilities like listing available versions or filtering by runtime could enhance completeness. The count is borderline but functional.
The toolset covers the essential documentation search workflow: finding pages and fetching content. However, there are minor gaps, such as no direct way to list documentation sections or filter searches by runtime/version without relying on search queries. Agents can work around these with the provided tools.
Maintenance
Related MCP Connectors
MCP server for langchain documentation, generated by doc2mcp.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
The AWS Knowledge MCP server is a fully managed remote Model Context Protocol server that provides real-time access to official AWS content in an LLM-compatible format. It offers structured access to AWS documentation, code samples, blog posts, What's New announcements, Well-Architected best practices, and regional availability information for AWS APIs and CloudFormation resources. Key capabilities include searching and reading documentation in markdown format, getting content recommendations, listing AWS regions, and checking regional availability for services and features.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context22265MIT
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol (MCP) server that enables semantic search and retrieval of documentation using a vector database (Qdrant). This server allows you to add documentation from URLs or local files and then search through them using natural language queries.18136Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA simple Model Context Protocol server that enables searching and retrieving relevant documentation snippets from Langchain, Llama Index, and OpenAI official documentation.
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for ingesting, chunking and semantically searching documentation files, with support for markdown, Python, OpenAPI, HTML files and URLs.
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/aws-powertools/powertools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server