使用说明

项目简介

Golang MCP Server SDK 是一个使用 Go 语言开发的 SDK,用于快速构建符合 Model Context Protocol (MCP) 规范的服务器。MCP 是一种标准协议,旨在为大型语言模型 (LLM) 应用提供结构化的上下文数据和功能调用能力。该 SDK 简化了 MCP 服务器的开发过程,使开发者能够专注于定义资源、工具和 Prompt 模板,而无需深入了解底层的协议细节。

主要功能点

  • 资源 (Resources) 管理: 支持定义和管理各种数据资源,并以标准化的方式暴露给 LLM 客户端进行访问。
  • 工具 (Tools) 注册与执行: 允许注册可被 LLM 调用的外部功能(工具),扩展 LLM 的能力边界。
  • Prompt 模板 (Prompts) 定义: 支持创建和管理 Prompt 模板,实现可定制化的 LLM 交互模式。
  • 多传输协议支持: 内置对 Stdio 和 HTTP (SSE) 传输协议的支持,满足不同应用场景的需求。
  • 易用性: 提供 Builder 模式的 API,简化服务器配置和构建流程。
  • 清晰的架构: 遵循 Clean Architecture 设计原则,代码结构清晰,易于扩展和维护。

安装步骤

  1. 确保已安装 Go 语言环境。

  2. 使用 'go get' 命令安装 SDK:

    go get github.com/FreePeak/golang-mcp-server-sdk

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令和参数才能建立连接。以下是针对不同示例服务器的配置信息,以 JSON 格式提供:

1. Echo SSE Server (HTTP/SSE 模式)

适用于通过 HTTP SSE 协议与 MCP 客户端通信的场景。

{
  "server name": "Echo SSE Server",
  "command": "/path/to/echo-sse-server",  // 请替换为编译后的 echo-sse-server 可执行文件的路径
  "args": []
}

参数说明: - 'server name': 服务器的名称,可以自定义。 - 'command': 必须配置。指向编译后的 'echo-sse-server' 可执行文件的绝对路径。 - 'args': 启动参数列表,此示例无需额外参数。

2. Echo Stdio Server (Stdio 模式)

适用于通过标准输入输出 (stdio) 协议与 MCP 客户端通信的场景,例如命令行工具集成。

{
  "server name": "Echo Stdio Server",
  "command": "/path/to/echo-stdio-server",  // 请替换为编译后的 echo-stdio-server 可执行文件的路径
  "args": []
}

参数说明: - 'server name': 服务器的名称,可以自定义。 - 'command': 必须配置。指向编译后的 'echo-stdio-server' 可执行文件的绝对路径。 - 'args': 启动参数列表,此示例无需额外参数。

3. Multi-Protocol Server (HTTP/SSE 和 Stdio 双模式)

同时支持 HTTP SSE 和 Stdio 协议,可以根据客户端需求选择合适的通信方式。

HTTP/SSE 模式配置:

{
  "server name": "Multi-Protocol MCP Server (HTTP)",
  "command": "/path/to/multi-protocol-server", // 请替换为编译后的 multi-protocol-server 可执行文件的路径
  "args": ["--mode", "http"]
}

参数说明: - 'server name': 服务器的名称,可以自定义。 - 'command': 必须配置。指向编译后的 'multi-protocol-server' 可执行文件的绝对路径。 - 'args': 必须配置。'"--mode"' 参数指定服务器以 HTTP 模式启动。

Stdio 模式配置:

{
  "server name": "Multi-Protocol MCP Server (Stdio)",
  "command": "/path/to/multi-protocol-server", // 请替换为编译后的 multi-protocol-server 可执行文件的路径
  "args": ["--mode", "stdio"]
}

参数说明: - 'server name': 服务器的名称,可以自定义。 - 'command': 必须配置。指向编译后的 'multi-protocol-server' 可执行文件的绝对路径。 - 'args': 必须配置。'"--mode"' 参数指定服务器以 Stdio 模式启动。

基本使用方法

  1. 编译示例服务器: 在 'cmd' 目录下选择你需要的示例服务器(例如 'echo-sse-server'),使用 'go build' 命令编译生成可执行文件。
  2. 配置 MCP 客户端: 在你的 MCP 客户端(例如 Cursor 编辑器)中,根据上述服务器配置信息,填写服务器启动命令 (command) 和参数 (args)。
  3. 连接与交互: 启动 MCP 客户端,客户端将自动连接到你配置的 MCP 服务器。之后,你就可以利用客户端的功能,例如在 Cursor 中使用 '@工具名' 调用服务器提供的工具,或使用 '@资源URI' 访问服务器提供的资源。

注意:

  • 请务必将配置中的 '/path/to/...' 替换为实际的可执行文件路径。
  • 你可以根据需要修改示例服务器代码,添加自定义的资源、工具和 Prompt,并重新编译部署。
  • 更多高级用法和 API 细节,请参考仓库的 README 文档和代码示例。

信息

分类

开发者工具