Token导航 LogoToken导航TokenDH.com
Go Example logo
AI代理未说明官方级别未说明来源级核验

Go Example

MCP Server

一个基于Go的轻量级JSON-RPC协议服务器,用于语言模型客户端发现和调用外部工具。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
语言模型AI代理GoClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lucasgdb

提供方

lucasgdb

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Hello World-Go中的MCP服务器

引言

此示例演示了如何在Go中使用 mcp-go SDK.MCP是一种基于JSON-RPC的轻量级协议,允许语言模型客户端以结构化的方式发现和调用外部工具。

只需几行Go代码,您就可以:

  1. 使用人类可读的名称和版本定义MCP服务器。
  2. 使用键入的参数和描述声明一个或多个工具(命令)。
  3. 注册在客户端调用工具时执行自定义逻辑的处理程序函数。
  4. 通过标准I/O(stdin/stdout)公开服务器,以便任何与MCP兼容的客户端(如Cursor、Claude Desktop或其他IDE扩展)都可以启动并与之通信,而无需额外设置。

运作原理

  1. 服务器初始化
   mcpServer := server.NewMCPServer(
     "Hello World MCP Server",
     "1.0.0",
     server.WithToolCapabilities(false),
   )

- 创建一个名为“Hello World MCP server”的MCP服务器,版本为1.0.0。 - 禁用自动工具功能公告(因此仅显示您的显式工具)。

  1. 工具定义
   helloWorldTool := mcp.NewTool("hello_world",
     mcp.WithDescription("Greet someone"),
     mcp.WithString("name",
      mcp.Required(),
      mcp.Description("Person’s name"),
     ),
   )

- 定义一个 hello_world 接受单个必需字符串参数的工具 name. - 描述有助于客户端显示使用信息并生成提示。

  1. 处理程序注册
   mcpServer.AddTool(helloWorldTool, func(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) {
     name, ok := req.Params.Arguments["name"].(string)

     if !ok {
      return nil, errors.New("name must be a string")
     }

     return mcp.NewToolResultText(fmt.Sprintf("Hello, %s!", name)), nil
   })

- 合伙人 hello_world 带有Go功能的工具。 - 提取 name 参数,验证它,并返回问候语。 - 错误以JSON-RPC错误的形式显示回客户端。

  1. 服务于Stdio
   if err := server.ServeStdio(mcpServer); err != nil {
    fmt.Printf("Server error: %v\n", err)
   }

- 启动一个事件循环,从stdin读取JSON-RPC请求并将响应写入stdout。 - 允许任何MCP客户端直接启动二进制文件,并通过管道传输MCP。

入门指南

  1. 再进行
   go mod tidy
  1. 构建服务器
   go build -o hello-mcp ./src/main.go
  1. 从MCP客户端连接

- 在客户端的配置中,指向 hello-mcp 可执行。 - 客户端将自动发现 hello_world 工具模式,并允许您调用它。

例子:

   {
     "mcpServers": {
       "demo-go-mcp": {
         "command": "path-to-server/hello-mcp"
       }
     }
   }

或者,使用 我的MCP客户端是用Go编写的

根据需要添加其他工具、参数和传输(例如HTTP/SSE),享受构建更复杂工作流程的乐趣!

目录标签

目录标签

语言模型AI代理GoClaudeJSON-RPC本地部署工具调用Go开发

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP