乐于分享
好东西不私藏

Day14 实操笔记:MCP — AI 工具的 USB 接口

Day14 实操笔记:MCP — AI 工具的 USB 接口

Day14 实操笔记:MCP — AI 工具的 USB 接口

学 Agent 第十四天。今天学了 MCP,终于把 Day05 留下的那个坑填上了——用 MCP 给 Kiro 接入自定义 RAG。

📦 本文涉及的示例代码,以及全部 20 天的代码,都在文末的 GitHub 仓库里,嫌慢的朋友可以直接跳到文末自取。

先说一个痛点

Day03 学 Function Calling 时,工具是这样定义的:

tools = [{
    "type"
: "function",
    "function"
: {
        "name"
: "search_web",
        "description"
: "搜索网页",
        "parameters"
: {...}
    }
}]

这个工具只能在这个项目里用。如果我想在 LangChain 项目里用,要重写一遍。在 Kiro 里用,又要重写一遍。同一个工具,写了四五遍适配代码。

MCP 解决的就是这个问题。

MCP 是什么

Model Context Protocol,模型上下文协议。一句话:AI 工具领域的 USB 接口

工具开发者实现一次 MCP Server,所有支持 MCP 的客户端(Kiro、Claude Desktop、Cursor 等)都能直接用,不需要重复适配。

写一个 MCP Server

用 FastMCP 写起来和 LangChain 的 @tool 几乎一样:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("agent-learning-notes")

@mcp.tool()

def
 add_note(title: str, content: str) -> str:
    """添加一条学习笔记"""

    notes[title] = content
    return
 f"已保存:{title}"

@mcp.tool()

def
 search_notes(keyword: str) -> str:
    """搜索包含关键词的笔记"""

    ...

mcp.run()  # 启动 Server

@mcp.tool() 从函数签名和 docstring 自动生成工具定义,不需要手写 JSON Schema。

接入 Kiro

在 .kiro/settings/mcp.json 里加一段配置:

{
  "mcpServers"
: {
    "agent-learning-notes"
: {
      "command"
: "python",
      "args"
: ["agent-learning/03-multi-agent/day14/mcp_server.py"],
      "autoApprove"
: ["list_notes", "get_note", "search_notes"]
    }

  }

}

配置好后,Kiro 就能调用 mcp_server.py 里的所有工具了。

autoApprove 里的工具调用时不需要确认,没列的工具(如 delete_note)每次都会弹确认框。原则:只读操作自动批准,写操作和删除需要确认。

填上 Day05 的坑

Day05 学 RAG 时,notes 里写了一个想法:把 RAG 包装成 MCP Server 接入 Kiro。今天可以落地了:

@mcp.tool()
def
 search_knowledge_base(query: str) -> str:
    """从公司内部文档中检索相关内容"""

    results = retrieve(query, chunks, vectors)  # Day05 的检索逻辑
    return
 "\n".join(r["text"] for r in results)

这样问 Kiro “我们项目的热更新方案是什么”,Kiro 会通过 MCP 调用这个工具,检索内部文档,基于文档回答。

MCP vs Function Calling

Function Calling:工具和框架强耦合,不能复用
MCP:工具独立部署,任何客户端都能用

用 Function Calling:工具只在一个项目里用
用 MCP:工具需要在多个 AI 应用里复用

今日总结

MCP 是 AI 工具生态的基础设施。现在主流的 AI 工具(Kiro、Claude Desktop、Cursor)都支持 MCP,社区已经有数百个开源 MCP Server 可以直接用。

学会写 MCP Server,就能把任何系统(数据库、API、文件系统)接入任何 AI 工具,这是 Agent 工程师的核心技能之一。

明天学 Human-in-the-Loop——关键操作让人类确认,让 Agent 更安全。


📦 示例代码仓库
本文及全部 20 天的示例代码均已开源,欢迎自取:
https://github.com/DenseOoFog/push-me-to-learn-agents