godoc-mcp-server
从pkg.go.dev搜索Go语言包及其文档,并将信息作为mcp服务器提供给大语言模型
安装
您可以从发布页面下载编译好的二进制文件。
或者您可以从源代码安装,自行编译:
go install github.com/yikakia/godoc-mcp-server/cmd/godoc-mcp-server@latest
使用
只需使用您的客户端发起请求。它运行在标准输入输出上
待办事项
- localCache
- 使用本地缓存避免每次都搜索(来自Reddit用户)
- searchPackage
- 被多少个包导入
- getPackageInfo
- 获取示例
- release
- 使用GitHub Actions为多个平台发布
开发经验
描述非常重要,在描述参数时应告诉客户端如何使用一个工具的输出,并更改格式以匹配另一个工具的输入。
例如,searchPackage的输出包含子包名称,但不包含包名称。因此,如果要让大语言模型使用getPackageInfo获取子包信息,我写了参数packageName的描述,说明如何使用它配合searchPackage:
搜索的包名。如果之前使用了searchPackages,并且用户想获取子包信息。你应该将它们连接起来。例如,当用户查询mcp,它返回packageName: github.com/mark3labs/mcp-go/mcp和subpackage client,然后如果用户想获取client包的信息,你应该将packageName设置为github.com/mark3labs/mcp-go/mcp/client而不是client
使用这种详细描述时,大语言模型在搜索后会告诉你一些子包名称。您只需告诉它您想获取哪个包的信息,或者哪个包以及子包的名称,它将组合它们并调用getPackageInfo获取信息。
所以也许我们应该让描述可由用户配置,使工具更实用和高效。
库使用
本模块的导出Go API目前应被视为不稳定,可能存在破坏性变更。未来我们可能会提供稳定性;如果存在对此有价值的用例,请提交问题。
许可证
本项目根据MIT开源许可证的条款进行许可。请参阅MIT获取完整条款。