AI在线 AI在线

那么多的MCP server,如何构建自己的MCP client?

现在,每个人都痴迷于大模型的能力,从GPT-5的谣言, 到Claude 3 性能, 以及Gemini的多模态演示。 但事实是,模型并不是人工智能的全部,但Agent可能是。 Agent的定义可能不是它们知道什么,而是由它们能做什么来定义。

现在,每个人都痴迷于大模型的能力,从GPT-5的谣言, 到Claude 3 性能, 以及Gemini的多模态演示。但事实是,模型并不是人工智能的全部,但Agent可能是。Agent的定义可能不是它们知道什么,而是由它们能做什么来定义。

要在这个世界上行动,Agent需要工具。为了明智地使用工具,它需要结构。为了在模型、团队、设备和领域之间扩展这个结构,它需要一个协议。那就是 MCP(Model Context Protocol) 。

MCP发展迅猛,MCP server 如雨后春笋。那么多的MCP server,如何构建一个自己的MCP client呢?

MCP-Use是一个看似简单的 Python 库,它使用开放的MCP将任何 LLM 连接到任何外部工具。本文尝试探讨 MCP-Use 的工作原理、解决的问题以及如何构建能够思考和行动的Agent,并给出了一些真实的例子。如果想要赋予LLM 与真实世界的交互能力,MCP-Use或许是一种灵活的方法。

1.MCP-Use解决的问题

现在每一个主要的 LLM API(OpenAI、 Anthropic、 DeepSeek等)都为我们提供了精彩的文本生成。但是,根据这些知识采取行动仍然是有限的。我们经常被困在构建定制的集成、与 api 作斗争或依赖于特定于供应商的平台,如 ChatGPT 插件、 Cursor IDE 或 Claude Desktop。这就是模型上下文协议 (MCP) 的用武之地。

受语言服务器协议 (Language Server Protocol,LSP) 的启发,MCP 旨在让 LLM 以标准化的、有状态的方式发现和调用外部工具。工具通过服务器公开,每个服务器声明它可以做什么 (函数、参数、返回类型)。它是开放的、与模型无关的、可扩展的,一个用于AI工具的罗赛塔石碑(有幸今年在大英博物馆看到了它)。

但 MCP 本身只是一个协议。要使用它,需要一种将模型连接到工具服务器的方法。这正是 MCP-Use 所做的,可能需要 6 行 Python 代码就能用工具启动一个功能齐全的 AI Agent。

2.MCP-Use 的作用

MCP-Use 是一个用作 MCP 客户端的 Python 库,它将任何 LLM(通过 LangChain)连接到各种 MCP 服务器(如浏览器、文件系统、API、3D 渲染器等),使 Agent 能够智能地动态使用这些工具。具体来说,MCP-Use 首先从服务器中发现可用的工具,并将其转换为 LLM 可调用的函数。然后,它通过 HTTP 或本地 I/O 处理所有 JSON-RPC 消息传递,确保高效的数据交换。

此外,MCP-Use 还管理会话、工具调用、响应和内存,提供了一个干净的抽象层,使得开发者无需担心底层协议的具体实现细节,从而能够专注于构建优秀的 Agent。这一抽象不仅简化了开发流程,还提高了代码的可维护性和灵活性。

MCP-Use 的核心理念可以概括为:Agent + Tools + Any LLM。这是一种轻量级的开源方法,允许开发者构建能够使用工具的 Agent,而不会被锁定在单一平台或插件生态系统中。通过 MCP-Use,开发者可以在不同的环境和工具之间自由切换,充分利用各种资源,同时保持系统的高度灵活性和扩展性。

3. MCP-Use 的架构

MCP-Use 位于AI系统的中间,解释工具模式、路由调用,并允许模型使用诸如本机功能之类的工具。

复制

MCP-Use 是一个围绕两个关键组件构建的模块化架构: MCPClient 和 MCPAgent。一个管理工具连接,另一个管理Agent智能。二者一起让LLM 驱动的Agent查找、调用和协调工具,所有这些都通过MCP完成。

3.1. MCPClient: 通往工具的桥梁

MCPClient是与外部世界的连接器。当在 JSON 配置中定义工具时 (例如浏览器,文件服务器,API 包装器) ,MCPClient启动 MCP 服务器 (本地通过 CLI ,或通过 HTTP/SSE 远程连接),读取这些服务器公开的工具定义 (例如,search_web、read_file、render_scene),维护与每个服务器的活动会话,处理消息传递 (JSON-RPC 2.0)、错误处理、重试和超时。

基本上,MCPClient 确保每个工具都是可用的、可理解的和可调用的,无论它在哪里运行。

3.2. MCPAgent: 思考层

MCPAgent 位于所选择的 LLM 和工具之间,它将每个工具转换为 LLM 可以 “看到” 和使用的函数 (就像 OpenAI 的函数调用),维护会话内存 (可选) ,跟踪 LLM 所说的和所做的,处理决策循环。

