Hackage Documentation MCP

Hackage Documentation MCP

一个 MCP 服务器,让 Claude 可以轻松访问和提取文档。

apenugon

研究与数据
访问服务器

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")

返回值:

  • 指定模块的提取文档文本,如果检索失败,则返回错误消息

示例:

# 从 lens 5.0.0 获取 Control.Lens 的文档
get_docs("lens", "5.0.0", "Control.Lens")

# 从 vector-algorithms 0.8.0 获取 Data.Vector.Algorithms 的文档
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 文档来源

许可证

[在此处指定您的许可证]

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python