mcpField
U
Unichat MCP Server in Python

Unichat MCP Server in Python

ローカル
github.com/amidabuddhaAI・エージェント406 日前に更新

Unichat MCP Server in Python について

Unichat MCP Server は、OpenAI、Anthropic および OpenAI 互換のプロバイダーへリクエストを送信する Python 製の MCP サーバーです。MCP クライアントから複数の LLM を利用したい開発者向けで、UNICHAT_BASE_URL によりカスタムエンドポイントを指定できます。

主な機能

  1. 01unichat ツールによるリクエスト送信とレスポンス取得
  2. 02コードレビューや文書化向けのプリセットプロンプト
  3. 03OpenAI 互換プロバイダー用のカスタムエンドポイント
  4. 04uvx による公開パッケージのインストール

活用シーン

  1. 01Claude Desktop から OpenAI や Anthropic のモデルを呼び出す
  2. 02プリセットプロンプトによるコードのレビューや説明
  3. 03互換エンドポイント経由での DeepSeek や xAI への接続

MCP 対応

本プロジェクトは MCP サーバーであり、unichat ツールと 4 つのコード関連プロンプトを MCP クライアントに公開し、設定された LLM プロバイダーへリクエストを転送します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"unichat": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

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

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

詳細

Unichat MCP サーバー(Python)

TypeScript版も利用できます。

MseeP.ai セキュリティ評価バッジ
MIT ライセンスで公開されています。 信頼スコア Smithery サーバーのインストール数
MCPHub でホストされています

MCP プロトコルを使用して、ツールまたは定義済みのプロンプト経由で OpenAI、Anthropic、および OpenAI 互換プロバイダーにリクエストを送信します。MistralAI、xAI、Google AI、DeepSeek、Alibaba、Inception などの OpenAI 互換プロバイダーを利用する場合は、UNICHAT_BASE_URL にプロバイダーの互換 API エンドポイントを設定してください。 ベンダー API キーが必要です

ツール

サーバーは1つのツールを実装しています。

  • unichat:unichat にリクエストを送信します
    • 必須の文字列引数として「messages」を受け取ります
    • 応答を返します
プロンプト
  • code_review
    • ベストプラクティス、潜在的な問題、改善点についてコードをレビューします
    • 引数:
      • code(文字列、必須):レビューするコード"
  • document_code
    • docstring やコメントを含む、コードのドキュメントを生成します
    • 引数:
      • code(文字列、必須):コメントを追加するコード"
  • explain_code
    • コードの動作を詳しく説明します
    • 引数:
      • code(文字列、必須):説明するコード"
  • code_rework
    • 提供されたコードに、指定された変更を適用します
    • 引数:
      • changes(文字列、任意):適用する変更"
      • code(文字列、必須):修正するコード"

クイックスタート

インストール
Claude Desktop

MacOS の場合:~/Library/Application\ Support/Claude/claude_desktop_config.json Windows の場合:%APPDATA%/Claude/claude_desktop_config.json

対応モデル:

"SELECTED_UNICHAT_MODEL"として使用できる、現在対応しているモデルの一覧はこちらにあります。該当するベンダーの API キーを"YOUR_UNICHAT_API_KEY"として追加してください。

例:

"env": {
  "UNICHAT_MODEL": "gpt-5.4-mini",
  "UNICHAT_API_KEY": "YOUR_OPENAI_API_KEY"
}

カスタムエンドポイントを使用する OpenAI 互換プロバイダーの場合:

"env": {
  "UNICHAT_MODEL": "PROVIDER_MODEL",
  "UNICHAT_API_KEY": "YOUR_PROVIDER_API_KEY",
  "UNICHAT_BASE_URL": "https://provider.example.com/v1"
}

UNICHAT_BASE_URLを設定すると、サーバーは設定されたUNICHAT_MODELを Unichat の組み込みモデル一覧と照合せずに受け入れます。

開発版/未公開サーバーの設定

"mcpServers": {
  "unichat-mcp-server": {
    "command": "uv",
    "args": [
      "--directory",
      "{{your source code local directory}}/unichat-mcp-server",
      "run",
      "--locked",
      "unichat-mcp-server"
    ],
    "env": {
      "UNICHAT_MODEL": "SELECTED_UNICHAT_MODEL",
      "UNICHAT_API_KEY": "YOUR_UNICHAT_API_KEY"
    }
  }
}

公開済みサーバーの設定

"mcpServers": {
  "unichat-mcp-server": {
    "command": "uvx",
    "args": [
      "unichat-mcp-server"
    ],
    "env": {
      "UNICHAT_MODEL": "SELECTED_UNICHAT_MODEL",
      "UNICHAT_API_KEY": "YOUR_UNICHAT_API_KEY"
    }
  }
}
Smithery 経由でインストール

Smithery経由で Unichat を Claude Desktop に自動インストールするには:

npx -y @smithery/cli install unichat-mcp-server --client claude

開発

ソースからのクリーンインストール

前提条件:Git、Python 3.11 以降(pyproject.toml で宣言)、および PATH から利用できる uv が必要です。Node.js/npm は、以下で任意に使用する MCP Inspector の場合のみ必要です。シェルの例では Bash/Zsh の構文を使用しています。

