文章摘要
MCP-Use是一个开源工具,允许开发者将任何大型语言模型(LLM)连接到MCP服务器,并构建具有工具访问权限的自定义MCP代理,无需使用闭源或应用客户端。它支持快速连接LLM到网页浏览、文件操作等工具,提供TypeScript版本,并可通过官方网站和文档快速上手。
文章总结
MCP-Use:连接LLM与MCP服务器的开源工具
MCP-Use 是一个开源工具,旨在帮助开发者轻松将任何大型语言模型(LLM)与任何MCP服务器连接,并构建具有工具访问权限的自定义MCP代理,而无需依赖闭源或应用程序客户端。
主要功能:
- 易用性:仅需6行代码即可创建支持MCP的代理。
- LLM灵活性:支持任何具备工具调用能力的LLM,如OpenAI、Anthropic、Groq、LLama等。
- 代码生成器:通过交互式代码生成器探索MCP功能并生成启动代码。
- HTTP支持:直接连接到运行在特定HTTP端口上的MCP服务器。
- 动态服务器选择:代理可以从可用池中动态选择最适合的MCP服务器执行任务。
- 多服务器支持:支持在单个代理中同时使用多个MCP服务器。
- 工具限制:可以限制代理访问潜在危险的工具,如文件系统或网络访问。
- 自定义代理:使用LangChain适配器或创建新适配器构建自定义代理。
快速开始:
- 通过pip安装:
pip install mcp-use - 或从源码安装:
bash git clone https://github.com/pietrozullo/mcp-use.git cd mcp-use pip install -e .
安装LangChain提供者:
MCP-Use通过LangChain支持多种LLM提供者。例如:
- 对于OpenAI:pip install langchain-openai
- 对于Anthropic:pip install langchain-anthropic
启动代理:
```python import asyncio from langchainopenai import ChatOpenAI from mcpuse import MCPAgent, MCPClient
async def main(): client = MCPClient.fromconfigfile("browsermcp.json") llm = ChatOpenAI(model="gpt-4o") agent = MCPAgent(llm=llm, client=client, maxsteps=30) result = await agent.run("Find the best restaurant in San Francisco") print(result)
if name == "main": asyncio.run(main()) ```
流式代理输出:
MCP-Use支持通过astream方法异步流式输出代理结果,适用于需要实时更新的应用场景。
示例用例:
- 网页浏览:使用Playwright进行网页搜索。
- Airbnb搜索:查找巴塞罗那的住宿并展示前3个选项。
- Blender 3D创作:创建带有软材质的充气立方体。
多服务器支持:
MCP-Use允许配置和同时连接到多个MCP服务器,支持复杂的多工具工作流。
沙盒执行:
通过E2B的云基础设施,MCP-Use支持在沙盒环境中运行MCP服务器,无需本地安装依赖。
自定义代理:
开发者可以使用LangChain适配器构建自定义代理,灵活扩展功能。
调试:
MCP-Use提供内置调试模式,帮助诊断代理实现中的问题。
贡献:
欢迎开发者提交问题或功能请求,具体贡献指南请参考CONTRIBUTING.md。
许可证:
MIT
引用:
如果在研究或项目中使用MCP-Use,请引用:
bibtex
@software{mcp_use2025,
author = {Zullo, Pietro},
title = {MCP-Use: MCP Library for Python},
year = {2025},
publisher = {GitHub},
url = {https://github.com/pietrozullo/mcp-use}
}
MCP-Use为开发者提供了一个强大且灵活的工具,帮助他们轻松构建和部署基于MCP的智能代理。
评论总结
评论内容总结:
功能与实用性:
- 正面评价:部分用户认为该工具易于使用且功能强大,适合快速开发演示功能。
- 引用:“I have used mcp-use to write some demo functionality and it is very easy to use and works great!”(我使用mcp-use编写了一些演示功能,它非常容易使用且效果很好!)
- 负面评价:有用户认为该工具目前更像一个玩具,无法解决企业级问题,且缺乏安全性和可观察性。
- 引用:“This is basically a toy right now and can’t be used for solving repeatable, valuable problems for actual businesses”(这基本上是一个玩具,无法解决实际企业中的重复性、有价值的问题)
- 正面评价:部分用户认为该工具易于使用且功能强大,适合快速开发演示功能。
技术实现与创新:
- 有用户指出该工具的核心部分只是对Langchain AgentExecutor的封装,缺乏创新性。
- 引用:“the agent is really just a wrapper of Langchain AgentExecutor”(代理实际上只是Langchain AgentExecutor的封装)
- 另有用户提到已有类似项目,且该工具缺乏技术壁垒。
- 引用:“There are tons and tons of existing projects for connecting LLMs to 1000s of MCP servers”(已有大量项目将LLM连接到数千个MCP服务器)
- 有用户指出该工具的核心部分只是对Langchain AgentExecutor的封装,缺乏创新性。
安全性与沙盒环境:
- 用户对沙盒环境的具体实现和跨平台支持表示关注。
- 引用:“How does the sandboxing work? Is it cross platform? Options for filesystem/network?”(沙盒是如何工作的?是否跨平台?文件系统/网络的选项是什么?)
- 有用户建议使用本地和隐私友好的沙盒环境。
- 引用:“If you want to support a local and privacy friendly sandboxed environment for code execution, you may consider something I have built”(如果你想支持本地和隐私友好的沙盒代码执行环境,可以考虑我构建的东西)
- 用户对沙盒环境的具体实现和跨平台支持表示关注。
文档与解释:
- 用户批评该工具缺乏对MCP服务器的解释和用途说明。
- 引用:“no where in either the github link presented nor on his web site, mcp-use.com, does he actually explain what an 'MCP' server is”(在提供的GitHub链接或他的网站mcp-use.com上,他都没有解释什么是“MCP”服务器)
- 用户批评该工具缺乏对MCP服务器的解释和用途说明。
社区与推广:
- 有用户注意到该工具在社区中的推广可能存在问题,认为存在虚假热度。
- 引用:“I see a lot of 1-karma-point HN users hyping this”(我看到很多1-karma-point的HN用户在炒作这个)
- 有用户注意到该工具在社区中的推广可能存在问题,认为存在虚假热度。
总结:该工具在易用性和快速开发方面获得了一些正面评价,但在企业级应用、技术创新、安全性和文档解释方面存在明显不足。用户对其实际价值和推广方式提出了质疑。