1. MCP 介绍

1.1. 什么是 MCP?

MCP(Model Context Protocol) 是一种协议,用于连接 大模型(LLM)与外部工具/数据源,让模型可以访问外部数据、执行命令、调用 API,从而大大扩展模型的能力。

  • MCP 的核心思想:让模型不仅能生成文本,还能“做事情”
  • MCP 的使用场景:
    • 调用外部 API(GitHub、数据库、天气等)
    • 访问本地或远程文件系统
    • 执行计算或代码生成
    • 和大模型结合做智能问答或任务自动化

简单来说,MCP 就是 AI 大模型的标准化工具箱。它让大模型可以利用这些工具与外界互动,获取信息并完成具体任务

在我们的日常工作和学习中,我们经常需要与浏览器、文件、数据库、代码仓库等外部工具打交道。传统方式下,我们通常需要手动截图、复制文本,然后再粘贴到 AI 窗口中进行对话。而 MCP 则通过标准化协议自动化了这一流程

MCP 服务作为 AI 与外部工具的中间层,能够代替人类访问并操作外部工具。每个 MCP Server 都专注于一类任务,例如:

  • 有的负责读写浏览器
  • 有的负责读写本地文件
  • 有的负责操作 Git 仓库

通常,MCP Server 就是一段运行在本地的 Node.js 或 Python 程序。大模型通过 stdio(标准输入/输出通道) 调用某个 MCP Server,而 MCP Server 则通过自身的功能或调用 API 请求访问外部工具 来完成任务。

1.2. 什么是 Function call

看到这里,大家可能会觉得 MCP 的概念和 Function Call 很相似——都是让大模型调用外部功能、执行任务。但其实二者有一些本质区别。下面,我们先来了解什么是 Function Call。

在大模型(LLM)和 AI 开发里,Function Call 指的是:

大模型在生成文本的过程中,直接调用一个预定义的函数或 API,而不是单纯输出文字。

特点:

  1. 模型生成触发调用:模型在理解用户意图后,输出一个 JSON 格式的函数调用请求,而不是直接生成自然语言
  2. 预定义接口:需要开发者提前定义好函数的名称、参数和返回类型
  3. 结果返回模型:函数执行后,返回结果可以再被模型进一步处理

示例:

{
  "function_call": {
    "name": "get_weather",
    "arguments": {
      "city": "Beijing"
    }
  }
}

模型输出这个内容,背后就是在告诉系统“帮我执行 get_weather(city="Beijing")”。

1.3. MCP 与 Function call 区别

特性

Function Call

MCP

调用对象

单个函数或 API

MCP Server(工具服务)

范围

小、具体

大、复杂任务或工具集

协议

模型生成 JSON 调用

标准化协议(MCP)

使用场景

需要执行单一功能或查询数据

需要访问浏览器、文件、数据库、仓库等外部资源

可以理解为:

  • Function Call = 调用一个具体函数
  • MCP = 调用一个功能完整的“工具箱”

MCP Server 内部可能有多个 function call,可以组合完成复杂任务。

1.4. MCP 的结构

通常一个 MCP Server 包含以下部分:

部分

说明

command

启动 MCP Server 的命令,例如 npx

args

启动参数,例如 @modelcontextprotocol/server-github

env

环境变量,例如 GitHub Token、API Key

工具集

MCP Server 提供的功能集合(如搜索仓库、读取 issue 等)

2. 支持 MCP 协议的客户端

Cursor

Cline

windSurf

Claude App

3. VsCode 如何使用 MCP

首先安装 Cline 插件

点击蓝色的按钮

然后点击右上角的设置进行配置

然后再添加 mcp 服务就好了,看见有绿色的开启效果,就是成功了

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "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"
      }
    }
  }
}

4. Cursor 使用 MCP

点击 Cursor 的设置 -> MCP -> New MCP Server,就会出现一个 JSON 文件,然后把 MCP Server 复制到这里,比如:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/limingfei/Downloads"
      ]
    }
  }
}

然后再点击 MCP,就会看到这个绿色的,就证明成功了(注意 "/Users/limingfei/Downloads" 是文件路径,一定要是一个正确的路径,否则 MCP Server 会启动不起来)

在聊天窗口选择 Agent

然后可以询问它文件夹里面都有什么,或者创建文件夹,整理文件夹等。

5. Chrome developer MCP

Chrome Developer MCP 是基于 MCP(Model Context Protocol) 标准的一个服务器,它把 Chrome DevTools 协议 封装成 MCP 工具,让大模型可以像开发者一样,直接通过 MCP 调用浏览器的调试接口。

换句话说:

  • 以前你需要自己打开浏览器 DevTools(F12),查看 DOM、Console、Network、Storage…
  • 现在,MCP server 运行后,大模型就能通过 MCP 与 Chrome 浏览器进行交互,比如:
    • 获取页面的 DOM 树
    • 执行 JS 脚本
    • 抓取网络请求
    • 分析控制台报错
    • 截图/调试页面

developer.chrome官网

chrome-devtools-mcp的git

来到 git 页,把下面的代码粘到 MCP Server 里面

如果因为网络原因报错了,可以使用 npm 下载,然后使用我这段 MCP Server

npm install -g chrome-devtools-mcp@latest
"chrome-devtools": {
  "disabled": false,
  "timeout": 60,
  "type": "stdio",
  "command": "chrome-devtools-mcp",
  "args": [
    "D:/chromeDevtools"
  ]
}

如需检查其是否正常运行,请在编码代理中运行以下提示:

Please check the LCP of web.dev.

如果可以正确的输出分析报告代表成功了

6. MCP 工具大全

https://smithery.ai/

https://github.com/modelcontextprotocol/servers

Logo

更多推荐