菜单

快速入门

相关源文件

本指南快速介绍了如何使用 Go SDK 构建 MCP 服务器和客户端。它涵盖了基本安装、使用简单工具创建第一个服务器、连接客户端以及理解核心工作流程。有关特定 MCP 功能的详细信息,请参阅资源提示工具。有关高级服务器配置和功能,请参阅MCP 服务器

安装

使用标准 Go 模块系统安装 MCP Go SDK

来源:README.md107-111

你的第一个服务器

最简单的入门方法是创建一个带有一个工具的基本 MCP 服务器。这是一个完整的示例

基本服务器流程

本示例演示了使用代码库中的关键类型和函数创建服务器的核心模式。

来源:README.md22-67 examples/everything/main.go64-72

你的第一个客户端

创建客户端连接到你的服务器非常简单

客户端-服务器通信流程

来源:基于高级图表和客户端模式的传输架构

核心概念概述

MCP Go SDK 围绕着几个直接映射到代码实体的核心概念

概念主要类型目的关键方法
服务器server.MCPServer托管功能并处理请求AddTool(), AddResource(), AddPrompt()
工具mcp.Tool带 schema 的可执行函数mcp.NewTool(), mcp.WithString()
资源mcp.ResourceLLM 的数据源mcp.NewResource(), mcp.NewResourceTemplate()
提示mcp.Prompt可重用交互模板mcp.NewPrompt(), mcp.WithArgument()
传输transport.Interface通信层Start(), SendRequest()
客户端client.MCPClient连接并使用服务器Initialize(), CallTool()

核心类型关系

来源:examples/everything/main.go105-128 mcp package types

传输选项

MCP Go 支持三种传输机制,每种都适用于不同的用例

传输功能用例示例
Stdioserver.ServeStdio()命令行工具,简单部署server.ServeStdio(s)
HTTPserver.NewStreamableHTTPServer()Web 服务,类 REST APIhttpServer.Start(":8080")
SSESSE 服务器实现实时通知,Web 应用程序基于 HTTP 的服务器发送事件

传输选择流程

来源:examples/everything/main.go485-495 README.md541

下一步

现在你已经有了一个正常工作的基本服务器和客户端,你可以探索更多高级功能

  1. 添加资源:了解如何在资源中暴露数据源
  2. 创建提示:在提示中构建可重用交互模板
  3. 高级工具:在工具中实现带验证的复杂工具
  4. 服务器配置:在MCP 服务器中探索钩子、中间件和会话
  5. 生产部署:在传输机制中了解不同的传输选项
  6. 测试:在测试与模拟中设置全面的测试

常见模式

为方便快速参考,以下是你将使用的最常见模式

来源:README.md128-195 examples/everything/main.go64-169