MCP下一代AI标准!原理+开发实战!Cursor、Claude、Cline!

前言

从前段时间非常火的 Manus AI 到最近发布的 OpenAI 智能体,通用性的 AI Agent 已经成为下一代 AI 发展的主流趋势。AI Agent 的发展离不开一项最关键的技术,就是 MCP

那么使用 MCP,都能做些什么呢?


1. MCP 能做什么?

以下是一个基于 MCP Server 自动化操作百度网盘 的示例。只需在 Cursor 配置 MCP Server,使用自然语言,就能够完成百度网盘中文件的上传、下载等功能。
百度网盘演示
接下来是一个 自动生成英伟达股票分析报告 的使用场景。只需要给 Cursor 配置 一个数据抓取的 MCP Server一个操作本地文件的 MCP Server,它就能自动抓取指定的数据,并编写分析报告,自动保存到我们的电脑上。
股票分析演示
我们上面演示的只是 MCP 的一些简单使用场景。通过 MCP,AI 和各类资源可以相互联通,从而使我们能够根据需要,定制化实现自己的专属 AI Agent。


2. MCP 技术介绍

要理解 MCP,我们首先回顾一下以前的 AI 工作方式。比如,我们让 AI 抓取 英伟达近一年的股票数据,并生成一份分析报告。

以前的 AI 可能会告诉我们,无法完成该任务,或者它会使用搜索引擎搜索相关数据,但它 无法把报告自动保存到我们的电脑上,需要手动复制保存。以前的 AI 更像是一个 黑盒子,接收一个问题后输出答案,但其它操作无法自动完成。

MCP 的出现,就是为了解决这个问题!有了 MCP 后,再让 AI 完成相同任务时,它会先通过 数据抓取的 MCP Server 获取指定数据,然后生成报告,最后通过 本地文件的 MCP Server 将报告保存到本地。
MCP自动化
换句话说,以前 AI 无法自动完成的操作,现在可以通过 MCP Server 完成。

MCP 是什么?

MCP 的全称是 Model Context Protocol(模型上下文协议),由 Anthropic 提出,是一个 开放协议。它就像一个 USB 接口,能够将 AI 模型与 网络、本地文件、数据库、GitHub 等资源互联。

MCP 的架构

MCP 采用了 C/S 架构设计,包括 Client(客户端)Server(服务器) 两部分。

  • Client 从 Server 获取 功能列表,了解可用的 MCP Server 服务。
  • 客户端根据功能列表调用对应的服务。

📌 **示例:英伟达股票分析报告的执行流程**
  1. Cursor 配置 MCP Server,包括 数据抓取 Server本地文件操作 Server
  2. MCP Client 查询功能列表,发现可以 抓取数据 firecrawl_scrape
  3. AI 调用 firecrawl_scrape,从指定网页抓取股票数据。
  4. AI 生成分析报告。
  5. MCP Client 发现 write_file 功能,调用 本地文件 Server 将报告保存到电脑。

除了 Cursor,Claude、Cline 等工具也内置了 MCP Client,可以直接配置 MCP Server。
MCP流程
如果 MCP 能够顺利推广,它将成为 统一 AI 生态圈的开放标准


3. MCP Server 开发

如果你想要开发一个属于自己的 MCP Server,以下是详细的开发步骤。我们以实现一个 百度网盘的 MCP Server 为例,来进行详细介绍。

3.1 准备工作

首先,需要安装一些开发工具和依赖,确保开发环境已经准备好。

  1. 安装 uv(Python 环境管理工具)

    1
    pip install uv

    uv 工具可以帮助你创建和管理虚拟环境,保证项目的依赖隔离。

  2. 创建 MCP Server 项目

    使用 uv 创建一个新的 MCP Server 项目。以下命令将创建一个名为 baidu 的项目目录:

    1
    uv new baidu
  3. 安装所需的依赖

    我们需要安装一些用于与百度网盘交互的库,比如 bypy

    1
    pip install bypy

    这些库将帮助你实现与百度网盘的自动化交互。

3.2 开发 MCP Server

