Skip to main content
Glama
aws-powertools

Powertools MCP Search Server

Powertools MCP 검색 서버

여러 런타임에 걸쳐 AWS Lambda Powertools 문서에 대한 검색 기능을 제공하는 MCP(모델 컨텍스트 프로토콜) 서버입니다.

클로드 데스크톱 빠른 시작

설치 지침을 따르세요. Claude Desktop 사용자를 위한 Model Context Protocol 빠른 시작을 참조하세요. MCP 구성 파일에 다음과 같이 섹션을 추가해야 합니다.

지엑스피1

Related MCP server: MCP-Ragdocs

개요

이 프로젝트는 대규모 언어 모델(LLM)이 AWS Lambda Powertools 문서를 검색할 수 있도록 하는 MCP 서버를 구현합니다. 효율적인 로컬 검색 기능을 위해 lunr.js를 사용하고, 요약하여 사용자에게 제공할 수 있는 결과를 제공합니다.

특징

  • LLM과 통합을 위한 MCP 호환 서버

  • lunr.js 인덱스를 사용한 로컬 검색

  • 여러 런타임 지원:

    • 파이썬

    • 타입스크립트

    • 자바

    • .그물

  • 버전별 문서 검색(기본값은 최신)

설치

# Install dependencies
pnpm install

# Build the project
pnpm build

용법

서버는 stdio를 통해 통신하는 MCP 서버로 실행될 수 있습니다.

npx -y @serverless-dna/powertools-mcp

검색 도구

서버는 다음 매개변수를 사용하여 search_docs 도구를 제공합니다.

  • search : 검색 쿼리 문자열

  • runtime : 검색을 위한 Powertools 런타임(Python, Typescript, Java, DotNet)

  • version : 선택 버전 문자열(기본값은 '최신')

개발

프로젝트 구조

  • src/ : 소스 코드

    • index.ts : 메인 서버 구현

    • searchIndex.ts : 검색 인덱스 관리

  • indexes/ : 각 런타임에 대한 미리 빌드된 lunr.js 검색 인덱스

  • dist/ : 컴파일된 출력

건물

pnpm build

테스트

pnpm test

Claude Desktop MCP 구성

개발 중에는 다음 구성을 사용하여 Claude Desktop과 함께 MCP 서버를 실행할 수 있습니다.

아래 구성은 Windows Subsystem for Linux(WSL)를 사용하여 개발하는 동안 Windows Claude Desktop에서 실행하는 방법을 보여줍니다. Mac이나 Linux 환경에서도 비슷한 방식으로 실행할 수 있습니다.

출력은 모든 종속성이 묶여 있으므로 Windows에 설치된 Node가 MCP 서버를 실행할 수 있도록 하는 묶음 파일입니다.

{
  "mcpServers": {
    "powertools": {
	"command": "node",
	"args": [
	  "\\\\wsl$\\Ubuntu\\home\\walmsles\\dev\\serverless-dna\\powertools-mcp\\dist\\bundle.js"
	]
    }
  }
}

작동 원리

  1. 서버는 지원되는 각 런타임에 대해 미리 빌드된 lunr.js 인덱스를 로드합니다.

  2. 검색 요청이 수신되면:

    • 런타임 및 버전에 따라 적절한 인덱스를 로드합니다(현재 최신으로 고정됨)

    • lunr.js를 사용하여 검색을 수행합니다.

    • 검색 결과를 JSON으로 반환합니다.

  3. LLM은 이러한 결과를 사용하여 관련 문서 페이지를 찾을 수 있습니다.

특허

MIT

Available Tools

2 tools
fetch_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

A4.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
runtimeYes
searchYes
versionNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedfetch_doc_page
    • First observedsearch_docs

TDQS

A3.8/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness4/5

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

ActivityNo data
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context
    15 npm
    265
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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.
    17 npm
    136
    Apache 2.0