LLM 被问到一个问题,MCPAgent 会思考应该调用一个工具 ,例如search_web(query="MCP-Use Python")。MCPAgent 通过 MCPClient 运行该工具,并将结果返回给 LLM。循环继续,直到生成最终答案。MCP-Use 包装了所有这些代码。只需要传入模型和配置,然后调用 agent.run (“your query”)。

完整流程如下:

复制

MCPClient处理连接性和功能发现,MCPAgent处理 LLM 智能和工具使用编排。我们可以一次连接多个 MCP 服务器,Agent将根据需要智能地处理它们。

4. MCP-Use应用入门

假设构建一个基于 LLM 的助手,它可以浏览 web 或与本地文件交互,而无需编写大量的样板文件或安装庞大的框架。对于 MCP-Use而言,这只需要 6 行 Python 代码。

4.1 环境准备

确保使用的是 Python 3.11 + 。 安装MCP-Use和 LLM 工匠 ,这里使用 OpenAI) :

复制

如果计划运行诸如浏览器自动化之类的工具,那么还需要 Node.js (用于通过 npx 启动@playwright/mcp 工具)。

4.2 创建工具配置文件

将其保存为 mcp-config.json:

复制

这定义了一个 MCP 服务器,一个使用 Playwright 的浏览器工具。

4.3 添加 API 密钥

在同一个文件夹中创建.env 文件:

复制

然后,在 Python 中使用 dotenv 加载它:

复制

4.4 编写Agent (仅6 行代理)

复制

运行此脚本时,它启动浏览器 MCP 服务器,LLM 选择调用 search_web 或 click_link等,调用该工具并返回结果,我们将得到最终的答复。LLM 决定调用什么工具并动态地使用它。

5. 使用 mcp 的生态系统

MCP-Use 并不仅仅是一个对某个模型或框架的简单封装工具,它通过 MCP 协议的强大能力,在 LLM 与各类外部工具之间构建起一个真正开放的接口。这意味着你将拥有前所未有的自由度,可以根据需求灵活构建和扩展应用。

借助 MCP-Use,任何支持函数调用的基于对话的 LLM 都可以轻松集成。这涵盖了当前绝大多数前沿的主流大模型。以下是一些兼容模型的部分示例列表:

复制

这些大模型都支持 function call(函数调用) 功能,当需要调用外部工具时,它们会输出结构化的 JSON 数据,而不是普通的文本。这正是使用 MCP 所需的全部能力。

MCP-Use 利用 LangChain 的聊天模型接口,将不同模型统一接入,使得在不重写业务逻辑的前提下,即可轻松切换模型提供商。同时,MCP-Use 可以连接到任何将自身暴露为 MCP 服务器的工具——社区已经开发出许多功能强大的 MCP 工具,进一步拓展了其应用边界。

MCP-Use 会自动读取可用的 MCP 服务器列表,并将其以自然的方式呈现给模型。Agent 可以像调用本地函数一样使用这些工具,而无需编写任何额外代码,极大地提升了开发效率与工具复用性。

6. 应用示例

在 MCP-Use 架构中,模型与工具是完全解耦的,这意味着你可以根据需要自由组合不同的模型和工具,打造灵活、可扩展的 Agent 系统。

6.1 使用 Claude 3 启动浏览器并执行文件访问

只需配置一个 JSON 文件,即可轻松连接多个 MCP 工具服务器。例如:

复制

随后,在 Python 中初始化一个支持这些工具的 Agent 非常简单:

复制

这段代码将启动一个基于 Claude 的 Agent,并让它通过 MCP 协议调用浏览器和文件系统工具完成任务。

6.2 使用本地 LLaMA 及 API 封装工具

假设你正在使用运行在 Ollama 上的本地 LLaMA 3 模型,并希望接入一个封装了内部 CRM API 的 Python MCP 服务器。借助 MCP-Use,你可以在这两个本地服务之间无缝协作,即使在没有互联网连接的情况下,也能完整运行 Agent 逻辑。

这体现了 MCP-Use 的一大优势:工具的使用与模型无关。你不仅可以在本地部署工具,也可以通过 HTTP 或 WebSocket 连接到远程 MCP 服务器,从而实现更多高级架构设计:

  • 在云端托管长期运行的工具(如持续爬取数据的服务器)
  • 拆分计算负载:本地运行模型,远程调用工具
  • 构建多用户系统,共享对集中式工具的访问权限

你只需更改配置文件即可切换到远程服务:

复制

MCP-Use 会自动处理底层连接类型,只要该服务实现了 MCP 协议,Agent 就可以透明地使用它。

6.3 动态禁用特定工具

为了提升安全性,你可以在运行时或配置中动态禁用某些工具,防止意外误用。例如,你可以禁止执行 shell 命令,仅允许读取文件而不允许写入,从而构建一个只读的安全沙箱环境。

在创建 Agent 时,只需传入一个不允许使用的工具列表即可:

复制

