模型上下文协议SDK

提供多语言SDK实现,用于通过JSON RPC协议建立客户端与服务端的通信,支持工具调用和消息传输。

  • by nalbion
  • Go
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 nalbion/go-mcp

使用说明

模型上下文协议

这里的代码改编自 科特林sdk 和 打字sdk.

另请参见https://modelcontextprotocol.io/introduction

MCP客户端

当创建一个 Client,列出它的功能,然后 client.Connect(transport) 连接到 Transport (通过 Protocol 它延伸)并开始 initialize 过程。

然后,您可以致电 client.ListTools(), CallTool() 等等

MCP服务器

创建一个 Server 类似于创建一个 Client -定义其功能并调用 server.Connect(transport) 它将开始通过 Transport.

JSON-RPC

这 Transport 类和 Protocol 独立于MCP,也可用于LSP客户端/服务器等。

JSON RCP传输

这 Transport 类,它是 client/server 实现 stdio, sse, in_memory 对MCP一无所知。的作用 Transport 接口只是发送/接收JSON RPC消息,它不格式化/解析消息,这是 Protocol.

JSON RPC协议

这 Protocol 类用于将JSON格式化和解析为请求/响应/通知/错误消息,并将发送/接收委托给 Transport.