使用说明
项目简介
'mcp-connect' 项目旨在简化基于 Model Context Protocol (MCP) 的系统的开发、调试和部署。它作为一个中心化的服务器,可以连接和管理多个独立的 MCP 服务器,为 LLM 应用提供统一的上下文服务入口。通过 'mcp-connect',开发者可以更方便地集成和管理各种资源与工具,构建功能丰富的 LLM 应用。
主要功能点
- MCP 服务器管理: 集中管理和配置多个外部 MCP 服务器,简化服务器部署和维护。
- API 接口: 提供清晰的 API 接口,允许客户端通过 HTTP 或 Stdio 等协议与 MCP 服务器进行交互。
- 工具和资源集成: 支持注册和调用外部 MCP 服务器提供的工具,集成各种数据资源和功能。
- 会话管理: 服务器端负责会话管理,为客户端提供稳定的上下文服务。
- 可扩展性: 支持多种传输协议,易于扩展和集成到不同的 LLM 应用场景中。
安装步骤
- 克隆仓库
git clone https://github.com/gengyu/mcp-connect.git cd mcp-connect - 进入 backend 目录
cd backend - 安装依赖
npm install - 启动服务器
服务器默认运行在 'http://localhost:3000'。npm start
服务器配置
MCP Connect Server 本身并不直接提供资源或工具,而是作为桥梁管理和连接外部的 MCP 服务器。你需要通过 API 或前端界面配置要连接的 MCP 服务器信息。配置信息包括以下内容 (通过 API 进行配置,以下为配置示例,非直接编辑的配置文件):
{ "name": "我的资源服务器", // MCP 服务器的名称,方便识别和管理 "command": "/path/to/mcp-resource-server", // 启动外部 MCP 服务器的命令,例如:'python' 或 '/path/to/executable' "args": ["--port", "8080"] // 启动命令的参数,例如:指定端口号或其他配置 }
- name: MCP 服务器的自定义名称,用于在管理界面或 API 中识别服务器。
- command: 启动外部 MCP 服务器的可执行命令或脚本的路径。
- args: 传递给启动命令的参数列表,例如端口号、配置文件路径等。
请注意,上述配置是在 MCP Connect Server 中配置外部 MCP 服务器的信息,而不是 MCP Connect Server 自身的配置。MCP 客户端需要配置 MCP Connect Server 的地址(例如 'http://localhost:3000')才能与之通信,并通过它间接访问和调用外部 MCP 服务器的功能。
基本使用方法
- 启动 MCP Connect Server: 按照安装步骤启动后端服务器。
- 配置外部 MCP 服务器: 通过 MCP Connect Server 提供的 API 接口(例如,使用 POST 请求到 '/invoke/config' 相关的端点,具体 API 文档需要参考项目代码或后续文档)添加和配置外部 MCP 服务器。配置信息包括服务器名称、启动命令和参数。
- 使用 MCP 客户端 SDK: 在你的 LLM 客户端应用中,集成 '@mcp-connect/core' 客户端 SDK (位于 'packages/mcp-core' 目录)。
- 配置客户端 SDK: 初始化 'MCPClient' 时,将 'MCP Connect Server' 的地址 (例如 'http://localhost:3000') 配置为 'serverUrl'。
- 调用工具或资源: 使用 'MCPClient' 的 'invokeTool' 方法,通过工具名称和 payload 与外部 MCP 服务器进行交互。MCP Connect Server 将会处理请求,并转发到相应的外部 MCP 服务器,最终将结果返回给客户端应用。
import { MCPClient } from '@mcp-connect/core'; const client = new MCPClient({ config: { serverUrl: 'http://localhost:3000', // MCP Connect Server 的地址 transport: 'http' } }); async function invokeMyTool() { const response = await client.invokeTool({ tool: 'my_external_mcp_tool', // 外部 MCP 服务器提供的工具名称 payload: { input: 'some data' } }); console.log(response); } invokeMyTool();
注意: 'mcp-connect' 本身作为一个 MCP 服务器的管理平台,其核心价值在于连接和管理其他 MCP 服务器,而非直接实现资源、工具或 Prompt 的托管。客户端应用实际上是通过 'mcp-connect' 间接地与被管理的外部 MCP 服务器进行交互。
信息
分类
网页与API