Skip to main content
Glama
hey-iam-ryan

aws-knowledge-plus

by hey-iam-ryan

aws-knowledge-plus

AWS ナレッジソースのうち、公式 AWS Knowledge MCP Server がインデックスしていないものを対象とする Kiro Power です。

なぜ作られたのか

公式サーバーは無料・認証なし・AWS 運用であり、AWS ドキュメント、AWS ブログ、What's New、Well-Architected、re:Post Knowledge Center の記事をすでにカバーしています。それらを再構築するというのは、サポートされているインターフェースで得られるコンテンツのために、未公開エンドポイントをスクレイピングすることになります。

そこで、この Power は公式サーバーが対象外としているものだけをカバーします。その境界が read_documentation の許可リストです。

ソース

公式サーバー

この Power

docs.aws.amazon.com(Well-Architected を含む)

対応

—

aws.amazon.com、What's New

対応

—

repost.aws/knowledge-center

対応

—

repost.aws/questions(コミュニティ Q&A)

非対応

フル検索+スレッド全文の読み取り

kiro.dev(ドキュメント、ブログ、チェンジログ)

非対応

インデックス全体の検索+クリーンな Markdown 読み取り

builder.aws.com(Builder Center)

非対応

最新 30 件のみ・要約のみ

Related MCP server: NexusNote MCP Server

前提条件

  • uv が PATH にあること(uvx を提供)。この Power には独自の Python は不要で、uv がインタプリタを用意します。

  • 上記の「対応」の行に含まれるすべてのコンテンツを提供する、公式 AWS Knowledge MCP Server。この Power は意図的にそのサーバーを宣言しません。すでに導入済みのクライアントが同じエンドポイントへ 2 つ目の接続を開いて、重複したツール一式を読み込むのを防ぐためです。まだ導入していない場合は、~/.kiro/settings/mcp.json に以下の設定を追加してください。

    {
      "mcpServers": {
        "aws-knowledge": {
          "url": "https://knowledge-mcp.global.api.aws"
        }
      }
    }

インストール

GitHub から(チームに推奨)

  1. Kiro → Powers パネル → カスタム Power を追加 → GitHub から Power をインポート

  2. このリポジトリの URL を貼り付ける

ローカルクローンから

  1. git clone https://github.com/hey-iam-ryan/kiro-power-aws-knowledge-plus

  2. Kiro → Powers パネル → カスタム Power を追加 → フォルダーから Power をインポート

  3. クローンしたディレクトリを選択

Powers パネルを使わない場合 — ~/.kiro/settings/mcp.json に直接サーバーを追加します:

{
  "mcpServers": {
    "aws-knowledge-plus": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/hey-iam-ryan/kiro-power-aws-knowledge-plus@v0.1.0",
        "aws-knowledge-plus-mcp"
      ],
      "autoApprove": ["search_aws_knowledge", "read_aws_content", "list_sources"]
    }
  }
}

初回起動時は依存関係ツリーの解決に数秒かかります。2 回目以降の起動は uv によってキャッシュされます。

チームでこの Power を使う

この Power はメンテナー以外にとって読み取り専用です。 公開 GitHub リポジトリでは、コラボレーターとして明示的に追加されたアカウントだけが push できますが、そのようなアカウントは存在しません。クローン・インストール・フォークしても、チームメンバーがインストールする内容を変更できる権限は得られません。

インストール先は main ではなくリリースタグに固定されます。 mcp.json は @v0.1.0 を指しているため、main が先に進んでも全メンバーが同じレビュー済みコードを実行します。誰も気づかないうちにアップグレードされることはありません。

変更が必要ですか? issue または pull request を開いてください。メンテナーがレビュー、マージ、新しいタグの作成を行い、メンバーはピンが更新された時点で新しいバージョンを取り込めます。

メンテナー向けに、新しいバージョンをリリースする手順:

# after merging changes to main
uv run python smoke_test.py            # must pass: it hits the live sources
git tag v0.2.0 && git push origin v0.2.0
# then bump the @v0.1.0 pin in mcp.json and README.md, commit, and push

