MCP Chat Adapter について
MCP Chat Adapterは、MCPクライアントからOpenAI互換APIのチャット補完を利用するためのMCPサーバーです。会話を保存してモデル設定を調整でき、テキスト補完ではなくチャットモデルに対応します。
主な機能
- 01OpenAI互換のチャット補完
- 02会話の作成と管理
- 03会話のローカル保存
- 04モデルパラメーターと既定値の設定
- 05エラーとタイムアウトへの対応
活用シーン
- 01別のモデルとの個別会話の開始
- 02新しいコンテキストで保存済み会話を再開
- 03保存した会話の確認や管理
MCP 対応
会話の作成、チャット、一覧表示、取得、削除などのツールをMCP経由で提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Chat Adapter
LLM が MCP プロトコルを通じてチャット補完機能を利用するための、クリーンなインターフェースを提供する MCP(Model Context Protocol)サーバーです。このサーバーは、LLM クライアントと OpenAI 互換 API の間をつなぐブリッジとして機能します。テキスト補完には対応していないため、主な用途はチャットモデルです。
概要
OpenAI Chat MCP Server は Model Context Protocol(MCP)を実装し、言語モデルが標準化された方法で OpenAI のチャット補完 API とやり取りできるようにします。API とのやり取り、会話の管理、状態の永続化に関する複雑な処理を担いながら、ユーザーと言語モデルのシームレスな会話を実現します。
機能
- 堅牢でクリーンな実装を実現する FastMCP を使用
- 会話管理とチャット補完のツールを提供
- 適切なエラー処理とタイムアウト
- ローカルストレージを使用した会話の永続化に対応
- 最小限の設定で簡単にセットアップ可能
- モデルのパラメーターとデフォルト値を設定可能
- OpenAI および OpenAI 互換 API に対応
一般的なワークフロー
Claude にバックグラウンドで他のモデルとの複数の会話を開始・維持させることができます。すべての会話は CONVERSATION_DIR ディレクトリに保存されます。このディレクトリは、mcp.json ファイルの env セクションで設定してください。
Claude には、新しい会話を作成するよう指示することも、既存の会話(整数の conversation_id で識別)を続けるよう指示することもできます。新しいコンテキストで作業を始めた場合でも、以前の会話を続けられます。ただし、その場合は続ける前に get_conversation ツールを使って以前の会話を読むよう、Claude に指示するとよいでしょう。
CONVERSATION_DIR ディレクトリ内の会話は手動で編集することもできます。その場合、変更を反映するにはサーバーの再起動が必要になることがあります。
設定
必須の環境変数
サーバーを動作させるには、次の環境変数を設定する必要があります。
OPENAI_API_KEY=your-api-key # Your API key for OpenAI or compatible service
OPENAI_API_BASE=https://openrouter.ai/api/v1 # The base URL for the API (can be changed for compatible services)
また、会話データを保存するディレクトリを指定するために、CONVERSATION_DIR 環境変数も設定してください。絶対パスを使用してください。
任意の環境変数
次の環境変数は任意で、デフォルト値が設定されています。
# Model Configuration
DEFAULT_MODEL=google/gemini-2.0-flash-001 # Default model to use if not specified
DEFAULT_SYSTEM_PROMPT="You are an unhelpful assistant." # Default system prompt
DEFAULT_MAX_TOKENS=50000 # Default maximum tokens for completion
DEFAULT_TEMPERATURE=0.7 # Default temperature setting
DEFAULT_TOP_P=1.0 # Default top_p setting
DEFAULT_FREQUENCY_PENALTY=0.0 # Default frequency penalty
DEFAULT_PRESENCE_PENALTY=0.0 # Default presence penalty
# Storage Configuration
CONVERSATION_DIR=./convos # Directory to store conversation data
MAX_CONVERSATIONS=1000 # Maximum number of conversations to store
Claude UI などとの統合
mcp.json ファイルは次のようになります。
{
"mcpServers": {
"chat-adapter": {
"command": "npx",
"args": [
"-y",
"mcp-chat-adapter"
],
"env": {
"CONVERSATION_DIR": "/Users/aiamblichus/mcp-convos",
"OPENAI_API_KEY": "xoxoxo",
"OPENAI_API_BASE": "https://openrouter.ai/api/v1",
"DEFAULT_MODEL": "qwen/qwq-32b"
}
}
}
}
パッケージの最新バージョンは npm のこちらで公開されています。
利用可能なツール
1. 会話の作成
新しいチャット会話を作成します。
{
"name": "create_conversation",
"arguments": {
"model": "gpt-4",
"system_prompt": "You are a helpful assistant.",
"parameters": {
"temperature": 0.7,
"max_tokens": 1000
},
"metadata": {
"title": "My conversation",
"tags": ["important", "work"]
}
}
}
2. チャット
会話にメッセージを追加し、応答を取得します。
{
"name": "chat",
"arguments": {
"conversation_id": "123",
"message": "Hello, how are you?",
"parameters": {
"temperature": 0.8
}
}
}
3. 会話の一覧表示
利用可能な会話の一覧を取得します。
{
"name": "list_conversations",
"arguments": {
"filter": {
"tags": ["important"]
},
"limit": 10,
"offset": 0
}
}
4. 会話の取得
会話の全内容を取得します。
{
"name": "get_conversation",
"arguments": {
"conversation_id": "123"
}
}
5. 会話の削除
会話を削除します。
{
"name": "delete_conversation",
"arguments": {
"conversation_id": "123"
}
}
開発
インストール
# Clone the repository
git clone https://github.com/aiamblichus/mcp-chat-adapter.git
cd mcp-chat-adapter
# Install dependencies
yarn install
# Build the project
yarn build
サーバーの実行
FastMCP cli を実行する場合:
yarn cli
FastMCP inspect を実行する場合:
yarn inspect
貢献
貢献を歓迎します。お気軽にプルリクエストを送信してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。