Haskell文档搜索服务

一个用于AI代理的Haskell文档搜索服务,提供简单文本搜索和结构化JSON文档两种工具。

  • by voidus
  • Haskell
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 voidus/hoogle-mcp

使用说明

高MCP

⚠️ AI斜坡警告⚠️ 这个项目是由人工智能助手生成的。该代码尚未在生产中经过彻底审查或测试。使用风险自负。

MCP服务器,将Hoogle(Haskell文档搜索)作为AI代理的工具公开。

用法

构建服务器:

nix build

可执行文件将位于 ./result/bin/hoogle-mcp.

与Claude Code集成

全局配置

添加到 ~/.config/claude-code/mcp_settings.json:

{
  "mcpServers": {
    "hoogle": {
      "command": "hoogle-mcp"
    }
  }
}

项目特定配置

或者,添加到 .mcp.json 在项目根目录中:

{
  "mcpServers": {
    "hoogle": {
      "command": "hoogle-mcp"
    }
  }
}

这假设 hoogle-mcp 在你的路径。您可以通过以下方式提供:

  • nix shell 或 nix run
  • 添加到您的NixOS系统包
  • 添加到家庭管理器配置
  • 使用 nix profile install

或者,使用绝对路径: "/absolute/path/to/hoogle-mcp/result/bin/hoogle-mcp"

MCP工具

服务器提供了两个搜索Haskell文档的工具:

hoogle_search

简单的基于文本的搜索返回人类可读的结果。

参数:

  • query (字符串,必填):搜索函数、类型、模块或包的查询

退货: Hoogle的纯文本搜索结果

示例查询:

  • "map" -搜索地图功能
  • "[a] -> [a]" -按类型签名搜索
  • "Data.List" -搜索模块

高级_docs

结构化JSON文档,包含完整的Haddock详细信息和URL。

参数:

  • query (string,必填):函数、类型、模块或包的名称
  • count (整数,可选):返回的最大结果数(默认值:10)

退货: JSON数组,包含结构化文档,包括:

  • docs:完整文档文本(HTML格式)
  • item:类型签名或声明
  • module:模块名称和URL
  • package:包名称和URL
  • url:直接链接到Haddock文档
  • type:结果类型(例如,模块的“模块”)

示例查询:

  • "fmap" -获取函数的文档
  • "Data.List" -获取模块文档和概述
  • "Functor" -获取类型类文档

使用案例:

  • 访问完整的Haddock符号文档
  • 获取URL以浏览详细的HTML文档
  • 检索模块和包信息
  • 查找类型、函数和类型类的文档

服务器通过JSON-RPC在stdio上按照模型上下文协议规范进行通信。