リポジトリをクローンし、ロック済みの依存関係を復元します。

git clone https://github.com/amidabuddha/unichat-mcp-server.git
cd unichat-mcp-server
uv sync --locked

uv sync --locked は、プロジェクト内に .venv/ を作成し、プロジェクトを編集可能モードでインストールして、uv.lock から依存関係を復元します。ロックファイルの更新が必要な場合は、暗黙に変更するのではなく、処理に失敗します。uv run を使用する場合、仮想環境の有効化やグローバルな Python 依存関係のインストールは不要です。

Claude Desktop の例と同じ環境変数を設定し、プレースホルダーをプロバイダーの値に置き換えます。

export UNICHAT_MODEL="SELECTED_UNICHAT_MODEL"
export UNICHAT_API_KEY="YOUR_UNICHAT_API_KEY"
# Optional, for an OpenAI-compatible provider with a custom endpoint:
# export UNICHAT_BASE_URL="https://provider.example.com/v1"

サーバーは環境変数を読み込みますが、.env ファイル自体は読み込みません。Claude Desktop では、これらの値を上記のサーバーの env 設定に記述してください。

ローカルサーバーを実行します。

uv run --locked unichat-mcp-server

これは stdio MCP サーバーです。接続して操作するには、Claude Desktop または以下の Inspector を使用してください。ウェブページや対話型チャットプロンプトは起動しません。実行には編集可能モードでのインストールで十分です。設定済みの Hatchling バックエンドを使ってソース配布物と wheel 配布物も作成するには、次を実行します。

uv build

パッケージは dist/ に出力されます。uv build は隔離された環境でビルドバックエンドを用意するため、グローバルにインストールした build フロントエンドは不要です。実行時の依存関係は uv.lock でロックされていますが、pyproject.toml では hatchling のビルド要件のバージョンは固定されていません。

通常の開発

src/ 以下のファイルを編集した後、サーバーを再起動するか、MCP クライアントで再接続します。

uv run --locked unichat-mcp-server

編集可能モードでインストールされているため、現在のソースが使用されます。通常のソース変更では、.venv/ の削除、依存関係の再インストール、配布パッケージの再ビルドは不要です。更新されたパッケージ成果物が必要な場合にのみ、uv build を再実行してください。依存関係マニフェストとロックファイルへの変更を取得した後は、uv sync --locked を実行して、環境をそれらの内容に合わせて更新してください。

このリポジトリには、設定済みの自動テストスイートやウォッチコマンドはありません。以下の Inspector を使ってツールとプロンプトを手動で試し、変更後にサーバーを再起動してください。

既存のチェックアウトをクリーンに再ビルドする

実行中のサーバーを停止し、リポジトリのルート(pyproject.toml と uv.lock があるディレクトリ)から次のコマンドを実行します。以下のパスは、uv のデフォルトであるプロジェクト内環境を前提としています。.venv/ にはインストール済みの依存関係と編集可能モードのプロジェクトが含まれ、dist/ には生成されたソース/wheel アーカイブが含まれます。

rm -rf .venv dist
uv sync --locked
uv build

これにより、環境と配布パッケージが再作成されます。uv.lock、ソース、設定、.env ファイル、ユーザーデータは保持してください。build/ や wheels/ など、ほかの無視対象の名前は、このプロジェクトのビルドワークフローで生成物として定められていないため、クリーンアップ対象ではありません。グローバルな uv キャッシュと Python のインストールは再利用できます。再度実行するには、上記の環境変数を保持または再設定し、uv run --locked unichat-mcp-server を使用してください。

意図的な依存関係の更新

依存関係の更新は、復元とは別の作業です。pyproject.toml の要件を意図的に変更する場合は、uv lock を実行して、変更された uv.lock の内容を確認し、その後 uv sync --locked を実行してください。既存の依存関係を宣言済みの制約内で意図的にアップグレードするには、たとえば次のようにします。

uv lock --upgrade-package unichat
uv sync --locked

ロックファイルの変更内容を確認し、更新を受け入れる前にサーバーの動作を確認してください。通常のインストールと再ビルドでは、既存のロックファイルを使用してください。

公開

公開はメンテナーが別途行う作業であり、ローカルへのインストールや再ビルドには含まれません。上記のクリーンな再ビルドの手順で新しい配布物を準備し、PyPI にアップロードする前に、dist/ に意図したリリースの内容だけが含まれていることを確認してください。

uv publish --token "YOUR_PYPI_API_TOKEN"

このリポジトリには .github/workflows/publish.yml に公開ワークフローもあり、main ブランチ上の pyproject.toml の変更、または手動実行を契機として実行されます。

デバッグ

MCP サーバーは stdio 経由で実行されるため、デバッグが難しい場合があります。最適なデバッグ環境を利用するには、MCP Inspector の使用を強くおすすめします。

次のコマンドを使って、npm 経由で MCP Inspector を起動できます。

npx @modelcontextprotocol/inspector uv --directory "/path/to/unichat-mcp-server" run --locked unichat-mcp-server

起動すると、Inspector に URL が表示されます。その URL にブラウザーからアクセスすると、デバッグを開始できます。

ホスト型デプロイ

Frontier AI でホスト型デプロイを利用できます。

コメント

MCP は初めてですか?

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

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