Skip to content

学习 MCP 最快的方法不是先读协议,而是接入一个真实 server。本文用 AWS Documentation server 和 GitHub MCP server 做例子,说明依赖安装、mcp.json 配置、常见 tools 与使用方式,并补充自定义 MCP server 和更多 server 的发现路径。

Kiro CLI MCP 示例:从 AWS 文档和 GitHub server 开始上手

MCP 的抽象概念并不复杂:server 提供 tools,Kiro CLI 让 agent 在合适的时候调用这些 tools。真正需要注意的是安装方式、凭据管理和权限边界。下面从两个常用例子开始:AWS Documentation server 和 GitHub MCP server。

示例一:AWS Documentation server

AWS Documentation server 可以让 Kiro 直接检索、读取和推荐 AWS 文档。它适合云服务开发、排查配置项、确认 API 行为等场景。

能力范围

  • 在所有 AWS 服务文档中搜索指定主题。
  • 以 markdown 格式读取文档页面。
  • 基于某篇文档获取相关内容推荐。

前置条件

先安装 Astral 的 uv

macOS/Linux:

bash
curl -LsSf https://astral.sh/uv/install.sh | sh

Windows PowerShell:

powershell
irm https://astral.sh/uv/install.ps1 | iex

然后安装 Python 3.10 或更新版本:

bash
uv python install 3.10

macOS/Linux 配置

把下面内容写入 workspace 的 .kiro/settings/mcp.json,或合并到已有 mcpServers 中:

json
{
  "mcpServers": {
    "aws-docs": {
      "command": "uvx",
      "args": ["awslabs.aws-documentation-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows 配置

Windows 下可以通过 uv tool run 启动对应可执行文件:

json
{
  "mcpServers": {
    "aws-docs": {
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.aws-documentation-mcp-server@latest",
        "awslabs.aws-documentation-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

常见 tools

Tool Name说明
mcp_aws_docs_search_documentation搜索 AWS 文档中的特定主题
mcp_aws_docs_read_documentation以 markdown 格式读取 AWS 文档页面
mcp_aws_docs_recommend根据某篇文档推荐相关内容

使用方式示例

在 Kiro chat 中可以直接提出任务:

text
Search AWS documentation for S3 bucket policies
text
Read the AWS Lambda function URLs documentation
text
Find related content to AWS ECS task definitions

如果 agent 能看到 aws-docs server,它会根据任务选择合适的 tool。

示例二:GitHub MCP server

GitHub MCP server 允许 Kiro 访问 repository、issues、pull requests 等信息。它适合做仓库检索、issue 整理、PR 辅助和项目维护。

能力范围

  • 读取 repository 信息,包括文件、commits、branches。
  • 创建和管理 issues、pull requests。
  • 在 GitHub repositories 中搜索内容。

前置条件

  1. 安装 Docker:macOS 和 Windows 使用 Docker Desktop,Linux 使用 Docker Engine。
  2. 创建 GitHub Personal Access Token:在 GitHub Settings > Developer settings > Personal access tokens(fine-grained)中创建,并只授予所需权限。

基础配置

在 workspace 目录创建或编辑 .kiro/settings/mcp.json

json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

注意不要把 token 明文写成 your-token-here 后提交到仓库。更推荐在 shell 或系统密钥管理工具中设置 GITHUB_PERSONAL_ACCESS_TOKEN

常见 tools

GitHub MCP server 的 tools 很多,可以按类别理解:

类别Tool Name说明
Repository Toolssearch_repositories搜索 GitHub repositories
Repository Toolslist_branches列出 repository 分支
Issue Toolslist_issues列出 repository issues
Issue Toolsupdate_issue更新已有 issue
Issue Toolsadd_issue_comment给 issue 添加评论
Pull Request Toolscreate_pull_request创建 pull request

控制 toolsets

GitHub MCP server 会把能力组织成 toolsets。默认通常会启用所有 toolsets,但你可以通过环境变量收窄范围,例如只开放仓库、issue、PR、actions 等能力:

bash
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security,experiments" \
  ghcr.io/github/github-mcp-server

生产或团队环境中,建议只启用当前工作流需要的 toolsets,避免 agent 获得过宽权限。

使用方式示例

text
Show me information about the tensorflow/tensorflow repository
text
Find examples of React hooks in facebook/react
text
Create an issue in my repository about the login bug

涉及写操作时,要特别关注 Kiro 的确认提示、token 权限和目标 repository,避免误改真实项目。

自定义 MCP server

当现有 server 不能覆盖你的内部流程时,可以自己实现 MCP server。

基本步骤:

  1. 选择语言,例如 Python、Node.js。
  2. 使用对应 MCP SDK 或库实现协议。
  3. 定义 tools、输入参数和 description。
  4. 打包并分发 server。
  5. 在 Kiro CLI 的 mcp.json 中配置启动方式。

适合自定义 server 的场景包括内部知识库搜索、业务系统查询、公司专用发布流程、数据库只读分析等。

开发时可以参考:

其他常见 MCP server 类型

Database server

  • PostgreSQL MCP Server:查询和管理 PostgreSQL 数据库。
  • MongoDB MCP Server:与 MongoDB 数据库交互。

数据库类 server 风险较高,建议默认只读,必要时禁用写入、删除、迁移类 tools。

Development tools

  • Docker MCP Server:管理 Docker containers 和 images。
  • Kubernetes MCP Server:操作 Kubernetes clusters。

这类 server 可能影响本机或集群环境,配置前要明确权限边界。

去哪里找更多 MCP server

可以从这些地方发现更多 server:

接入前建议先看维护活跃度、源码、issue、安全说明和所需权限。

下一步

常见问题

AWS Documentation server 需要 AWS 凭据吗?

用于搜索和读取公开 AWS 文档时通常不需要业务账号凭据。但具体 server 版本可能支持更多能力,仍建议以 server 官方说明为准。

GitHub token 应该给多大权限?

按最小权限原则授予。只读检索就不要给写 issue 或写 PR 的权限;只处理某个仓库就不要授权整个组织。

自定义 MCP server 一定要公开发布吗?

不需要。企业内部 server 可以只在内网或团队机器上分发,只要 Kiro CLI 能按配置启动或连接即可。