Skip to content

配置好 MCP server 后,有多种方式与其工具交互:直接提问让 Kiro 自动选择工具、明确指定工具名称、通过 # 调用 prompt 模板。除工具调用外,MCP 还支持资源模板和 elicitation(工具执行中途向用户补充询问)。本文覆盖从基础调用到高级场景的完整使用技巧。

完成 MCP server 配置后,可以通过多种方式与工具交互。

调用 MCP 工具

直接提问

最简单的方式——直接提出与 server 领域相关的问题,Kiro 自动匹配合适的工具:

告诉我 Amazon Bedrock 是什么
如何配置 S3 存储桶策略?

明确指定操作

通过描述具体操作来调用特定工具:

在 AWS 文档中搜索 ECS task definition 的相关内容
获取 AWS CloudFormation 的最佳实践建议

显式指定 server 和工具

需要精确控制时,使用 #[server]tool 格式:

#[aws-docs] search_documentation 告诉我 AWS Lambda 的相关信息

这种格式同时指定了 server(aws-docs)和工具名(search_documentation)。

MCP 工具管理面板

Kiro 面板的 MCP servers 标签页提供:

  • 所有已配置 server 的列表
  • 连接状态指示器
  • 单个工具的启用/禁用管理
  • 快速访问 server 工具的入口

访问步骤:

  1. 点击活动栏中的 Kiro 图标
  2. 导航到 MCP servers 标签页
  3. 查看所有已连接的 server 及其可用工具

管理单个工具

每个 MCP server 可以暴露多个工具,可以单独控制:

通过 Kiro 面板:

  1. 打开 Kiro 面板并导航到 MCP servers
  2. 展开 server 查看可用工具列表
  3. 点击工具,选择启用或禁用
  4. 被禁用的工具会显示 "Disabled" 标签,agent 无法使用

通过 JSON 配置:

使用 disabledTools 数组永久禁用特定工具:

json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
      "disabledTools": ["delete_repository", "force_push", "merge_pull_request"]
    }
  }
}

适用场景:

  • 屏蔽危险操作(删除、强制推送)
  • 减少工具列表噪音,隐藏不常用的工具
  • 限制 agent 工具范围,提升性能
  • 在共享工作区配置中统一团队规范

Server 级别操作

在 MCP 面板中右键点击 server,可以访问:

  • Reconnect — 重新建立与 server 的连接
  • Disable — 临时禁用整个 server
  • Disable All Tools — 一次性禁用该 server 的所有工具
  • Enable All Tools — 重新启用所有已禁用的工具
  • Show MCP Logs — 查看 server 的详细日志

工具审批流程

当 Kiro 想要使用某个 MCP 工具时,会先请求你的确认:

  1. 看到工具描述和用途的提示
  2. 查看工具的具体参数
  3. 点击 "Approve" 允许执行,或 "Deny" 拒绝

为可信工具设置自动批准

对于频繁使用且可信的工具,可以跳过重复确认:

json
{
  "mcpServers": {
    "aws-docs": {
      "autoApprove": [
        "mcp_aws_docs_search_documentation",
        "mcp_aws_docs_read_documentation"
      ]
    }
  }
}

保存后(Cmd+S)立即生效。

使用示例

AWS Documentation Server

搜索文档:

搜索 S3 存储桶版本控制的 AWS 文档

调用 mcp_aws_docs_search_documentation 工具。

读取文档:

阅读 AWS Lambda function URLs 的文档

调用 mcp_aws_docs_read_documentation 工具。

获取推荐:

查找与 AWS ECS task definition 相关的内容

调用 mcp_aws_docs_recommend 工具。

GitHub MCP Server

展示 tensorflow/tensorflow 仓库的信息
查找 facebook/react 中 React hooks 的使用示例
在我的仓库中创建一个关于登录 bug 的 issue

高级使用技巧

链式调用多个 MCP 工具

先搜索 ECS task definition 的 AWS 文档,再查找服务发现的相关内容

结合本地上下文

基于我的 Terraform 代码,参考 AWS 文档的最佳实践优化 Lambda 配置

在 spec 中使用 MCP 工具

在实现阶段,参考 AWS 文档确保我们的 S3 存储桶配置符合最佳实践

MCP Prompts

MCP server 可以暴露可复用的 prompt 模板,提供预制指令用于常见任务。Prompt 模板是由 server 定义的结构化消息,可选填参数来自定义内容。

访问 prompt 模板:

  1. 在聊天输入框中输入 # 打开上下文菜单
  2. 已连接 server 的 MCP prompt 会显示 MCP 图标
  3. 选择 prompt 插入到消息中

无参数的 prompt 会将解析后的内容直接插入上下文;有参数的 prompt 会显示内联表单,填写完成后插入。

Prompt 始终由用户主动触发,Kiro 不会在未经选择的情况下向 server 发送 prompt 请求。

MCP 资源模板

MCP server 还可以暴露资源模板——参数化的 URI 模板,解析后指向特定内容。资源模板也出现在 # 提及列表中。

选择资源模板后,会显示参数填写表单。例如文档 server 可能暴露 docs://{topic}/{version} 模板,填写 topic 和 version 后,解析出的文档内容会作为上下文传入对话。

MCP Elicitation

工具执行过程中,MCP server 可能需要向你补充询问信息,这称为 elicitation。Kiro 支持两种 elicitation 形式:

表单式 elicitation:

工具执行暂停,Kiro 在执行时间线中展示内联表单:

字段类型渲染形式
文本文字输入框(可能包含格式提示如邮箱、日期)
数字数字输入框
是/否复选框
选择下拉选择框

填写完成后可以提交、拒绝或关闭表单。拒绝或关闭后,server 自行决定如何继续执行(可能提供替代方案或跳过该步骤)。

URL 式 elicitation:

某些 server 会要求你访问外部 URL(如 OAuth 授权流程)。Kiro 在执行时间线中显示带有 Open 按钮的 URL,完成外部操作后工具继续执行。

安全提示:Kiro 始终显示发起请求的 server 和所需数据。如果 elicitation 要求输入密码等敏感信息,需谨慎评估是否信任该 server。

故障排查

工具无响应:

  1. 检查 Kiro 面板中的 MCP server 状态
  2. 查看 MCP 日志中的报错信息
  3. 使用 Ask Kiro 功能协助解决错误

结果不准确:

  1. 重新表述请求,描述更具体
  2. 确认选用的工具是否适合当前任务
  3. 验证 MCP server 是否具有必要权限

工具不可用:

  1. 确认 MCP server 配置正确
  2. 检查 server 是否已启动并成功连接
  3. 验证是否具有使用该工具的权限

常见问题

Q:Kiro 是怎么决定用哪个 MCP 工具的?

Kiro 根据你的提问内容和各工具的描述语义匹配,自动选择最相关的工具。如果自动选择不准确,可以用 #[server]tool 格式显式指定,或在提问中明确描述工具名称。

Q:同一任务可以同时使用多个 MCP server 的工具吗?

可以。Kiro 支持在单次对话中链式调用来自不同 server 的工具,例如先用 AWS 文档 server 查找最佳实践,再用 GitHub server 创建相关 issue。

Q:elicitation 请求如果我拒绝了,工具会失败吗?

不一定。server 在收到拒绝后会自行决定如何处理——可能用默认值继续、提供替代方案,或中止当前操作。具体行为取决于 server 的实现逻辑。