这种机制让你能够根据不同场景灵活控制 Agent 的行为边界,确保其在受控环境中安全运行。

通过以上方式,MCP-Use 提供了一种强大而灵活的方式来集成模型与工具,帮助开发者构建真正开放、可扩展、安全可控的智能 Agent 系统。

7.MCP-USE 与其他开发框架的对比

当前的人工智能工具生态系统,如LangChain、OpenAI插件、HuggingFace Agents等,虽然在扩展语言模型(LLM)的能力方面取得了显著进展,但普遍存在工具使用碎片化的问题。每个模型和框架都有其独特的工具处理方式,导致重复开发和平台锁定问题。

MCP-USE作为一种新兴的解决方案,通过外部化工具定义,实现了与代码解耦,支持任何LLM(包括Claude、GPT、LLaMA等),并且不受限于特定的API规范或托管要求。此外,MCP-USE允许工具维护状态,并提供了比OpenAPI更简单通用的协议。相比其他框架,MCP-USE不仅提高了工具的可重用性和灵活性,还支持实时结构化工具调用,使得多个Agent可以共享同一工具,无需重复编写代码。

MCP-USE 与其他框架的对比如下:

特性/框架

MCP-USE

LangChain

OpenAI 插件

AutoGPT/CrewAI/BabyAGI

工具解耦

是,工具与代码分离

否,工具与逻辑紧密耦合

否,依赖于OpenAPI

否,通常为Python代码

支持的LLM

多种(Claude, GPT, LLAMA等)

主要支持与其集成的模型

仅限GPT系列

取决于框架实现

API标准

简单通用协议

自定义包装器

OpenAPI 3.0

自定义脚本

工具状态管理

支持

不直接支持

不支持

不支持

跨平台兼容性

高度兼容

依赖于具体实现

仅限OpenAI平台

有限

工具复用性

高,可跨不同Agent共享

较低,需重新定义

低,受限于平台

低,需自定义

实时调用能力

支持

需调试ReAct循环

支持

通常不支持

此表格展示了MCP-USE相对于LangChain、OpenAI插件以及AutoGPT/CrewAI/BabyAGI等框架的主要优势,特别是在工具解耦、支持多种LLM、简单的API标准以及工具状态管理和跨平台兼容性等方面。

8. 小结

如果说 OpenAI 插件像是浏览器中的扩展程序——在特定环境中实用但受限,那么 MCP 就像是开放的 Web 本身,带来了无限的连接与组合可能。插件虽有价值,却难以摆脱平台锁定和接口限制,而 MCP 所代表的,是一种真正去中心化、跨平台、可互操作的工具使用协议。

MCP-Use 可能是打开这扇大门的钥匙。它不是一个将我们困于某一个生态的封闭框架,而是一个让开发者自由构建、连接和扩展的开放平台。它与大模型解耦,也不依赖特定平台,只是赋予 LLM 真正“使用工具”的能力。

未来,我们或许会看到一个由 MCP 驱动的新生态:在这里,任何模型都可以安全、智能地调用任何工具,开发者无需重复造轮子,Agent 之间可以共享能力,形成一个真正互联互通的智能系统。

相关资讯

Manus平替方案:用DeepSeek+MCP Server构建AI自主工作流

前言在AI技术日新月异的今天,我们正见证着LLM(大语言模型)从"能说会道"向"能工巧匠"的进化。 当Anthropic推出Model Context Protocol(MCP)时,它像一道闪电划破夜空——这个被称作AI界的USB-C的协议,正在重新定义人机协作的边界。 作为一个沉迷于技术探索的开发者,我始终在寻找让AI真正"落地"的方法。
4/16/2025 3:22:51 PM
后端小肥肠

AI秒变PPT大师!Office-PowerPoint-MCP-Server上线,自动生成专业报告,效率翻倍!

近日,Office-PowerPoint-MCP-Server 成为社区热议的焦点,这款基于 Model Context Protocol(MCP)的开源工具通过 AI 助力用户快速创建和编辑 PowerPoint 演示文稿,为企业报告生成和数据可视化提供了全新解决方案。 AIbase编辑部整理了最新动态,带您深入了解这一工具的强大功能与应用前景。 Office-PowerPoint-MCP-Server:AI驱动的PPT自动化神器Office-PowerPoint-MCP-Server 是一款利用 python-pptx 库开发的 MCP 服务器,旨在通过自然语言指令或代码调用实现 PowerPoint 演示文稿的自动化创建与编辑。
6/19/2025 3:01:18 PM
AI在线

让你的服务变成MCP Server?FastAPI MCP 指南

在当今AI世界中,应用程序和大模型之间的无缝集成至关重要。 模型上下文协议 (MCP) 通过允许 AI 模型访问外部工具和数据源来弥合这一差距。 FastAPI MCP 可以用最少的配置将现有的 FastAPI 端点转换为与 MCP 兼容的工具。
7/31/2025 9:02:21 AM
曹洪伟
  • 1