Skip to content

[I Made This]: Local MCP Document Search Server #6532

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 task done
walmsles opened this issue Apr 22, 2025 · 0 comments
Open
1 task done

[I Made This]: Local MCP Document Search Server #6532

walmsles opened this issue Apr 22, 2025 · 0 comments
Labels
community-content Community content to feature in the documentation

Comments

@walmsles
Copy link
Contributor

walmsles commented Apr 22, 2025

Link to your material

https://github.com/serverless-dna/powertools-mcp

Description

This project implements an MCP server that enables Large Language Models (LLMs) to search through AWS Lambda Powertools documentation.

The server accesses the live documentation search_index.json data and re-constructs a local search index using lunr.js. This provides an identical search experience for AI Agents and returns the exact same results as a person would get on the website. With the index being local searches are super fast and the index is cached for the life of the server to save rebuilding used indexes. Since the MCP Server uses real search data it is capable of working for any Powertools document site so naturally supports ALL the runtimes.

It provides 2 tools for AI:

search_docs: For searching a mkdocs index (first time use will create the session cached index)

fetch_doc_page: A simple webscraper that fetches a Powertools document URL page and returns the main content div as markdown for the AI to consume. Only pages from Powertools document sites can be loaded by this tool (all other domains are rejected).

I hope you find this useful!

Preferred contact

(Optional) Social Network

No response

(Optional) Additional notes

I have released this as the "Unofficial Powertools MCP Server" because its not endorsed by AWS and I want to respect that the AWS Powertools team should control the projects.

I am more than happy to donate this to the Powertools team as an official project starting point if there is interest.

Other important note about this: I am researching and plan to contact mkdocs to see if they are interested in me creating a core project that baselines the mkdocs MCP Server and officially leverage their index code from mkdocs (right now it is reverse engineered because the search_index.json is custom for the way mkdocs sets up its search engine confiuration via the plugin.

Acknowledgment

  • I understand this content may be removed from Powertools for AWS Lambda (Python) documentation if it doesn't conform with the Code of Conduct
@walmsles walmsles added the community-content Community content to feature in the documentation label Apr 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community-content Community content to feature in the documentation
Projects
None yet
Development

No branches or pull requests

1 participant