godoc mcp服务器
从pkg.go.dev搜索golang软件包及其文档,将信息作为mcp服务器提供给llm
安装
您可以从以下网址下载编译后的二进制文件 发布页面.
或者你可以从源代码安装它,自己编译:
go install github.com/yikakia/godoc-mcp-server/cmd/godoc-mcp-server@latest用法
只要用你的客户来请求。it服务器位于stdio上
待办
- 本地缓存
- \[x\] 使用本地缓存以避免每次搜索(来自reddit用户)
- 搜索包
- \[x\] 按多少个包导入
- getPackageInfo
- \[x\] fixme:子包需要新的适配器 - \[x\] 获取示例
- 发布
- \[x\] 使用github操作为多个平台发布
开发经验
描述非常重要,在描述参数时,应该告诉客户端如何 使用一个工具的输出并更改格式以匹配另一个工具输入。
例如,输出 searchPackage 包含子包的名称,但不包含 包的名称。所以如果想让llm使用 getPackageInfo 为了获取子包的信息, 我为param写了描述 packageName 关于如何使用它与 searchPackage:
用于搜索的包名称。如果之前使用searchPackages,并且用户希望获取 子包信息。您应该加上它们,例如,当用户查询mcp时,它会返回 packageName:github/mark3labs/mcp-go/mcp和子包客户端,如果用户需要 要获取客户端包信息,您应该将packageName设置为 github/mark3labs/mcp-go/mcp/client而不是客户端
使用此详细描述时,llm会在后面告诉您一些子包的名称 搜索。你可以告诉它你想获取哪个包的信息,或者哪个包和 子包的名称,它将组合它们并调用 getPackageInfo 以获取信息。
所以也许我们应该让用户可以配置描述,让工具更有用 以及效率。
图书馆使用情况
该模块导出的Go API当前应被视为不稳定,并受 打破变化。未来,我们可能会提供稳定;如果有,请提交问题 这将是一个有价值的用例。
许可证
该项目根据麻省理工学院开源许可证条款获得许可。请参考 到 麻省理工学院 完整的条款。