以下是开发一个完整的 MCP Server 的流程,包括编写代码、定义工具函数、启动服务器等。

  1. 删除默认文件

    项目创建后,会生成一个默认的 hello.py 文件。你可以删除这个文件,专门编写自己需要的功能代码。

  2. 编写 MCP Server 的代码

    下面是一个简单的百度网盘文件上传和下载功能的实现:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    from typing import Any
    from bypy import ByPy
    from mcp.server.fastmcp import FastMCP

    # 初始化 FastMCP server
    mcp = FastMCP("baidu")

    @mcp.tool()
    async def upload_file(src_file: str):
    """上传文件到百度网盘

    Args:
    src_file: 需要上传的文件路径
    """
    bp = ByPy()
    bp.upload(
    localpath=src_file,
    remotepath=src_file.split("/")[-1]
    )
    return "上传成功"

    @mcp.tool()
    def upload_path(src_path: str):
    """上传文件夹到百度网盘

    Args:
    src_path: 需要上传的文件夹路径
    """
    bp = ByPy()
    bp.syncup(
    src_path,
    src_path.split("/")[-1]
    )
    return "上传成功"

    @mcp.tool()
    async def download_file(src_file: str, target_file: str):
    """下载文件到本地

    Args:
    src_file: 需要下载的文件路径
    target_file: 下载到的文件路径
    """
    bp = ByPy()
    bp.download(
    src_file,
    target_file
    )
    return "下载成功"

    @mcp.tool()
    def download_path(src_path: str, target_path: str):
    """下载文件夹到本地

    Args:
    src_path: 需要下载的文件夹路径
    target_path: 下载到的文件夹路径
    """
    bp = ByPy()
    bp.syncdown(
    src_path,
    target_path
    )
    return "下载成功"

    if __name__ == "__main__":
    # 修改传输方式以适应 Cursor 环境,比如使用 'ws' 传输
    mcp.run(transport='stdio')

    代码说明:

    • 使用 @server.tool 装饰器来定义 upload_filedownload_file 两个函数,分别用于百度网盘的上传和下载操作。
    • 通过 bypy 库来完成与百度网盘的交互。
    • 启动服务器后,MCP Client 可以通过配置调用这些功能。
  3. 获取百度网盘的 Token

    使用 bypy 时,需要进行身份认证。你需要获取 百度网盘的 API Token。执行下面这段代码:

    1
    2
    3
    from bypy import ByPy
    bp = ByPy()
    print(bp.list())

    然后使用输出的网址,获取token:

    • 在浏览器中访问授权链接,复制 Token。
    • 在代码中使用该 Token 完成身份验证。
bypy token

3.3 启动 MCP Server

完成代码编写后,启动 MCP Server:

  1. 获取项目路径

    1
    pwd
  2. 获取 uv 路径

    1
    which uv
  3. 启动 MCP Server

    1
    uv run baidu.py

然后,在 Cursor > 设置 > MCP > 添加 MCP Server 中,输入启动命令,即可使用。
cursor配置MCP

注意命令中的 uv 如果没有设置环境变量的话,需要使用uv的绝对路径, Linux/MacOS 可以执行:

1
which uv

Windows 可以执行:

1
where uv

4. MCP Server 的使用

Cursor 中配置 MCP Server 后,你可以通过自然语言与 AI 进行交互,自动完成文件上传、下载等任务。

📌 示例:AI 自动管理百度网盘文件

  1. 上传文件
    • AI 解析提示词,调用 upload_file
    • 文件成功上传到百度网盘。

效果图:
上传文件

  1. 下载文件
    • AI 解析提示词,调用 download_file
    • 文件成功下载到本地。

效果图:
下载文件


5. 直接使用外部 MCP Server

除了开发自己的 MCP Server,你还可以直接使用其他人开发的 MCP Server。例如,进行 自动化股票分析 时,直接配置 数据抓取 MCP Server本地文件操作 MCP Server,然后自动完成数据抓取、报告生成和保存操作。

配置MCP

除了 cursorClaude、cline 也都内置了 MCP 客户端,可以直接配置 MCP Server。Claude 需要在 json 文件中配置:
Claude配置MCP

clineClaude 一样,也需要在 json 文件中配置:
cline配置MCP


结语

MCP 使 AI 更强大,能够 自动执行复杂任务,并连接各类资源。未来,每个人都可以根据自己的需求,打造属于自己的 AI Agent。

感谢大家的点赞支持,我们下期见!🚀

参考


MCP下一代AI标准!原理+开发实战!Cursor、Claude、Cline!
https://syuanyuan708-github-io.pages.dev/2025/04/04/MCP技术/
作者
陶渊小明
发布于
2025年4月4日
许可协议