mcp-use
使用说明(简明易懂,包含核心要点)
-
项目简介
- mcp-use 是一个面向 MCP 的完整后端生态,覆盖服务器端实现、客户端适配、智能代理(Agent)以及调试工具(Inspector)等,目标是在统一方式下为 LLM 客户端提供资源访问、工具执行以及可定制的 Prompt 渲染能力。
-
主要功能点
- MCP 服务器:托管和管理 Resources(数据资源)、Tools(工具/外部功能)与 Prompts(Prompt 模板),并通过 JSON-RPC 与客户端通信。
- 客户端/连接器:提供多种连接方式(如 stdio、SSE、WebSocket),方便 LLM 客户端通过同一框架访问服务器。
- Agent 集成:内置或可自定义的 AI 代理,可通过工具调用、资源访问和提示渲染来完成复杂任务。
- Inspector 与 UI:提供诊断与调试工具,帮助开发者观察服务器能力、请求/响应流程及流水线状态。
- 服务端会话与安全:内置会话管理、能力声明、可拓展的鉴权、以及对工具访问的控制。
-
安装步骤(Python 版本为例,TypeScript 版本同理)
- Python 客户端/服务端核心库:pip install mcp_use
- TypeScript 客户端/服务器相关包:npm install mcp-use
- 安装后可按仓库示例文档配置并启动 MCP 服务器。
-
服务器配置(MCP 服务器端口/命令示例说明)
- MCP 客户端需要的配置仅用于连接和注册服务器,服务器本身的启动与运行需要在服务器主机上执行命令来启动对应的 MCP 服务器进程。以下为典型的配置字段及含义,供参考(实际使用请按以下描述组织成 JSON 配置并传给客户端;注:JSON 仅用于描述,不作为代码块呈现)。
- 字段与含义:
- serverName: 服务器名称,用于标识不同的 MCP 服务器(如 PrimitiveServer、SimpleServer 等)。
- command: 启动服务器所使用的命令(如 "python")。
- args: 启动命令的参数数组,例如脚本路径和需要的传输模式等。
- env: 启动环境变量(可选)。
- transport: 服务器默认传输类型(例如 streamable-http、stdio、sse 等,依据实现选择)。
- 配置示例(以文本描述形式呈现,非代码块):
- 配置对象包含一个或多个服务器条目,如:
- 名称: "PrimitiveServer"
- 命令: "python"
- 参数: ["servers_for_testing/primitive_server.py", "--transport", "stdio"]
- 说明: 使用 Python 启动一个内置的 PrimitiveServer,传输模式选择 stdio,以便 MCP 客户端通过标准输入输出与服务器通信。
- 备注: 该配置仅用于客户端在本地启动并连接到 MCP 服务器;实际生产环境中请在服务器端以合适的方式暴露端口和传输协议。
- 配置对象包含一个或多个服务器条目,如:
- 注:MCP 客户端需要的配置信息包含服务器名称、启动命令及参数等,用于建立与 MCP 服务器的会话。配置信息的结构应以 JSON 表示,包含 serverName、command、args 等字段。客户端实现会读取该配置并启动相应的服务器进程进行连接。
-
基本使用方法(简要步骤)
-
- 启动 MCP 服务器实例(如 PrimitiveServer、SimpleServer 等),指定传输模式和端口/地址。
-
- 使用 MCP 客户端配置连接到服务器,例如通过 JSON 配置指明服务器名称、启动命令及参数。
-
- 启动客户端会话并调用工具、读取资源、获取 Prompts,或与代理协同工作实现更复杂的任务。
-
- 如需调试,使用内置 Inspector、日志追踪和工具日志输出等。
-
-
服务器配置示例说明(分字段解释,非代码块)
- serverName: PrimitiveServer
- command: python
- args: ["服务器脚本路径/primitive_server.py", "--transport", "stdio"]
- 说明: 通过标准输入/输出的方式与 MCP 客户端通信。可根据需要调整传输协议,例如 streamable-http、sse 等。
-
连接与使用要点
- MCP 服务器提供资源、工具、提示模板等的注册和渲染能力,客户端通过统一入口访问这些能力。
- 支持多服务器并发、可扩展的工具集、以及对话历史/上下文的管理。
- 可与 LangChain 等 LLM 框架配合,构建具备多步推理、工具执行和外部功能调用的应用。