ツール

ツール

説明

検索_aws_knowledge(query, sources?, limit?)

すべてのソースを並列で検索します。sources は repost、kiro、builder を受け取れます。遅い・壊れたソースは呼び出しを失敗させるのではなく、errors エントリーに格下げされます。

read_aws_content(url, start_index?, max_length?)

ページを Markdown として読み取ります。ホストによって振り分け、再開用の明示的な切り詰めマーカーが付きます。

list_sources()

対象範囲、対象外範囲、その理由を返します。

検索スニペットは意図的に短くしてあります。スニペットは読むべき記事を選ぶためにあり、その内容から回答するためのものではありません。

読み取り結果の様子

  • re:Post — スレッドの schema.org QAPage データから再構築されるため、質問とすべての回答が、著者・日付・投票数・採用回答マーカー付きで得られます。HTML スクレイピングは行わず、コードブロックもそのまま保持されます。

  • kiro.dev ドキュメント — 公開されている Markdown 版(/docs/steering は /docs/steering.md を読む)を取得するため、サイトのデザイン装飾を取り除く必要がありません。

  • Builder Center — フィードの要約のみで、本文が取得できなかった旨を明示的に示します。

設定

変数

デフォルト

説明

AWS_KNOWLEDGE_PLUS_ENABLE_BUILDER

1

0 にすると、統合検索から Builder Center を除外します。

AWS_KNOWLEDGE_PLUS_CACHE_TTL

900

レスポンスのキャッシュ TTL(秒)。

AWS_KNOWLEDGE_PLUS_TIMEOUT

20

リクエストごとのタイムアウト(秒)。

AWS_KNOWLEDGE_PLUS_USER_AGENT

Chrome 系 UA

re:Post はブラウザ以外のエージェントにチャレンジを返します。上書きの際は注意してください。

既知の制限

  • Builder Center には構造的な制限があります。 唯一の公開インデックスが 30 件の Atom フィードで、その next リンクが自分自身に戻るため、古い投稿を発見できません。記事本文はクライアント側で描画され、取得しません。このためこのソースは低ウェイトで、無効化もできます。

  • re:Post の検索深度。 サイトは pageSize は尊重しますが、page には対応しないため、深いページネーションではなく 1 枚の大きなページから返ります。

  • 未整備のエンドポイント。 re:Post の検索レスポンスは、ページが埋め込む __NEXT_DATA__ ペイロードから読み取ります。これは公開された API ではなく、今後変わる可能性があります。アダプターは現行の 2 種類のペイロード形式のどちらにも対応し、どちらも見つからない場合はクラッシュせず空の結果を返しますが、サイトの再設計があればここで修正が必要です。

開発

uv sync
uv run python smoke_test.py     # live checks against all three sources
uv run aws-knowledge-plus-mcp   # start on stdio

smoke_test.py は実際のサイトにアクセスするため、さまざまなカナリアの役割も兼ねています。あるソースのマークアップやペイロードが変更された場合、まずここで失敗します。

セキュリティ

アウトバウンドのリクエストは、各アダプターが宣言するホストとパスプレフィックスから作られる許可リストに限定されます。リダイレクトは 1 ホップずつ追跡し、各ホップで再検証するため、リダイレクトによってフェッチャーを許可外のホストへ移動させることはできません。https のみを許可します。リクエストに資格情報を持たず、ソースはすべて公開されています。

ライセンス

Apache-2.0

Available Tools

3 tools
list_sourcesA

List the sources this server covers, their limits, and what it deliberately omits.

Call this when unsure whether a lookup belongs here or with the official AWS Knowledge MCP Server.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the tool's scope and even its deliberate omissions, but it does not explicitly state side-effect-freedom or other behavioral details; the 'List' framing implies a read operation without being emphatic.

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?

Two concise sentences front-load the purpose and immediately give the usage context. All every sentence earns its place; there is no repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no arguments and an output schema exists, so the description only needs to say what the tool is for and when to call it, which it does completely.

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?

