MCP 技术科普

1. 什么是 MCP?

1.1. Anthropic 官方解释

英文全称:Model Context Protocol(模型上下文协议)。

MCP 是一种开放式协议,它规范了应用程序向 LLM 提供上下文的方式。

把 MCP 想象成人工智能应用的 USB-C 接口。

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

1.2. AI 大白话解释

想象一下,你有一个非常聪明的机器人,这个机器人可以做很多事情,比如回答问题、分析数据、甚至帮你写文章。

但是,这个机器人需要从不同的地方获取信息,比如书籍、网站、数据库等。

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

MCP 就像是一个通用的插头,让这个聪明的机器人可以方便地连接到各种不同的信息来源。

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

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

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

image

image

1.3. MCP Server 和 Client 是什么?

MCP Server 和 MCP Client 是 Model Context Protocol(MCP)的核心组件。

注意:

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

1.3.1. MCP Client 的核心原则包括

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

image

1.3.2. 实际应用举例

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

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

2. 提供 MCP 服务的网站

3. 支持 MCP 的客户端

image

4. 实战

4.1. 必装 10 个 MCP Server

4.1.1. 搜索增强

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

4.1.2. 数据库

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

4.2. 如何安装 MCP Server

4.2.1. VS Code + Cline

如果用 VS Code + Cline,可以在 MCP Server 市场中搜索并选择安装。

image

4.2.2. VS Code + Roo Code(也适用于 CoolCline)

Roo Code 没有 MCP Server store,需要手动配置 MCP Settings。

image

image

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

image

4.3. Use Case

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

5. 其他资源

5.1. Awesome MCP

大量 MCP 服务和安装地址:appcypher/awesome-mcp-servers

5.2. Anthropic 官网 MCP 文档

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"]
    }
  }
}

5.4. 学习视频

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

5.4.2. AI Jason 课程

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

5.4.3. 五里墩茶社

五里墩茶社的个人空间。

5.4.4. MCP 交流论坛

Reddit r/mcp 社区

5.4.5. 好文章

6. 群友产品分享与自我介绍