AWS Documentation

官方

获取、转换和搜索AWS文档页面,并提供相关内容推荐。

你可以用 AWS Documentation MCP 做什么?

  • 阅读任意 AWS 文档页面 — 通过 read_documentation 获取文档页面并转换为 Markdown 格式。
  • 跨 AWS 文档搜索 — 使用 search_documentation 按关键词、产品类型或指南类型查找相关页面。
  • 提取特定章节 — 通过 read_sections 仅提取页面中所需的章节内容。
  • 查询大型表格 — 借助 search_table 搜索服务配额或定价表格中的行数据,无需阅读整个页面。
  • 获取相关内容 — 使用 recommend 发现给定文档 URL 的推荐页面。

文档

AWS 文档 MCP 服务器

适用于 AWS 文档的模型上下文协议 (MCP) 服务器

此 MCP 服务器提供访问 AWS 文档、搜索内容以及获取推荐的工具。

功能

  • 阅读文档:获取 AWS 文档页面并将其转换为 Markdown 格式
  • 搜索文档:使用官方搜索 API 搜索 AWS 文档(仅限全球)
  • 阅读章节:获取 AWS 文档页面的章节并将其转换为 Markdown 格式。
  • 搜索表格:无需阅读整个页面,即可筛选和搜索大型文档表格中的行(例如服务配额、定价)(仅限全球)
  • 推荐:获取 AWS 文档页面的内容推荐(仅限全球)
  • 获取可用服务列表:获取中国区域可用的 AWS 服务列表(仅限中国)

先决条件

安装要求

  1. 从 Astral 或 GitHub README 安装 uv
  2. 使用 uv python install 3.10(或更新版本)安装 Python 3.10 或更高版本

安装

KiroCursorVS Code
Add to KiroInstall MCP ServerInstall on VS Code

在您的 MCP 客户端配置中配置 MCP 服务器:

{
  "mcpServers": {
    "awslabs.aws-documentation-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.aws-documentation-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_DOCUMENTATION_PARTITION": "aws",
        "MCP_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

有关 Kiro MCP 配置,请参阅 Kiro IDE 文档 或 Kiro CLI 文档 了解详情。

对于全局配置,请编辑 ~/.kiro/settings/mcp.json。对于项目特定配置,请在您的项目目录中编辑 .kiro/settings/mcp.json。

Windows 安装

对于 Windows 用户,MCP 服务器配置格式略有不同:

{
  "mcpServers": {
    "awslabs.aws-documentation-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.aws-documentation-mcp-server@latest",
        "awslabs.aws-documentation-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_DOCUMENTATION_PARTITION": "aws"
      }
    }
  }
}

注意:将 AWS_DOCUMENTATION_PARTITION 设置为 aws-cn 以查询 AWS 中国文档,而非全球 AWS 文档。

企业网络:如果您位于阻止某些 User-Agent 字符串的企业代理或防火墙之后,请将 MCP_USER_AGENT 设置为与您的浏览器 User-Agent 匹配的允许字符串。

或在成功 docker build -t mcp/aws-documentation . 后使用 Docker:

{
  "mcpServers": {
    "awslabs.aws-documentation-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "--env",
        "AWS_DOCUMENTATION_PARTITION=aws",
        "mcp/aws-documentation:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

环境变量

变量描述默认值
FASTMCP_LOG_LEVEL日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL)WARNING
AWS_DOCUMENTATION_PARTITIONAWS 分区 (aws 或 aws-cn)aws
MCP_USER_AGENTHTTP 请求的自定义 User-Agent 字符串基于 Chrome 的默认值

企业网络支持

对于具有阻止某些 User-Agent 字符串的代理服务器或防火墙的企业环境:

{
  "env": {
    "MCP_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
  }
}

基本用法

示例:

AWS Documentation MCP Demo

工具

read_documentation

获取 AWS 文档页面并将其转换为 Markdown 格式。

read_documentation(url: str) -> str

search_documentation(仅限全球)

使用官方 AWS 文档搜索 API 搜索 AWS 文档。

search_documentation(ctx: Context, search_phrase: str, limit: int, product_types: Optional[List[str]], guide_types: Optional[List[str]]) -> SearchResponse

read_sections(仅限全球)

获取 AWS 文档页面的章节并将其转换为 Markdown 格式。

read_sections(url: str, section: list[str]) -> list[dict]

search_table(仅限全球)

在大型文档表格(例如服务配额、定价表、支持的模型)中搜索特定行。对于包含数百个表格行的页面,比 read_sections 更高效——将匹配的行作为结构化 JSON 返回,而非整个表格。

search_table(url: str, section_title: Optional[str], query: str, max_rows: int = 20) -> SearchTableResponse

recommend(仅限全球)

获取 AWS 文档页面的内容推荐。

recommend(url: str) -> list[dict]

get_available_services(仅限中国)

获取中国区域可用的 AWS 服务列表。

get_available_services() -> str

开发

有关开始开发 AWS 文档 MCP 服务器的信息,请首先参阅 awslabs/mcp DEVELOPER_GUIDE。以下所有内容均特定于 AWS 文档 MCP 服务器开发。

运行测试

单元测试:uv run --frozen pytest --cov --cov-branch --cov-report=term-missing 包含集成测试的单元测试:uv run --frozen pytest --cov --cov-branch --cov-report=term-missing --run-live