本项目能够从 pkg.go.dev 搜索 Go 语言包及其文档,并将相关信息提供给大语言模型(LLM),作为 MCP 服务器发挥作用。
本项目可直接使用,只需使用客户端发起请求,它基于标准输入输出运行。
你可以通过以下两种方式安装本项目:
go install github.com/yikakia/godoc-mcp-server/cmd/godoc-mcp-server@latest
getPackageInfo
功能中实现获取示例的功能。本项目使用简单,只需使用客户端发起请求,其基于标准输入输出运行。
在开发过程中,参数描述非常重要,描述参数时应告知客户端如何使用一个工具的输出来更改另一个工具的输入格式。
例如,searchPackage
的输出包含子包名称,但不包含包名称。因此,如果要让 LLM 使用 getPackageInfo
来获取子包信息,packageName
参数的描述如下:
搜索包的名称。如果你之前使用过
searchPackages
,并且用户希望获取子包的信息,你应该将它们组合起来。例如,当用户查询 mcp 时,它返回packageName
: github.com/mark3labs/mcp-go/mcp 和子包client
,那么如果用户希望获取client
的信息,你应该将packageName
设置为 github.com/mark3labs/mcp-go/mcp/client 而不是client
。
使用这个详细描述后,LLM 将会识别一些子包的名称。你可以直接告知它要获取哪个包的信息,或者要获取哪个包及其子包的信息,然后它会组合这些信息并调用 getPackageInfo
来获取详细信息。
因此,也许我们应该让用户配置这个描述,以使工具更加有用和高效。
此模块导出的 Go API 目前应被视为不稳定,并且可能会有破坏性更改。未来我们可能会提供稳定性;请通过提交问题来反馈你的用例。
该项目根据 MIT 开源许可协议授权。完整的条款请参阅 MIT。