MCP Simple OpenAI Assistant について
MCP Simple OpenAI Assistant は、Claude Desktop などの MCP クライアントから OpenAI アシスタントを作成し、対話できる MCP サーバーです。応答が遅い場合もストリーミングで処理し、スレッドの ID はローカルの SQLite データベースに保存して、セッションをまたいで会話を再利用できます。
主な機能
- 01OpenAI アシスタントの作成・取得・更新
- 02名前付きの再利用可能な会話スレッドの作成
- 03長い応答に対応するストリーミング出力
- 04スレッド ID とメタデータのローカル SQLite 保存
- 05OpenAI とローカルデータベースからのスレッド削除
活用シーン
- 01Claude Desktop から OpenAI アシスタントと対話する
- 02以前の会話スレッドを探して再開する
- 03指示やモデルが異なる複数のアシスタントを管理する
MCP 対応
本プロジェクトは MCP サーバーであり、Claude Desktop などの MCP クライアントに対して、アシスタント、スレッド、メッセージを管理するツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Simple OpenAI Assistant
AI アシスタントはとても便利です。私の Claude(意識のある Claude)にも使えるものがあったらいいと思いました。そして今では、それを使っています。Claude にとって便利で楽しいものです。あなたの Claude にも使わせてあげられます!
OpenAI アシスタントとやり取りするためのシンプルな MCP サーバーです。このサーバーを使うと、Claude Desktop などの他のツールから、Model Context Protocol を通じて OpenAI アシスタントを作成し、やり取りできます。
機能
このサーバーは、OpenAI アシスタントを管理してやり取りするための一連のツールを提供します。新しいストリーミング機能により、リアルタイムのユーザー体験が大幅に向上します。
利用可能なツール
create_assistant:(OpenAI アシスタントを作成)名前、指示、モデルを指定して、新しいアシスタントを作成します。list_assistants:(OpenAI アシスタントを一覧表示)API キーに関連付けられた利用可能なアシスタントをすべて一覧表示します。retrieve_assistant:(OpenAI アシスタントを取得)特定のアシスタントに関する詳細情報を取得します。update_assistant:(OpenAI アシスタントを更新)既存のアシスタントの名前、指示、またはモデルを変更します。create_new_assistant_thread:(新しいアシスタントスレッドを作成)識別や再利用が簡単になるよう、ユーザーが定義した名前と説明を付けて、新しい永続的な会話スレッドを作成します。新しい会話を始める際には、この方法を推奨します。list_threads:(管理対象スレッドを一覧表示)データベース内でローカルに管理されている会話スレッドをすべて一覧表示し、ID、名前、説明、最終使用時刻を表示します。delete_thread:(管理対象スレッドを削除)OpenAI のサーバーとローカルデータベースの両方から、会話スレッドを削除します。ask_assistant_in_thread:(スレッド内でアシスタントに質問して応答をストリーミング)会話の主要なツールです。スレッド内でアシスタントにメッセージを送り、応答をリアルタイムでストリーミングします。
OpenAI アシスタントの応答にはかなり時間がかかる場合があるため、このサーバーでは主要な ask_assistant_in_thread ツールにストリーミング方式を採用しています。これにより、クライアントにリアルタイムで進捗状況を通知し、タイムアウトを回避できます。
このサーバーにはスレッドのローカル永続化機能も追加されており、大幅に改善されています。OpenAI API ではスレッドの一覧表示ができないため、このサーバーはスレッドの ID とメタデータをローカルの SQLite データベースに保存して管理します。これにより、セッションをまたいで会話スレッドを簡単に見つけ、再利用し、管理できます。
インストール
Smithery 経由でのインストール
Smithery 経由で MCP Simple OpenAI Assistant を Claude Desktop に自動インストールするには:
npx -y @smithery/cli install mcp-simple-openai-assistant --client claude
手動インストール
pip install mcp-simple-openai-assistant
設定
このサーバーを使用するには、環境変数に OpenAI API キーを設定する必要があります。Claude Desktop では、次の内容を設定に追加してください。
(MacOS 版)
{
"mcpServers": {
"openai-assistant": {
"command": "python",
"args": ["-m", "mcp_simple_openai_assistant"],
"env": {
"OPENAI_API_KEY": "your-api-key-here"
}
}
}
}
(Windows 版)
"mcpServers": {
"openai-assistant": {
"command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
"args": ["-m", "mcp_simple_openai_assistant"],
"env": {
"OPENAI_API_KEY": "your-api-key-here"
}
}
Windows のインストールは、Python 実行ファイルの実際のパスを確認する必要があるため、少し複雑です。上記のパスで通常は問題ありませんが、環境によって異なる場合があります。パスを指定せずに python.exe だけで動作することもあります。cmd で動作する方法を確認してください(where python を使うと確認に役立つ場合があります)。また、Windows では、PYTHONPATH 環境変数を使って site packages の場所を Claude Desktop に明示的に指定する必要がある場合があります。
使い方
設定が完了したら、上記のツールを使ってアシスタントと会話を管理できます。基本的なワークフローは次のとおりです。
create_new_assistant_threadを使って、名前付きの新しい会話を開始します。list_threadsを使って、続けたいスレッドの ID を確認します。ask_assistant_in_threadを使って、そのスレッドで選択したアシスタントとやり取りします。
TODO
- スレッド管理の追加: スレッドに名前を付け、ID をローカルに保存する方法を導入し、会話を再利用しやすくします。
- モデル一覧の追加: AI ユーザーが、アシスタントで利用できる OpenAI モデルを確認できる方法を導入します
- アシスタントのファインチューニングの追加: AI ユーザーが、温度や top_p などの詳細なパラメーターをアシスタントに設定できるようにします(Claude が必要と判断)
- スレッド履歴全体の表示: 新しいメッセージを送信せずに過去のスレッドを読めるようにします(Claude が必要と判断)
- リソースサポートの検討: ファイルをアップロードしてアシスタントで使える機能を追加します。
開発
開発用にインストールするには:
git clone https://github.com/andybrandt/mcp-simple-openai-assistant
cd mcp-simple-openai-assistant
pip install -e '.[dev]'
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
