mcpField
H
Hatchling

Hatchling

ローカル
hatchling.readthedocs.ioAI・エージェント951 週間前に更新

Hatchling について

Hatchling は、LLM と MCP サーバーのツールをコマンドラインで利用するチャットアプリです。Ollama と OpenAI に対応し、ツールチェーンの実行や利用元ソフトウェアの引用機能を備えています。

主な機能

  1. 01コマンドラインのチャット画面
  2. 02Ollama と OpenAI に対応
  3. 03MCP サーバーのツール呼び出し
  4. 04長いツールチェーンの実行補助
  5. 05ツールが利用するソフトウェアの引用

活用シーン

  1. 01チャットで MCP ツールを利用
  2. 02複数段階のツール呼び出しを実行
  3. 03ツール結果の利用元ソフトウェアを確認

MCP 対応

MCP サーバーに接続し、チャットからそのツールを呼び出します。MCP サーバーの管理や Hatch パッケージへのアクセス用コマンドも備えています。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Hatchling

Hatchling ロゴ

Hatchling は、Ollama を通じてローカルの大規模言語モデル(LLM)を Model Context Protocol(MCP)と統合し、ツール呼び出し機能を備えた、対話型の CLI ベースのチャットアプリケーションです。Hatch 内のすべての MCP サーバーを利用するためのフロントエンドとして設計されています。

機能

  • CLI ベースのチャットインターフェース
  • LLM 統合:Ollama、OpenAI
  • MCP サーバーからのツール呼び出し
  • LLM がより長いツール呼び出しの連鎖を実行し、より多くの作業を行えるようにする、ツール実行のラッピング
  • LLM が MCP サーバー内のソフトウェアを使用するたびに、そのソフトウェアの出典を適切に引用
今後の予定
  • 2025年8月末まで:
    • Hatching! Biology と統合し、生物学のリソースやモデリングソフトウェアにアクセスできる MCP サーバーを共有します。
  • 2025年10月末まで:
    • ツールの有効化/無効化と手動実行を可能にするコマンド。
    • メッセージへの対象を絞った参照やツリー形式のチャット構造による、チャット履歴管理の改善に着手します。
ロードマップ
  • チャットと MCP サーバー管理全般の GUI
  • ユーザー定義のツールチェーン

インストールと実行

  1. Docker のセットアップ手順

  2. Hatchling の実行

  3. チャット内コマンド

Hatch! パッケージとして独自の MCP サーバーを追加する

Hatch パッケージを作成すると、独自の MCP ツールで Hatchling を拡張できます。

  1. Hatchling を実行した状態で、次のコマンドを使用します。

    hatch:create /home/<user_name>/.local/<pkg_name> --description "Your description here"
    

    これにより、ディレクトリ HATCH_LOCAL_PACKAGE_DIR/<pkg_name> にフォルダーが作成されます。ここで:

    • HATCH_LOCAL_PACKAGE_DIR は、.env ファイルで設定できる環境変数です。
    • <user_name> はデフォルトでは HatchlingUser ですが、.env ファイルで USER_NAME の値を変更した場合は異なることがあります。
  2. server.py は MCP サーバーのエントリーポイントです。

  3. 新しいツールを追加します。

    @hatch_mcp.tool()
    def my_custom_tool(param1: str, param2: int) -> str:
        """Description of what your tool does.
        
        Args:
            param1 (str): First parameter description.
            param2 (int): Second parameter description.
            
        Returns:
            str: Description of the return value.
        """
        hatch_mcp.logger.info(f"Custom tool called with {param1} and {param2}")
        return f"Processed {param1} with value {param2}"
    
    if __name__ == "__main__":
        hatch_mcp.run()
    

    一般に、ファイルに追加した新しい関数の上に @hatch_mcp.tool() デコレーターを付けることで、新しいツールを定義できます。これは MCP Python SDK のパターンに沿っています。

  4. 次のコマンドで、現在の Hatch! 環境にパッケージを追加できます。

    hatch:pkg:add /home/<user_name>/.local/<pkg_name>
    
  5. mcp:server:connect コマンドを実行すると、Hatchling で Hatch! パッケージを利用できるようになります。

関連リポジトリ

