mcpField
H
Hackage Documentation MCP

Hackage Documentation MCP

本地服务
github.com/apenugon记忆与知识1185 周前更新

关于 Hackage Documentation MCP

Hackage Documentation MCP 面向 AI 助手和 Haskell 开发者,帮助从 Hackage 获取模块文档。指定软件包、版本和模块后,它会返回对应版本的提取文本。

主要功能

  1. 01获取 Hackage 模块文档
  2. 02指定确切软件包版本
  3. 03返回纯文本格式的文档

适用场景

  1. 01编写代码时查阅 Haskell 模块
  2. 02核对函数类型信息
  3. 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 助手使用

安装

  1. 确保已安装 Python 3.7+
  2. 安装所需依赖:
    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")

使用场景

  1. 学习 Haskell 库:使用 AI 时获取特定模块的详细信息
  2. 理解类型签名:访问 Haskell 模块中函数的准确类型信息
  3. 探索模块层级结构:了解 Haskell 包中模块的组织方式
  4. 验证 AI 生成的代码:将 AI 的建议与官方文档进行比较

优势

  • 让 AI 能够访问准确、最新的 Haskell 文档
  • 提升 AI 生成的 Haskell 代码质量
  • 通过权威参考资料增强 AI 解释 Haskell 概念的能力
  • 减少讨论 Haskell 库时产生的幻觉

限制

  • 访问 Hackage 需要互联网连接
  • 仅提供文档内容,不提供实现代码
  • Haskell 包之间的文档质量各不相同

贡献

欢迎提交改进此工具的贡献!一些可能的改进方向:

  • 添加下载和解析包源代码的支持
  • 实现缓存以减少网络请求
  • 扩展支持其他 Haskell 文档来源

许可证

[在此指定你的许可证]

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。