The tool has zero parameters, so there are no parameter ambiguities for the description to resolve.

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 states a specific verb and resource: 'List the sources this server covers, their limits, and what it deliberately omits.' This clearly distinguishes the tool from the search/read sibling tools.

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?

Explicitly says 'Call this when unsure whether a lookup belongs here or with the official AWS Knowledge MCP Server,' giving a direct when-to-use condition and pointing to the appropriate alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_aws_contentA

Fetch a page from a supported source and return it as markdown.

Dispatches on the URL's host:

  • repost.aws/questions/<id> — the question plus every answer, rebuilt from the page's schema.org QAPage data with authors, dates and vote counts.

  • kiro.dev/docs/... — the published markdown twin of the page, so the text arrives without site chrome. Blog and changelog pages are converted from HTML.

  • builder.aws.com/content/... — title, plus a summary when the site's feed published one. The body is client-rendered and is not retrieved, and the response says so; hand the user the URL rather than paraphrasing what came back. A title derived from the URL slug is flagged in meta.title_source.

Long pages are truncated with an explicit marker telling you the start_index to resume from.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL returned by search_aws_knowledge.
max_lengthNoMaximum characters to return.
start_indexNoCharacter offset, for continuing a long read.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full behavioral disclosure burden. It explicitly discloses client-rendered builder.aws.com bodies are not retrieved, that titles from URL slugs are flagged in meta.title_source, that repost.aws content is rebuilt from schema.org, that kiro.dev uses a markdown twin, and that long pages are truncated with an explicit resume marker. This is unusually transparent.

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 a single-sentence summary, then uses a compact bulleted dispatch list for the distinct URL types, and closes with the important truncation behavior. Every sentence contributes unique information, and there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema already exists and the three parameters are fully described in the schema, the description does not need to restate return-value details or parameter defaults. It covers everything else an agent must know: which hosts are supported, what to expect from each, the client-rendered caveat, and the pagination/resumption mechanism.

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 100%, so the baseline is 3. The description adds useful behavioral context beyond the schema, particularly that long pages contain an explicit marker telling the agent which start_index to use next, and that the URL's host determines the extraction behavior. This is meaningful but not a large amount of added parameter detail.

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 opening sentence states a specific action and object: 'Fetch a page from a supported source and return it as markdown.' The host-based bullets further define exactly what each URL type yields, and the tool is clearly distinct from its siblings (search_aws_knowledge and list_sources), making it easy for an agent to know this is the content-fetching tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives practical, source-specific usage guidance, such as not paraphrasing builder.aws.com content and resuming long reads using the returned start_index. It does not explicitly contrast this tool with its siblings, though the schema states the URL comes from search_aws_knowledge, so the intended workflow is clear but slightly implicit in the description itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_aws_knowledgeA

Search AWS knowledge sources that the official AWS Knowledge MCP Server does not cover.

Use this for: troubleshooting threads where someone hit the same error ('repost'), anything about Kiro itself such as steering, hooks, specs, powers or MCP configuration ('kiro'), and the AWS Builders' Library or other community write-ups ('builder').

The Builders' Library is worth calling out: aws.amazon.com/builders-library/ redirects to Builder Center, and the official server refuses the redirect target, so this is the only way to find those articles here. Note that Builder Center results carry no article body — see read_aws_content.

Do NOT use this for AWS service documentation, API references, AWS blogs, What's New announcements, Well-Architected guidance or re:Post Knowledge Center articles — the official AWS Knowledge MCP Server indexes those and is the better answer for them.

