OpenAI MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Support for loading environment variables from .env files when configuring the MCP server.

  • Optional dependency that can be specified when starting the MCP server.

  • Integration with OpenAI's API for access to GPT models like gpt-4o.

OpenAIとその他のLLMプロバイダーをサポートするMCPコーディングアシスタント

Claude CodeをPythonで強力に再現したツールで、リアルタイム可視化、コスト管理、そしてModel Context Protocol(MCP)サーバー機能が強化されています。このツールは、複数のLLMプロバイダーをサポートし、ソフトウェア開発タスクのための自然言語インターフェースを提供します。

主な特徴

  • マルチプロバイダーサポート: OpenAI、Anthropic、その他のLLMプロバイダーと連携
  • モデルコンテキストプロトコル統合:
    • Claude Desktop や他のクライアントで使用するために MCP サーバーとして実行します
    • 内蔵のMCPクライアントを使用して任意のMCPサーバーに接続します
    • 複雑な問題解決のためのマルチエージェント同期
  • **リアルタイムツール可視化:**ツール実行の進行状況と結果をリアルタイムで確認
  • **コスト管理:**予算管理でトークンの使用状況と経費を追跡
  • **包括的なツールスイート:**ファイル操作、検索、コマンド実行など
  • **強化されたUI:**進捗状況インジケーターと構文の強調表示を備えたリッチなターミナルインターフェース
  • **コンテキスト最適化:**スマートな会話の圧縮とメモリ管理
  • **エージェントの調整:**異なる役割を持つ専門エージェントがタスクを共同で実行できます

インストール

  1. このリポジトリをクローンする
  2. 依存関係をインストールします:
pip install -r requirements.txt
  1. API キーを使用して.envファイルを作成します。
# Choose one or more providers OPENAI_API_KEY=your_openai_api_key_here ANTHROPIC_API_KEY=your_anthropic_api_key_here # Optional model selection OPENAI_MODEL=gpt-4o ANTHROPIC_MODEL=claude-3-opus-20240229

使用法

CLIモード

デフォルトのプロバイダー (利用可能な API キーから決定) を使用して CLI を実行します。

python claude.py chat

プロバイダーとモデルを指定します:

python claude.py chat --provider openai --model gpt-4o

コストを管理するための予算制限を設定します。

python claude.py chat --budget 5.00

MCP サーバーモード

モデルコンテキストプロトコルサーバーとして実行します。

python claude.py serve

MCP インスペクターを使用して開発モードで開始します。

python claude.py serve --dev

ホストとポートを設定します。

python claude.py serve --host 0.0.0.0 --port 8000

追加の依存関係を指定します。

python claude.py serve --dependencies pandas numpy

ファイルから環境変数を読み込み:

python claude.py serve --env-file .env

MCPクライアントモード

推論エンジンとして Claude を使用して MCP サーバーに接続します。

python claude.py mcp-client path/to/server.py

Claude モデルを指定します:

python claude.py mcp-client path/to/server.py --model claude-3-5-sonnet-20241022

付属のサンプルサーバーを試してください:

# In terminal 1 - start the server python examples/echo_server.py # In terminal 2 - connect with the client python claude.py mcp-client examples/echo_server.py

マルチエージェントMCPモード

同期されたエージェントを持つマルチエージェント クライアントを起動します。

python claude.py mcp-multi-agent path/to/server.py

カスタム エージェント構成ファイルを使用します。

python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json

エコー サーバーの例:

# In terminal 1 - start the server python examples/echo_server.py # In terminal 2 - launch the multi-agent client python claude.py mcp-multi-agent examples/echo_server.py --config examples/agents_config.json

利用可能なツール

  • **表示:**オプションの行数制限付きでファイルを読み取る
  • **編集:**正確なテキスト置換でファイルを変更する
  • **置換:**ファイルを作成または上書きする
  • **GlobTool:**パターンマッチングでファイルを検索する
  • **GrepTool:**正規表現を使用してファイルの内容を検索する
  • **LS:**ディレクトリの内容を一覧表示する
  • **Bash:**シェルコマンドを実行する

チャットコマンド

  • **/help:**利用可能なコマンドを表示する
  • **/compact:**会話履歴を圧縮してトークンを節約します
  • **/version:**バージョン情報を表示
  • **/providers:**利用可能な LLM プロバイダーを一覧表示します
  • **/cost:**コストと使用量の情報を表示します
  • **/budget [金額]:**予算の上限を設定する
  • **/quit、/exit:**アプリケーションを終了する

建築

Claude Code Python Edition は、モジュール式アーキテクチャで構築されています。