Hatchling は、以下を含むより大きな Hatch エコシステムの一部です。

  • Hatch:Hatch エコシステムの公式パッケージマネージャーです。MCP サーバー管理用の組み込みコマンドを備え、現在は Hatchling に完全に統合されています。
    • MCP サーバーコレクションの環境管理を提供します
    • ローカルソースとレジストリソースの両方からのパッケージインストールを処理します
    • 新しいパッケージ開発をすぐに始めるためのテンプレート関数を提供します
  • Hatch-Schemas:パッケージのメタデータと検証に使用する JSON スキーマが含まれています。
    • 個別のパッケージと中央レジストリの両方のスキーマが含まれています
    • GitHub リリースを通じて、バージョン付きのスキーマを利用できます
    • スキーマのキャッシュと更新に役立つユーティリティを提供します
  • Hatch-Validator:スキーマに照らしてパッケージを検証します。
    • スキーマ仕様に照らしてパッケージを検証します
    • パッケージの依存関係を解決して検証します
    • スキーマのバージョンを自動的に取得して管理します
  • Hatch-Registry:Hatch パッケージのパッケージレジストリです。
    • 利用可能な MCP サーバーパッケージの集中リポジトリを管理します
    • パッケージのバージョン管理と依存関係情報に対応しています
    • 検索と検出の機能を提供します
    • メタデータの検証を通じてパッケージの整合性を確保します

これらのリポジトリが連携することで、Hatchling で MCP ツールを作成、管理、使用するための包括的なフレームワークを提供します。

プロジェクト更新の概要

2025年8月15日:

  • コントリビューターからの要望を受け、OpenAI の LLM に対応しました。
    • ほとんどのユーザーには見えない、内部の大幅な変更が行われました
    • 今後、さらに多くの LLM プロバイダーに対応できるよう、標準化された追加手順を用意しました。希望するプロバイダーがあれば、issue を作成してください。
  • CLI の表示を改善しました
    • prompt_toolkit をさらに活用し、トークン使用量、MCP サーバーのライフサイクル、ツールチェーンの実行に関する情報を表示するようになりました
    • 主に MCP サーバーと LLM モデルの管理を目的として、コマンドを追加・更新しました。
  • LLM の使用方法をカスタマイズするために、利用可能な設定の一覧を拡充しました。

2025年6月27日:

  • 6月初旬、Hatchling の使用、生物学的データの分析、モデルの構築、シミュレーションの実行に向けた MCP サーバーの開発と使用を中心とする社内ハッカソンを開催しました。この取り組みを通じて、実用上の制限がいくつか明らかになり、その解決に着手しました。
  • 今回は、更新のうち UI 部分のみをリリースし、以下を提供します。
    • Hatch! と Hatchling のコマンドの、ターミナルでの構文ハイライト
    • 上下矢印キーによるプロンプト履歴の表示
    • コマンドの自動補完
  • その後、今後の更新を円滑に進めるため、Hatch エコシステムの内部に取り組みました。どうしても必要な作業でしたが、正直なところ、少し退屈でした!
  • 以下の全体的なロードマップは、引き続き最新の状態です。

2025年5月27日:Hatch パッケージマネージャーエコシステムの初リリースです!🎉

  • Hatch パッケージマネージャーが、組み込みコマンドを備えて Hatchling に完全に統合されました
  • MCP サーバーを動的に読み込み、切り替えるためのパッケージアーキテクチャが完成しました
  • パイプラインを支える関連リポジトリが整備されました。

コントリビューション

コントリビューションを歓迎します!詳しくはコントリビューションガイドをご覧ください。

クイックスタート
  1. リポジトリをフォークしてクローンする
  2. 依存関係をインストールする:pip install -e . と npm install
  3. 機能ブランチを作成する:git checkout -b feat/your-feature
  4. 変更を加えて、テストを追加する
  5. Conventional Commits を使用する:ガイド付きコミットには npm run commit を実行する
  6. テストを実行する:python run_tests.py --regression --feature
  7. プルリクエストを作成する
コミットメッセージ

自動バージョン管理にはConventional Commitsを使用しています。

feat: add new feature
fix: resolve bug
docs: update documentation
test: add tests
chore: maintenance tasks

ガイドに従ってコミットメッセージを作成するには、npm run commitを使用してください。

詳しいガイドラインについては、CONTRIBUTING.mdおよびバージョン管理のドキュメントをご覧ください。

コメント

MCP は初めてですか?

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

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