使用说明
项目简介
本项目提供了一个基于Go语言实现的最小化 Model Context Protocol (MCP) 服务器示例。它旨在演示如何构建一个能够响应 MCP 客户端请求,并执行工具的服务器。本示例包含一个简单的 'curl' 工具,用于获取网页内容,并可与 'langchaingo-mcp-adapter' 客户端适配器配合使用,实现 LangChainGo 与 MCP 服务器的集成。
主要功能点
- 最小化MCP服务器实现: 提供了一个可运行的 MCP 服务器框架,实现了 MCP 协议的基本交互流程。
- 工具注册与执行: 示例服务器注册了一个名为 'use_curl' 的工具,该工具能够通过 'curl' 命令获取指定 URL 的网页内容。
- 标准 StdIO 传输: 服务器和客户端通过标准的 StdIO 进行通信,简化了部署和测试过程。
- LangChainGo 集成示例: 配合 'langchaingo-mcp-adapter' 客户端适配器,展示了如何将 MCP 服务器提供的工具集成到 LangChainGo 智能体中。
安装步骤
- 安装 Go 环境: 确保您的系统已安装 Go 语言环境 (Go 1.23 或更高版本)。
- 克隆仓库: 从 GitHub 克隆 'langchaingo-mcp-adapter' 仓库到本地。
git clone https://github.com/i2y/langchaingo-mcp-adapter cd langchaingo-mcp-adapter/example/server - 构建服务器: 在 'example/server' 目录下,使用 'go build' 命令编译服务器代码。
这将在当前目录下生成名为 'mcp-curl' 的可执行文件。go build main.go -o mcp-curl
服务器配置
MCP 客户端(例如 'langchaingo-mcp-adapter')需要配置以下信息以连接到此 MCP 服务器。配置信息通常以 JSON 格式提供,例如在客户端代码中指定。
{ "server name": "mcp-curl", // 服务器名称,可自定义 "command": "./mcp-curl", // 启动服务器的命令,这里假设 mcp-curl 可执行文件在当前目录 "args": [] // 启动命令参数,本示例服务器无需额外参数,因此为空数组 }
配置参数说明:
- 'server name': 服务器的名称,用于标识和管理不同的 MCP 服务器连接。
- 'command': 启动 MCP 服务器可执行文件的命令。需要根据 'mcp-curl' 可执行文件的实际路径进行配置。如果 'mcp-curl' 在 PATH 环境变量包含的目录下,则可以直接使用 'mcp-curl'。否则,需要使用相对路径 (如 './mcp-curl') 或绝对路径。
- 'args': 启动服务器时需要传递的命令行参数。本示例服务器不需要额外的参数,所以配置为空数组 '[]'。如果服务器需要额外的配置参数(例如端口号、配置文件路径等),则可以在此数组中添加相应的参数。
基本使用方法
-
启动服务器: 在 'example/server' 目录下,运行编译生成的可执行文件 'mcp-curl'。
./mcp-curl服务器启动后,将监听 StdIO,等待 MCP 客户端连接和请求。
-
配置客户端: 在 MCP 客户端 (例如使用了 'langchaingo-mcp-adapter' 的 LangChainGo 智能体) 中,配置服务器连接信息,指定服务器的启动命令为 './mcp-curl' (或实际路径) 以及其他必要的连接参数。 具体配置方法请参考 'langchaingo-mcp-adapter' 的使用说明和示例代码 ('example/agent' 目录)。
-
客户端与服务器交互: 客户端启动后,将自动与 MCP 服务器建立连接,并可以向服务器发送 MCP 请求,例如列出可用工具、调用工具等。服务器将根据请求执行相应的操作,并将结果返回给客户端。在本示例中,客户端可以调用 'use_curl' 工具,向服务器请求获取指定 URL 的网页内容。
信息
分类
开发者工具