关于 Hackage Documentation MCP
Hackage Documentation MCP 面向 AI 助手和 Haskell 开发者,帮助从 Hackage 获取模块文档。指定软件包、版本和模块后,它会返回对应版本的提取文本。
主要功能
- 01获取 Hackage 模块文档
- 02指定确切软件包版本
- 03返回纯文本格式的文档
适用场景
- 01编写代码时查阅 Haskell 模块
- 02核对函数类型信息
- 03依据官方文档验证生成代码
MCP 相关
它向 MCP 客户端提供 `get_docs` 工具,可检索指定 Hackage 软件包、版本和模块的文档。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Hackage 文档 MCP
概述
此机器控制程序(MCP)为 AI 助手提供了访问 Hackage 上 Haskell 文档的接口。它允许 AI 模型检索特定 Haskell 模块的准确、最新文档,弥补该领域训练数据有限的问题,从而提升 AI 辅助 Haskell 编程的能力。
问题陈述
与更主流的编程语言相比,AI 语言模型通常缺乏足够的 Haskell 训练数据。这会导致:
- Haskell 代码生成的准确性较低
- 难以理解 Haskell 独有的特性和抽象
- 关于 Haskell 库和模块的信息不准确或过时
此工具通过让 AI 实时检索 Hackage 上的权威文档,弥补这一不足。
功能
- 从 Hackage 上的任意包中检索特定模块的文档
- 指定精确的包版本以确保准确性
- 提供简洁的纯文本输出,便于 AI 助手使用
安装
- 确保已安装 Python 3.7+
- 安装所需依赖:
pip install httpx beautifulsoup4 fastmcp
用法
你可以将此 MCP 与任何支持 MCP 协议的 AI 助手搭配使用。
运行服务
python main.py
这将通过 stdio 传输启动 MCP 服务。
API
此 MCP 提供以下工具:
get_docs(package, version, module)
检索特定 Haskell 模块的文档。
参数:
package(字符串):Hackage 包名称(例如,"lens"、"yesod-persistent")version(字符串):包版本(例如,"5.0.0"、"2.10.0")module(字符串):要查找的模块名称(例如,"Control.Lens"、"Database.Persist")
返回:
- 指定模块的提取文档文本;若检索失败,则返回错误消息
示例:
# Get documentation for Control.Lens from lens 5.0.0
get_docs("lens", "5.0.0", "Control.Lens")
# Get documentation for Data.Vector.Algorithms from vector-algorithms 0.8.0
get_docs("vector-algorithms", "0.8.0", "Data.Vector.Algorithms")
使用场景
- 学习 Haskell 库:使用 AI 时获取特定模块的详细信息
- 理解类型签名:访问 Haskell 模块中函数的准确类型信息
- 探索模块层级结构:了解 Haskell 包中模块的组织方式
- 验证 AI 生成的代码:将 AI 的建议与官方文档进行比较
优势
- 让 AI 能够访问准确、最新的 Haskell 文档
- 提升 AI 生成的 Haskell 代码质量
- 通过权威参考资料增强 AI 解释 Haskell 概念的能力
- 减少讨论 Haskell 库时产生的幻觉
限制
- 访问 Hackage 需要互联网连接
- 仅提供文档内容,不提供实现代码
- Haskell 包之间的文档质量各不相同
贡献
欢迎提交改进此工具的贡献!一些可能的改进方向:
- 添加下载和解析包源代码的支持
- 实现缓存以减少网络请求
- 扩展支持其他 Haskell 文档来源
许可证
[在此指定你的许可证]
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。