使用说明

项目简介

MCP Go SDK 是一个使用 Go 语言开发的软件开发工具包 (SDK),旨在帮助开发者快速构建 Model Context Protocol (MCP) 服务器。MCP 服务器充当 LLM 应用的后端,提供标准化的接口来访问外部数据资源、执行工具功能和管理 Prompt 模板,从而增强 LLM 应用的能力。

主要功能点

  • 资源管理: 允许服务器托管和管理各种数据资源,例如文件、数据库查询结果或 API 数据,并以标准化的方式提供给 LLM 客户端访问。
  • 工具注册与执行: 支持注册各种外部功能(工具),例如计算器、搜索引擎或自定义 API 调用,使 LLM 客户端能够通过 MCP 服务器调用这些工具来执行特定任务。
  • Prompt 模板: 提供定义和管理 Prompt 模板的能力,允许开发者预定义 LLM 交互模式,并支持客户端根据需求定制 Prompt。
  • 基于 JSON-RPC 协议: 采用标准 JSON-RPC 协议与 MCP 客户端进行通信,确保不同平台和语言的客户端都能方便地接入。
  • 支持 Stdio 传输: 内置 Stdio 传输协议支持,使得 MCP 服务器可以作为命令行程序运行,并通过标准输入输出与客户端通信。

安装步骤

  1. 确保已安装 Go 语言环境 (Go version >= 1.23)。
  2. 使用 'go get' 命令安装 SDK:
    go get github.com/warm3snow/mcp-go-sdk

服务器配置

MCP 服务器是为 MCP 客户端提供服务的后端应用。客户端需要配置服务器的启动信息才能连接。以下是一个示例配置(JSON 格式),客户端需要根据实际情况进行配置:

{
  "server name": "My MCP Server",  //  自定义服务器名称,用于客户端识别
  "command": "path/to/your/server-executable", // MCP 服务器可执行文件的路径
  "args": []  // 启动服务器的命令行参数,通常为空数组,除非服务器需要额外的启动参数
  // "args": ["--config", "config.yaml"] //  示例:如果服务器需要配置文件,可以添加参数
}
  • 'server name': 为您的 MCP 服务器指定一个易于识别的名称。
  • 'command': 指定启动 MCP 服务器的可执行文件路径。您需要先使用 Go SDK 开发并编译您的 MCP 服务器程序,然后在此处填写编译后的可执行文件路径。
  • 'args': 可选的命令行参数数组。如果您的服务器程序在启动时需要额外的参数(例如配置文件路径),请在此处添加。通常情况下,如果您的服务器按照 Quickstart 示例构建,则可能不需要额外的启动参数,保持空数组即可。

基本使用方法

  1. 创建 MCP 服务器: 使用 Go SDK 提供的 'server.NewMCPServer' 函数创建 MCP 服务器实例,并设置服务器名称和版本。
  2. 注册资源、工具和 Prompt:
    • 使用 's.AddResource' 注册资源,并提供处理资源读取请求的 Handler 函数。
    • 使用 's.AddTool' 注册工具,并提供处理工具调用请求的 Handler 函数。
    • 使用 's.AddPrompt' 注册 Prompt 模板,并提供处理获取 Prompt 请求的 Handler 函数。
  3. 选择传输协议并启动服务器: 使用 'server.ServeStdio(s)' 函数以 Stdio 协议启动服务器。您也可以选择其他传输协议(如 SSE 或 WebSocket),具体请参考 SDK 文档和示例。
  4. 配置 MCP 客户端: 在您的 MCP 客户端应用中,配置连接到您刚启动的 MCP 服务器,配置信息需要包含服务器启动命令 (command) 及其参数 (args)。
  5. 客户端与服务器交互: 客户端可以使用 MCP 协议定义的请求(例如 'resources/read', 'tools/call', 'prompts/get')与服务器进行交互,获取资源、调用工具或获取 Prompt。

信息

分类

开发者工具