mcpField
H
Holster

Holster

ローカル
github.com/kimjune01開発ツール077 週間前に更新

Holster について

Holster は、Claude Desktop の設定内にある MCP サーバーを管理する Python ツールで、Claude から設定を操作したいユーザー向けです。エントリーの確認・作成・有効化・無効化・削除を行い、JSON 設定を処理します。

主な機能

  1. 01Claude の設定内の MCP サーバー管理
  2. 02サーバー設定の作成と削除
  3. 03有効・無効サーバーの一覧表示
  4. 04サーバーの有効状態の切り替え
  5. 05JSON 設定の解析と書き込み

活用シーン

  1. 01Claude Desktop からサーバー設定を追加
  2. 02一時的に不要なサーバーの無効化
  3. 03有効・無効サーバーの確認
  4. 04不要になった設定エントリーの削除

MCP 対応

Holster は MCP サーバーとして動作し、Claude の設定にある MCP サーバーエントリーを管理するツールを提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Holster

Claude デスクトップから Claude の設定ファイル内の MCP サーバーを直接管理する Python ベースのツールです。テキストエディターで手動編集する必要がなくなります。

動機

必要のないときにツールを使わないよう Claude に指示しても、Claude は利用可能なツールを呼び出すことに積極的になりすぎることがよくあります。しかし、MCP サーバーを手動で追加したり削除したりするのは誰がやるのでしょうか?

テキストエディターで MCP サーバーを管理する作業は LLM に適していますが、現在 Claude が提供するのは設定ファイルへのポインターだけです。Holster は、Claude デスクトップ内からサーバーをシームレスに管理できるインターフェースを提供し、この体験の向上を目指しています。

機能

  • 🔄 Claude デスクトップ内でシームレスにサーバーを管理
  • 📝 適切な解析とエンコードによる JSON 設定の処理
  • 📋 アクティブなサーバーと非アクティブなサーバーを個別に追跡
  • 🛠️ シンプルなコマンドラインインターフェース
  • ✅ 包括的なテストカバレッジ

インストール

  1. リポジトリをクローンします。
git clone https://github.com/yourusername/holster.git
cd holster
  1. 仮想環境を作成して有効化します。
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. uv を使って依存関係をインストールします。
uv pip install -r requirements.txt

設定

デフォルトの設定ファイルの場所は次のとおりです。

~/Library/Application Support/Claude/claude_desktop_config.json

増え続ける MCP サーバーのリストに、これを追加します。

    "holster": {
        "command": "uv",
        "args": [
            "--directory",
            "<THIS_DIRECTORY>",
            "run",
            "holster.py"
        ]
    }

設定を再読み込みするため、Claude を再起動します。

使用方法

Holster の概要

まず、Holster の仕組みについて詳しく確認できます。

# Get detailed explanation of Holster's functionality
explanation = await explain_holster()
print(explanation["overview"])
print(explanation["tools"])
新しいサーバーの作成
# Create a new server configuration
server_config = await create_server(
    name="my_server",
    command="uv",
    directory="/path/to/server",
    script="server.py"
)
サーバーのステータスの確認
# Get lists of active and inactive servers
servers = await list_servers()
print("Active servers:", list(servers["active"].keys()))
print("Inactive servers:", list(servers["inactive"].keys()))
サーバーのステータスの更新
# Deactivate servers
result = await update_server_status(
    server_names=["server1", "server2"],
    active=False
)
print(f"Deactivated {len(result['updated'])} servers")

# Activate servers
result = await update_server_status(
    server_names=["server1", "server2"],
    active=True
)
print(f"Activated {len(result['updated'])} servers")
サーバーの削除
# Delete servers from both active and inactive lists
result = await delete_servers(["server1", "server2"])
print(f"Deleted {len(result['deleted'])} servers")
print(f"Remaining active: {result['remaining_active']}")
print(f"Remaining inactive: {result['remaining_inactive']}")
ヘルスチェック
# Check if Holster server is running
response = await ping()
print(response)  # Should print "Pong!"

開発

テストの実行
python -m pytest test_holster.py -v

対象範囲

対象範囲内
  • Claude の設定ファイル内でのサーバー設定の管理
  • アクティブなサーバーと非アクティブなサーバーの追跡
  • サーバー設定に対する基本的な CRUD 操作
対象範囲外
  • サーバーの自動検出とダウンロード
  • Web ベースのサーバー検索
  • ワークスペースの管理
  • サーバーのバージョン管理

ライセンス

このプロジェクトは MIT ライセンスのもとで公開されています。詳細については、LICENSE ファイルをご覧ください。

作成者

June Kim & LLM ツール

コメント

MCP は初めてですか?

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

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