mcpField
M
MCP Host CLI

MCP Host CLI

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

MCP Host CLI について

MCP Host CLIは、OpenAI互換のLLM APIにリクエストを送るFastAPIチャットサーバーです。MCPサーバー設定に対応し、ローカル利用向けにセッション、チャット、ツール承認のエンドポイントを提供します。

主な機能

  1. 01FastAPIチャットエンドポイント
  2. 02LLMプロバイダーとモデルの設定
  3. 03環境変数とCLIによる設定
  4. 04ツール承認とセッション用エンドポイント
  5. 05ストリーミングとエラー再試行の選択

活用シーン

  1. 01ローカルLLMチャットAPIのホスティング
  2. 02HTTP経由でのチャットセッション管理
  3. 03承認前のツール呼び出し確認

MCP 対応

`--servers-config` でMCPサーバー設定を読み込み、ツール承認を処理します。READMEにはMCPサーバーへの接続プロトコルは記載されていません。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

LLM チャットサーバー

LLM(OpenAI)とのチャットを実現する FastAPI サーバーです。

設定

設定は環境変数と CLI 引数で管理します。

環境変数
変数説明デフォルト
LLM_API_KEYLLM プロバイダーの API キー(--api-key-file の代替)-
LLM_MODEL使用するモデル名qwen2.5-coder:latest
PORTサーバーを実行するポート8000
LLM_PROVIDERLLM プロバイダー(openai)openai
OPENAI_BASE_URLOpenAI 互換 API のベース URLhttps://openrouter.ai/api/v1

.env ファイルの例:

LLM_API_KEY=your-api-key
LLM_MODEL=qwen2.5-coder:latest
PORT=8000
LLM_PROVIDER=openai
CLI 引数
引数説明例
--model使用する LLM モデル--model qwen2.5-coder:latest
--portサーバーを実行するポート--port 8000
--providerLLM プロバイダー(openai)--provider openai
--openai-base-urlOpenAI API のベース URL--openai-base-url https://api.openai.com/v1
--api-key-fileAPI キーを含むファイルのパス--api-key-file /path/to/api.key
--servers-configサーバー設定ファイルのパス--servers-config config/servers.json
--current-directory作業ディレクトリ--current-directory /projects
--context-window-sizeコンテキストウィンドウのサイズ--context-window-size 2048
--temperatureTemperature パラメーター--temperature 0.7
--streamストリーミングモードを有効化--stream
--retries-on-llm-errorLLM エラー発生時の再試行回数--retries-on-llm-error 3
--debug-messages/tmp/llm-requester.messages.log へのデバッグメッセージのログ記録を有効化--debug-messages

CLI の使用例:

# Using environment variable
export LLM_API_KEY=your-api-key
uv run main.py --model qwen2.5-coder:latest --port 8000

# Using API key file
uv run main.py --model qwen2.5-coder:latest --port 8000 --api-key-file /path/to/api.key

API エンドポイント

  • POST /user_request - ユーザーのチャットリクエストを処理します
  • POST /approve - ツールの承認または拒否を処理します
  • GET /session_state - 現在のセッション状態を取得します
  • POST /start_session - 新しいセッションを作成します

リクエスト/レスポンス形式

リクエスト(POST /user_request)
{
    "input": "user message"
}
レスポンス
{
    "request_id": "uuid",
    "requires_approval": true,
    "tool": {
        "name": "tool-name",
        "arguments": {
            "arg1": "value1",
            "arg2": "value2"
        }
    },
    "message": "response content",
    "model": "model-name",
    "role": "assistant"
}
ツールの承認(POST /approve)
{
    "request_id": "uuid",
    "approve": true
}

使用例

import requests

# Start session
response = requests.post("http://localhost:8000/start_session", json={
    "current_directory": "/projects",
    "model": "qwen2.5-coder:latest"
})

# Send message
response = requests.post("http://localhost:8000/user_request", json={
    "input": "Hello, how are you?"
})

# Approve tool call
response = requests.post("http://localhost:8000/approve", json={
    "request_id": "12345",
    "approve": true
})

コメント

MCP は初めてですか?

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

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