Kimi Code CLI 扩展能力与生态集成教程

Kimi Code CLI 扩展能力与生态集成教程

Model Context Protocol

2 分钟阅读

Model Context Protocol

Model Context Protocol(MCP) 是一个开放协议,让模型可以安全地调用外部进程或服务暴露的工具——例如读取 GitHub issues、查询数据库、操作本地文件系统。作为AI领域的工具调用标准,MCP打破了不同工具之间的壁垒,Kimi Code CLI 作为 MCP client 接入这些外部工具,并把它们与内置工具(ReadBashGrep 等)一起暴露给 Agent 使用,行为上没有差异,配合DeepSeek的工具调用能力,可实现对接内部系统、第三方服务、硬件设备等各种个性化需求。

通过阅读本文,你将全面掌握MCP服务器的接入方法、配置规则、权限管理与安全注意事项,能够接入自定义MCP服务器扩展Agent的工具能力。

接入方式

Kimi Code CLI 支持三种 MCP server 接入方式,适配不同使用场景:

  • stdio:CLI 以子进程方式启动本地 MCP server,通过标准输入输出通信。适合本地命令行工具、代码检查工具、本地数据库客户端等,CLI会自动管理服务的启动与停止,无需手动维护生命周期。
  • HTTP:CLI 连接一个已在运行的 HTTP 端点。适合远程服务、内部API服务、第三方MCP服务等,支持负载均衡与高可用,服务端可独立扩容升级。
  • SSE:CLI 连接旧式 HTTP+SSE 端点(Server-Sent Events,一种流式 HTTP 机制)。新 MCP server 优先使用 HTTP;只有服务仍仅暴露旧式 SSE 传输时,才设置 transport: "sse",属于兼容旧服务的过渡方案。

配置

MCP server 配置写在 mcp.json 中,分两层,同名条目以项目级为准,覆盖用户级:

  • 用户级~/.kimi-code/mcp.json(或 $KIMI_CODE_HOME/mcp.json),跨项目共享,适合存放通用的MCP服务器配置
  • 项目级:工作目录下的 .kimi-code/mcp.json,只对当前仓库生效,适合存放项目专属的MCP服务器配置,可提交到Git仓库共享给团队成员

你无需手动编辑JSON文件,在 TUI 中运行 /mcp-config 可以交互式地新增、编辑或删除 server,界面会引导你输入服务器类型、地址、参数,自动生成合法的配置文件,降低出错概率。运行 /mcp 可查看当前所有 server 的连接状态、暴露的工具列表,状态为connected说明连接正常,状态为failed可点击查看详细错误原因。

mcp.json 的结构:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
    },
    "linear": {
      "url": "https://mcp.linear.app/mcp"
    },
    "legacy-events": {
      "transport": "sse",
      "url": "https://mcp.example.com/sse"
    }
  }
}

command 字段的条目为 stdio server;含 url 字段且未写 transport 的条目为 HTTP server。旧式 SSE server 需要显式把 transport 设为 "sse"

可选字段:

字段类型适用方式说明
envRecord<string, string>stdio注入子进程的环境变量,可用于传递API密钥等敏感信息,避免写在配置文件中
cwdstringstdio子进程工作目录,默认是当前项目根目录
headersRecord<string, string>HTTP、SSE附加到每次请求的静态请求头,可用于传递认证信息
bearerTokenEnvVarstringHTTP、SSE存放 bearer token 的环境变量名,CLI会自动读取该环境变量的值添加到请求头,避免明文存储密钥
enabledboolean全部设为 false 可禁用该 server,无需删除配置
startupTimeoutMsnumber全部连接超时,默认 30000 毫秒,远程服务网络慢时可调大到60秒
toolTimeoutMsnumber全部单次工具调用超时,默认60秒,大数据查询等慢工具可调大到300秒
enabledToolsstring[]全部工具白名单,只有列表中的工具可以被调用,适合限制服务器能力,降低安全风险
disabledToolsstring[]全部工具黑名单,列表中的工具禁止被调用,适合禁用高风险工具

HTTP 与 SSE server 支持通过 headersbearerTokenEnvVar 提供静态凭证。需要 OAuth 时,运行 /mcp-config login <server-name> 完成浏览器授权,CLI会自动保存凭证,无需手动配置。 Plugins 也可以在 manifest 中声明 MCP servers。Plugin 声明的 servers 默认启用,可以在 /plugins 中禁用或重新启用,然后开启新会话。详见 Plugins

注意

项目级 .kimi-code/mcp.json 中的 stdio 条目会在会话启动时执行本地命令,只在你信任的仓库里启用。如果是公共仓库,建议将mcp.json加入.gitignore,避免执行恶意命令。

工具命名与权限

MCP 工具按 mcp__<server>__<tool> 格式命名,例如 mcp__github__create_issue,命名规则统一,方便权限配置。权限规则中支持 *** 通配,例如 mcp__github__* 命中该 server 下所有工具,mcp__*__read_* 命中所有服务器的读工具,MCP 工具参数不参与权限匹配。 权限规则优先级:deny规则 > allow规则,若同时匹配allow和deny规则,deny规则生效。 未命中权限规则的调用会触发审批请求;在审批弹窗中选择"Approve for this session"后,本次会话内的后续同类调用自动放行;选择"Approve always"会自动添加永久权限规则,后续所有会话都不会再审批同类调用。 也可以在 config.toml[[permission.rules]] 中预置永久规则:

[[permission.rules]]
decision = "allow"
pattern = "mcp__github__*"

[[permission.rules]]
decision = "deny"
pattern = "mcp__filesystem__write_file"

权限规则的完整语法见配置文件

安全性

接入外部 MCP server 时需注意,遵循最小权限原则保障安全:

  • 只接入可信来源的 server,不要接入未知来源的公共MCP服务器,避免执行恶意操作
  • 在审批请求中核查工具名与参数是否合理,确认符合当前任务预期
  • 对高风险工具(写文件、执行命令等)维持手动审批,避免用 mcp__* 通配放行全部工具
  • 尽量使用白名单enabledTools限制允许调用的工具,仅开启必要的能力
  • 不要在配置文件中明文存储密钥,使用环境变量或OAuth方式传递敏感信息
注意

在 YOLO 模式下,MCP 工具调用会被自动批准。仅在完全信任所接入的 MCP server 时使用此模式,避免安全风险。

常见问题(FAQ)

  1. MCP服务器连接失败怎么办? 首先检查配置的地址、参数是否正确,然后检查网络是否可以连通服务器;stdio类型的检查命令是否正确、是否有可执行权限;最后运行/logs mcp查看连接日志,排查具体错误原因。
  2. MCP工具调用超时怎么办? 可适当调大toolTimeoutMs参数,或检查工具本身的性能是否有问题,远程服务可检查网络延迟。
  3. 可以自己开发MCP服务器吗? 可以,按照官方MCP协议规范开发即可,官方提供了Python、Node.js、Go等语言的SDK,开发完成后按照本文的配置方法接入即可使用。

博极客AI是专业人工智能学习平台,提供通俗易懂的AI入门教程、大模型应用、实战项目与行业动态,全站内容免费阅览,零基础也能轻松学AI,适配学生、职场新人及技术爱好者。

© 版权所有 2026 博极客AI,保留一切权利。 | 桂ICP备2026007205号 | 桂公网安备45010502001169号