Sources are queried in parallel; one slow or broken source degrades to an entry in errors rather than failing the call. Snippets are kept short on purpose: pick the promising hits and pass their URLs to read_aws_content.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum hits to return.
queryYesWhat to look for. Plain keywords work best.
sourcesNoRestrict the search to these sources: 'repost' (AWS re:Post community Q&A threads), 'kiro' (kiro.dev docs, blog, changelog), 'builder' (AWS Builder Center, including the AWS Builders' Library). Omit to search all of them.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full disclosure burden, and it delivers: parallel source querying, degraded single-source errors becoming entries in `errors` rather than failing the call, intentionally short snippets, the Builders' Library redirect quirk, and the caveat that Builder Center results carry no article body. These are exactly the behaviors an agent needs to calibrate expectations.

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 long but each paragraph earns its place: purpose, in-scope uses, exclusions, a redirect quirk callout, fail-degrade behavior, and a follow-up routing to read_aws_content. It is front-loaded with the purpose statement and organized in clear sections. There is minor redundancy (the Builders' Library is mentioned in the in-scope list and again in the callout), but the callout adds vital context, so the verbosity is largely justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a search tool with only 3 parameters and an output schema, and the description covers everything an agent needs: what to search, when to search, when not to search, what each source maps to, failure behavior, and what to do with the results (pass URLs to read_aws_content). Combined with schema + output schema coverage, nothing material is missing.

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 coverage is 100%, so the baseline is 3. The description adds real value: it maps source values to intent ('repost' → troubleshooting threads; 'kiro' → steering/hooks/specs/MCP config; 'builder' → Builders' Library and community write-ups), explains why `builder` is non‑obvious in the redirect paragraph, and gives advice on how to proceed from the (short) snippets. It doesn't add much for `limit`, but the source semantics are significantly enriched.

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 opening sentence explains the specific action and scope: 'Search AWS knowledge sources that the official AWS Knowledge MCP Server does not cover.' It then enumerates the concrete resource categories ('repost', 'kiro', 'builder'), and contrasts itself with both the official server and its sibling read_aws_content, leaving no ambiguity about what this tool is and is not.

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?

The description is exemplary: it gives a 'Use this for:' list with concrete examples (error threads, Kiro config, Builders' Library), then a 'Do NOT use this for:' list (service docs, API references, AWS blogs, What's New, etc.) with the explicit alternative recommendation: 'the official AWS Knowledge MCP Server ... is the better answer for them.' It also routes follow-on behavior to read_aws_content. Nothing is left to inference.

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. 1 tool updatev0.2.1
    • Changedsearch_aws_knowledge1 field changed
      • changedInput schema / properties / sources / description
        Previous value: -"Restrict the search to these sources: 'repost' (AWS re:Post community Q&A), 'kiro' (kiro.dev docs, blog, changelog), 'builder' (recent AWS Builder Center posts). Omit to search all of them."New value: +"Restrict the search to these sources: 'repost' (AWS re:Post community Q&A threads), 'kiro' (kiro.dev docs, blog, changelog), 'builder' (AWS Builder Center, including the AWS Builders' Library). Omit to search all of them."
  2. 3 tool updatesv0.1.0
    • First observedlist_sources
    • First observedread_aws_content
    • First observedsearch_aws_knowledge

TDQS

A4.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct role: search for finding content, list_sources for orienting on scope, and read_aws_content for retrieving a specific page. The descriptions explicitly cross-reference each other to prevent confusion.

Naming Consistency5/5

All three tool names follow a consistent verb_noun snake_case pattern: search_aws_knowledge, list_sources, read_aws_content. The naming style is uniform and predictable.

Tool Count5/5

Three tools is well-scoped for a focused supplementary server that deliberately covers only what the official AWS Knowledge MCP Server misses. Each tool fills an essential role in the search-and-read workflow without bloat.

Completeness5/5

The server covers the full intended lifecycle: discover what sources exist (list_sources), search them (search_aws_knowledge), and retrieve specific content (read_aws_content). This is a complete minimal surface for a supplemental knowledge server.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables web search and site-specific search capabilities through the Deepsearch model. Provides unified access to broad web retrieval and targeted site search functionality within the MCP ecosystem.
    2
    7 npm
    5
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables debate search and citation functionality through web search, Wikipedia, arXiv, and AWS documentation APIs. Designed to power debate features with comprehensive research and citation tools via MCP protocol.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables web search and web fetch operations using Ollama's hosted APIs, allowing MCP clients to search the web and retrieve page content.
    2
    MIT