Enables AI to search and retrieve AWS Lambda Powertools documentation across multiple runtimes through a TypeScript serv...
Created byApr 23, 2025
Powertools MCP Search Server
A Model Context Protocol (MCP) server that provides search functionality for AWS Lambda Powertools documentation across multiple runtimes.
Claude Desktop Quickstart
Follow the installation instructions please follow the [Model Context Protocol Quickstart For Claude Desktop users](https://modelcontextprotocol.io/quickstart/user#mac-os-linux). You will need to add a section tothe MCP configuration file as follows:
Overview
This project implements an MCP server that enables Large Language Models (LLMs) to search through AWS Lambda Powertools documentation. It uses lunr.js for efficient local search capabilities and provides results that can be summarized and presented to users.
Features
MCP-compliant server for integration with LLMs
Local search using lunr.js indexes
Support for multiple runtimes:
- Python
- TypeScript
- Java
- .NET
Version-specific documentation search (defaults to latest)
Installation
Usage
The server can be run as an MCP server that communicates over stdio:
Search Tool
The server provides a `search_docs` tool with the following parameters:
`search`: The search query string
`runtime`: The Powertools runtime to search (python, typescript, java, dotnet)
`version`: Optional version string (defaults to 'latest')
Development
Project Structure
`src/`: Source code
- `index.ts`: Main server implementation
- `searchIndex.ts`: Search index management
`indexes/`: Pre-built lunr.js search indexes for each runtime
`dist/`: Compiled output
Building
Testing
Claude Desktop MCP Configuration
During development you can run the MCP Server with Claude Desktop using the following configuration.
The configuration below shows running in windows claude desktop while developing using the Windows Subsystem for Linux (WSL). Mac or Linux environments you can run in a similar way.
The output is a bundled file which enables Node installed in windows to run the MCP server since all dependencies are bundled.
How It Works
The server loads pre-built lunr.js indexes for each supported runtime
When a search request is received, it:
- Loads the appropriate index based on runtime and version (currently fixed to latest)
- Performs the search using lunr.js
- Returns the search results as JSON
The LLM can then use these results to find relevant documentation pages