MCP 技术科普

1- MCP(模型上下文协议)详解

1.1- 什么是 MCP?

1.1.1- Anthropic 官方解释

英文全称:Model Context Protocol (模型上下文协议)
MCP 是一种开放式协议,它规范了应用程序向 LLM 提供上下文的方式。
把 MCP 想象成人工智能应用的 USB-C 接口。

就像 USB-C 提供了将设备连接到各种外设和配件的标准化方式一样,MCP 也提供了将人工智能模型连接到不同数据源和工具的标准化方式。

1.1.2- AI 大白话解释

想象一下,你有一个非常聪明的机器人,这个机器人可以做很多事情,比如回答问题、分析数据、甚至帮你写文章。但是,这个机器人需要从不同的地方获取信息,比如书籍、网站、数据库等。

问题来了,每个信息来源都有自己的格式和方式,这就像是每个设备都有不同的插头和接口。

MCP 就像是一个通用的插头,让这个聪明的机器人可以方便地连接到各种不同的信息来源。
这样,无论信息来源是什么样的,机器人都能轻松地获取和使用这些信息,就像你用一个 USB-C 接口可以连接各种不同的设备一样。

[!NOTE]
简单来说,MCP 就是一个标准,让不同的应用程序和 AI 模型可以更容易地交流和共享信息,而不需要为每个信息来源单独设计一套复杂的连接方式。

这样,AI 模型就能更高效地工作,提供更好的服务。

image
image

1.1.3- MCP Server 和 Client 是什么?

MCP server 和 MCP client 是 Model Context Protocol(MCP)的核心组件。

[!NOTE]

  1. MCP server 是一个程序,暴露特定的功能或数据源,例如访问文件、数据库或 API,供 AI 模型使用。
  2. MCP client 则是一个程序,代表 AI 模型连接到这些服务器,允许模型请求和接收数据或执行操作。

1.1.3.1- MCP client 的核心原则包括

  • 服务器连接:首先连接到 MCP server,获取可用工具列表。
  • 工具使用:根据用户需求调用服务器提供的功能,确保安全性和用户批准。
    image

1.1.3.2- 实际应用例如

  • 一个 MCP server 可以提供天气信息,MCP client 则帮助 AI 模型通过该服务器获取天气预报,而无需自己处理数据获取逻辑。
  • 另一个例子是,MCP server 可能允许 AI 访问用户电脑上的文件,MCP client 确保连接和权限管理,保护用户数据安全。

MCP 还支持多种传输模型,如 STDIO(标准输入输出)和 SSE(服务器发送事件),适合本地和远程集成,未来可能会有更多传输方式。

1.2- 提供 MCP 服务的网站

1.3- 支持 MCP 的客户端

image|497x286image|497x286

1.4- 实战

1.4.1- 必装 10 个 MCP Server

1.4.1.1- 搜索增强

  1. brave-search(Brave 浏览器提供的 API,绑定信用卡每月 1000 次免费)
  https://github.com/modelcontextprotocol/servers/tree/main/src/brave-search
  1. puppeteer(无头浏览器,模拟真实点击访问)
  https://github.com/modelcontextprotocol/servers/tree/main/src/puppeteer

1.4.1.2- 数据库

  1. SQLite 数据库
  https://github.com/modelcontextprotocol/servers/tree/main/src/sqlite
  1. Supabase 数据库
  https://supabase.com

1.4.2- 如何安装 MCP server

1.4.2.1- VS code + Cline

如果用 VS code + Cline,点击这里可以搜索 MCP server,选择安装。
image

1.4.2.2- VS code + Roo Code (也适用于 CoolCline)

Roo code 没有 mcp server store,需要手动配置 MCP Settings。
image
image

安装方法可以去其他 MCP 应用市场复制查看 Server 配置文件,修改成类似上图中的格式。
imageimage

1.4.3- Use Case

把海螺 AI 的 API 做成 MCP,一句话生成音频。

1.5- 其他资源

1.5.1- Awesome MCP

大量 MCP 服务和安装地址
https://github.com/appcypher/awesome-mcp-servers?tab=readme-ov-file

1.5.2- Anthropic 官网 MCP 文档

For Server Developers - Model Context Protocol
MCP 中文文档

1.5.3- 分享自己的 MCP server 配置

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ],
      "disabled": true,
      "alwaysAllow": []
    },
    "brave-search": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-brave-search"
      ],
      "env": {
        "BRAVE_API_KEY": "你申请的Brave 浏览器的API key"
      },
      "alwaysAllow": [
        "brave_web_search"
      ]
    },
    "apple-notes-mcp": {
      "command": "uvx",
      "args": [
        "apple-notes-mcp"
      ],
      "alwaysAllow": [
        "get-all-notes",
        "read-note"
      ]
    },
    "sequential-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sequential-thinking"
      ],
      "alwaysAllow": [
        "sequentialthinking"
      ]
    },
    "obsidian": {
      "command": "npx",
      "args": [
        "-y",
        "obsidian-mcp",
        "/{你的Obsidian仓库地址}/"
      ],
      "alwaysAllow": [
        "list-available-vaults",
        "search-vault"
      ]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/(你电脑的Username)/"
      ]
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@executeautomation/playwright-mcp-server"]
    }
  }
}

1.5.4- 学习视频

1.5.4.1- 告别手动!MCP 自动化工作流,AI 提效 N 倍:Cline + MCP 保姆级教程

1.5.4.2- AI Jason 课程

这个博主分享了不少 MCP 知识

1.5.4.3- 五里墩茶社

五里墩茶社的个人空间

1.5.4.4- MCP 交流论坛

https://www.reddit.com/r/mcp/

1.5.4.5- 好文章

MCP 终极指南 作者:https://x.com/iguangzhengli/status/1894698067989061983
https://guangzhengli.com/blog/zh/model-context-protocol/

1.6- 群友产品分享 or 自我介绍