mcpField
H
Hackage Documentation MCP

Hackage Documentation MCP

ローカル
github.com/apenugonメモリ・ナレッジ1185 週間前に更新

Hackage Documentation MCP について

Hackage Documentation MCPは、AIアシスタントやHaskell開発者向けに、Hackageからモジュールのドキュメントを取得するサーバーです。パッケージ、バージョン、モジュールを指定すると、該当リリースの抽出テキストを返します。

主な機能

  1. 01Hackageのモジュールドキュメント取得
  2. 02パッケージのバージョン指定
  3. 03テキスト形式でのドキュメント出力

活用シーン

  1. 01コーディング中のHaskellモジュール検索
  2. 02関数の型情報の確認
  3. 03公式ドキュメントによる生成コードの検証

MCP 対応

MCPクライアントに`get_docs`ツールを公開し、指定されたHackageのパッケージ、バージョン、モジュールのドキュメントを取得します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Hackage ドキュメント MCP

概要

この Machine-Controlled Program(MCP)は、AI アシスタントが Hackage の Haskell ドキュメントにアクセスするためのインターフェースを提供します。AI モデルは、特定の Haskell モジュールの正確で最新のドキュメントを取得できるため、この分野の学習データが限られていても、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 ドキュメントソースへの対応拡大

ライセンス

[ライセンスをここに指定してください]

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。