使用说明
项目简介
Hello MCP Go Server 是一个使用 Go 语言编写的 MCP (Model Context Protocol) 服务器示例。它演示了如何使用 'mcp-golang' 库构建符合 MCP 协议的服务端应用,为 LLM 客户端提供资源访问、工具调用和 Prompt 模板渲染等功能。
主要功能点
- 工具 (Tools) 注册与执行: 服务器注册了两个简单的工具:
- 'hello': 接收调用者名称,返回问候语。
- 'calculate': 接收两个数字,返回它们的和。
- Prompt 模板 (Prompts) 定义: 服务器注册了一个名为 'promt_test' 的 Prompt 模板,可以根据输入的标题生成包含问候语的用户角色消息。
- 资源 (Resources) 托管: 服务器注册了一个名为 'resource_test' 的资源,URI 为 'test://resource',内容为简单的 JSON 文本。
- 基于 Stdio 的传输协议: 使用标准输入/输出 (Stdio) 作为 MCP 服务器与客户端之间的通信通道。
- JSON-RPC 协议: 遵循 MCP 协议规范,使用 JSON-RPC 格式进行请求和响应的交互。
安装步骤
-
克隆仓库:
git clone https://github.com/softchris/hello-mcp-go.git cd hello-mcp-go -
安装依赖:
go mod tidy -
构建项目:
go build main.go构建成功后,会在当前目录下生成可执行文件 'main' (或 'main.exe' 在 Windows 下)。
服务器配置
MCP 客户端需要配置连接到此 MCP 服务器的命令。以下是一个 'mcp.json' 配置示例,适用于 Copilot Agent 等 MCP 客户端。请注意将 'command' 字段的值替换为 'main' 可执行文件的绝对路径。
{ "servers": [ { "name": "hello-mcp-go", "command": "/path/to/your/hello-mcp-go/main", "args": [] } ] }
配置参数说明:
- 'name': 服务器名称,可以自定义,用于在客户端中标识该服务器。
- 'command': 必填。MCP 服务器可执行文件的绝对路径。请根据你的实际路径进行修改。例如,如果你的 'hello-mcp-go' 仓库在 '/home/user/repos/hello-mcp-go' 目录下,且构建后的可执行文件为 'main',则应配置为 '/home/user/repos/hello-mcp-go/main'。
- 'args': 启动服务器时需要传递的命令行参数,本项目示例中不需要额外的参数,因此为空数组 '[]'。
基本使用方法
-
启动服务器: 在终端中,导航到项目根目录,运行以下命令启动 MCP 服务器:
./main或
go run main.go服务器启动后,会输出 "Server started, waiting for requests...",表示服务器已准备好接收客户端请求。
-
配置 MCP 客户端并连接: 根据你的 MCP 客户端 (例如 GitHub Copilot Agent) 的文档,配置 'mcp.json' 文件,指定服务器的 'command' 和其他必要信息。确保 'command' 配置正确指向已构建的 'main' 可执行文件。
-
在 MCP 客户端中测试工具和 Prompt: 连接成功后,你可以在 MCP 客户端中尝试调用已注册的工具和 Prompt。例如,在 Copilot Agent 中,你可以输入类似于 "calculate 2 and 4" 的指令来测试 'calculate' 工具,或尝试使用配置的 Prompt 模板进行交互。
注意: 本示例服务器使用 Stdio 作为传输协议,客户端和服务器通过标准输入输出进行通信。确保你的 MCP 客户端支持 Stdio 协议。
信息
分类
开发者工具