Hatchling について
Hatchling は、LLM と MCP サーバーのツールをコマンドラインで利用するチャットアプリです。Ollama と OpenAI に対応し、ツールチェーンの実行や利用元ソフトウェアの引用機能を備えています。
主な機能
- 01コマンドラインのチャット画面
- 02Ollama と OpenAI に対応
- 03MCP サーバーのツール呼び出し
- 04長いツールチェーンの実行補助
- 05ツールが利用するソフトウェアの引用
活用シーン
- 01チャットで MCP ツールを利用
- 02複数段階のツール呼び出しを実行
- 03ツール結果の利用元ソフトウェアを確認
MCP 対応
MCP サーバーに接続し、チャットからそのツールを呼び出します。MCP サーバーの管理や Hatch パッケージへのアクセス用コマンドも備えています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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
- ユーザー定義のツールチェーン
インストールと実行
Hatch! パッケージとして独自の MCP サーバーを追加する
Hatch パッケージを作成すると、独自の MCP ツールで Hatchling を拡張できます。
-
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の値を変更した場合は異なることがあります。
-
server.pyは MCP サーバーのエントリーポイントです。 -
新しいツールを追加します。
@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 のパターンに沿っています。 -
次のコマンドで、現在の Hatch! 環境にパッケージを追加できます。
hatch:pkg:add /home/<user_name>/.local/<pkg_name> -
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 サーバーを動的に読み込み、切り替えるためのパッケージアーキテクチャが完成しました
- パイプラインを支える関連リポジトリが整備されました。
コントリビューション
コントリビューションを歓迎します!詳しくはコントリビューションガイドをご覧ください。
クイックスタート
- リポジトリをフォークしてクローンする
- 依存関係をインストールする:
pip install -e .とnpm install - 機能ブランチを作成する:
git checkout -b feat/your-feature - 変更を加えて、テストを追加する
- Conventional Commits を使用する:ガイド付きコミットには
npm run commitを実行する - テストを実行する:
python run_tests.py --regression --feature - プルリクエストを作成する
コミットメッセージ
自動バージョン管理にはConventional Commitsを使用しています。
feat: add new feature
fix: resolve bug
docs: update documentation
test: add tests
chore: maintenance tasks
ガイドに従ってコミットメッセージを作成するには、npm run commitを使用してください。
詳しいガイドラインについては、CONTRIBUTING.mdおよびバージョン管理のドキュメントをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。