/claude_code/ /lib/ /providers/ # LLM provider implementations /tools/ # Tool implementations /context/ # Context management /ui/ # UI components /monitoring/ # Cost tracking & metrics /commands/ # CLI commands /config/ # Configuration management /util/ # Utility functions claude.py # Main CLI entry point mcp_server.py # Model Context Protocol server

モデルコンテキストプロトコルの使用

Claude Code を MCP サーバーとして使用する

MCP サーバーが実行される場合は、Claude Desktop またはその他の MCP 互換クライアントから接続できます。

  1. MCP サーバーをインストールして実行します。
    python claude.py serve
  2. ブラウザで設定ページを開きます。
    http://localhost:8000
  3. 次の手順に従って、Claude Desktop を構成します。
    • JSON設定をコピーする
    • 自動構成されたJSONファイルをダウンロードする
    • ステップバイステップのセットアップ手順

Claude CodeをMCPクライアントとして使用する

Claude Code を使用して任意の MCP サーバーに接続するには:

  1. 環境または.envファイルにAnthropic APIキーがあることを確認してください
  2. 接続したいMCPサーバーを起動します
  3. MCP クライアントを使用して接続します。
    python claude.py mcp-client path/to/server.py
  4. インタラクティブチャットインターフェースにクエリを入力します

マルチエージェントモードの使用

複雑なタスクの場合、マルチエージェント モードでは複数の専門エージェントが連携できます。

  1. エージェント構成ファイルを作成するか、提供されている例を使用します
  2. MCPサーバーを起動する
  3. マルチエージェントクライアントを起動します。
    python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json
  4. コマンド インターフェイスを使用して複数のエージェントと対話します。
    • すべてのエージェントにブロードキャストするメッセージを入力してください
    • 直接通信には/talk Agent_Name messageを使用してください
    • 利用可能なエージェントをすべて表示するには/agentsを使用します。
    • /historyを使用して会話履歴を表示します

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. テストで変更を実装する
  4. プルリクエストを送信する

ライセンス

マサチューセッツ工科大学

謝辞

このプロジェクトは、Anthropic の Claude Code CLI ツールに触発され、可視性、コスト管理、MCP サーバー機能を強化するための追加機能を備えて Python で再実装されました。# OpenAI Code Assistant

関数呼び出しとストリーミングを備えた OpenAI API を使用する強力なコマンドラインおよび API ベースのコーディング アシスタント。

特徴

  • コーディング支援のためのインタラクティブ CLI
  • 他のアプリケーションとの統合のためのWeb API
  • モデルコンテキストプロトコル(MCP)サーバーの実装
  • 高可用性のためのレプリケーションサポート
  • 拡張性のためのツールベースのアーキテクチャ
  • ツール最適化のための強化学習
  • ブラウザベースのインタラクションのためのWebクライアント

インストール

  1. リポジトリをクローンする
  2. 依存関係をインストールします:
    pip install -r requirements.txt
  3. OpenAI API キーを設定します。
    export OPENAI_API_KEY=your_api_key

使用法

CLIモード

対話型 CLI モードでアシスタントを実行します。

python cli.py

オプション:

  • --model , -m : 使用するモデルを指定します(デフォルト: gpt-4o)
  • --temperature , -t : 応答生成の温度を設定する(デフォルト: 0)
  • --verbose , -v : 追加情報を含む詳細な出力を有効にする
  • --enable-rl/--disable-rl : ツールの最適化のための強化学習を有効/無効にする
  • --rl-update : RLモデルの更新を手動でトリガーする

APIサーバーモード

アシスタントを API サーバーとして実行します。

python cli.py serve

オプション:

  • --host : バインドするホストアドレス(デフォルト: 127.0.0.1)
  • --port , -p : リッスンするポート (デフォルト: 8000)
  • --workers , -w : ワーカープロセスの数(デフォルト: 1)
  • --enable-replication : インスタンス間のレプリケーションを有効にする
  • --primary/--secondary : プライマリインスタンスかセカンダリインスタンスか
  • --peer : 複製先のピアインスタンス (ホスト:ポート)。複数回指定できます。

MCP サーバーモード

アシスタントをモデル コンテキスト プロトコル (MCP) サーバーとして実行します。

python cli.py mcp-serve

オプション:

  • --host : バインドするホストアドレス(デフォルト: 127.0.0.1)
  • --port , -p : リッスンするポート (デフォルト: 8000)
  • --dev : 追加のログ記録を伴う開発モードを有効にする
  • --dependencies : インストールする追加のPython依存関係
  • --env-file : 環境変数を含む .env ファイルへのパス

MCPクライアントモード

アシスタントを推論エンジンとして使用して MCP サーバーに接続します。

python cli.py mcp-client path/to/server.py

オプション:

  • --model , -m : 推論に使用するモデル(デフォルト: gpt-4o)
  • --host : MCP サーバーのホスト アドレス (デフォルト: 127.0.0.1)
  • --port , -p : MCP サーバーのポート (デフォルト: 8000)

デプロイメントスクリプト

簡単に展開するには、提供されているスクリプトを使用します。

./deploy.sh --host 0.0.0.0 --port 8000 --workers 4

レプリケーションを有効にするには:

# Primary instance ./deploy.sh --enable-replication --port 8000 # Secondary instance ./deploy.sh --enable-replication --secondary --port 8001 --peer 127.0.0.1:8000

ウェブクライアント

ウェブクライアントを使用するには、ブラウザでweb-client.htmlを開いてください。API サーバーが実行中であることを確認してください。

APIエンドポイント

標準APIエンドポイント

  • POST /conversation : 新しい会話を作成する
  • POST /conversation/{conversation_id}/message : 会話にメッセージを送信する
  • POST /conversation/{conversation_id}/message/stream : メッセージ応答をストリーミングする
  • GET /conversation/{conversation_id} : 会話の詳細を取得する
  • DELETE /conversation/{conversation_id} : 会話を削除する
  • GET /health : ヘルスチェックエンドポイント

MCP プロトコルエンドポイント

  • GET / : ヘルスチェック(MCPプロトコル)
  • POST /context : プロンプトテンプレートのコンテキストを取得する
  • GET /prompts : 利用可能なプロンプトテンプレートの一覧
  • GET /prompts/{prompt_id} : 特定のプロンプトテンプレートを取得する
  • POST /prompts : 新しいプロンプトテンプレートを作成する
  • PUT /prompts/{prompt_id} : 既存のプロンプトテンプレートを更新する
  • DELETE /prompts/{prompt_id} : プロンプトテンプレートを削除する

レプリケーション

レプリケーションシステムにより、アシスタントの複数のインスタンスを同期状態で実行できます。これにより、以下のメリットが得られます。

  • 高可用性
  • 負荷分散
  • フォールトトレランス

レプリケーションを設定するには:

  1. --enable-replicationでプライマリインスタンスを起動します
  2. --enable-replication --secondary --peer [primary-host:port]でセカンダリインスタンスを起動します。

ツール

アシスタントにはさまざまなツールが含まれています:

  • 天気: 特定の場所の現在の天気を取得します
  • 表示: ファイルシステムからファイルを読み取る
  • 編集: ファイルを編集する
  • 置換: ファイルを書き込む
  • Bash: bashコマンドを実行する
  • GlobTool: ファイルパターンマッチング
  • GrepTool: コンテンツ検索
  • LS: ディレクトリの内容を一覧表示する
  • JinaSearch: Jina.ai を使用した Web 検索
  • JinaFactCheck: Jina.aiを使ったファクトチェック
  • JinaReadURL: ウェブページを読んで要約する

CLIコマンド

  • /help : ヘルプメッセージを表示する
  • /compact : 会話をコンパクトにしてトークンの使用量を減らす
  • /status : トークンの使用状況とセッション情報を表示する
  • /config : 現在の構成設定を表示する
  • /rl-status : RLツールオプティマイザーのステータスを表示する(有効な場合)
  • /rl-update : RLモデルを手動で更新する(有効な場合)
  • /rl-stats : ツールの使用統計を表示する(有効な場合)
-
security - not tested
F
license - not found
-
quality - not tested

CLI インタラクション、Web API 統合、ツールベースのアーキテクチャなどの機能を使用したコーディング支援のために OpenAI API と MCP クライアント間の接続を可能にするモデル コンテキスト プロトコル サーバーの実装。

  1. Key Features
    1. Installation
      1. Usage
        1. CLI Mode
        2. MCP Server Mode
        3. MCP Client Mode
        4. Multi-Agent MCP Mode
      2. Available Tools
        1. Chat Commands
          1. Architecture
            1. Using with Model Context Protocol
              1. Using Claude Code as an MCP Server
              2. Using Claude Code as an MCP Client
              3. Using Multi-Agent Mode
            2. Contributing
              1. License
                1. Acknowledgments
                  1. Features
                    1. Installation
                      1. Usage
                        1. CLI Mode
                        2. API Server Mode
                        3. MCP Server Mode
                        4. MCP Client Mode
                        5. Deployment Script
                        6. Web Client
                      2. API Endpoints
                        1. Standard API Endpoints
                        2. MCP Protocol Endpoints
                      3. Replication
                        1. Tools
                          1. CLI Commands
                            ID: o0r4qq1gpp