gpt-chat について
gpt-chatは、OpenAIのChatGPT APIをMCPクライアントに提供するRust製MCPサーバーです。チャット、画像分析、埋め込み、モデル一覧に対応し、JSON出力の形式指定や会話履歴も扱えます。
主な機能
- 01会話履歴とシステムプロンプトに対応するチャット
- 02JSON Schemaによる応答形式の指定
- 03URLによる画像分析
- 04テキスト埋め込みの生成
- 05利用可能なOpenAIモデルの一覧
活用シーン
- 01MCPクライアントからChatGPTを利用
- 02Schemaに沿ったJSON応答を取得
- 03テキスト入力の埋め込みを生成
- 04プロンプトを使って画像を分析
MCP 対応
stdio経由で、チャット、画像分析、埋め込み、モデル一覧のツールをMCPクライアントに提供します。OpenAI APIを使用し、APIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-server-gpt-chat
OpenAI ChatGPT API 用の MCP(Model Context Protocol)サーバーです。Rust で構築されており、チャット補完、ビジョン、埋め込み、モデル一覧取得を MCP ツールとして公開します。
すべての MCP サーバーと同様に、JSON-RPC 2.0 を使用して stdio 経由で通信します。
ツール
| ツール | 説明 |
|---|---|
chat | ChatGPT にチャット補完リクエストを送信します。複数ターンの履歴、システムプロンプト、構造化出力(JSON スキーマ)、モデル選択を指定できます |
chat_with_vision | 画像 URL とテキストプロンプトを指定して、ChatGPT のビジョン機能で画像を分析します |
embedding | OpenAI の埋め込みモデルを使用してテキスト埋め込みを生成します |
list_models | 利用可能なすべての OpenAI モデルとその ID を一覧表示します |
chat
チャット補完リクエストを送信します。JSON メッセージ履歴配列による複数ターンの会話、システムプロンプト、JSON スキーマによる構造化出力、温度の制御、モデル選択に対応しています。
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
prompt | string | はい | 送信するユーザーメッセージ |
model | string | いいえ | 使用するモデル(デフォルト:gpt-4o) |
system_prompt | string | いいえ | コンテキストを設定するシステムプロンプト |
messages | string | いいえ | {role, content} オブジェクトの JSON 配列として指定する会話履歴全体 |
temperature | float | いいえ | サンプリング温度(0.0 - 2.0) |
max_tokens | integer | いいえ | 生成するトークンの最大数 |
response_schema | string | いいえ | 構造化出力を強制する JSON スキーマ文字列 |
chat_with_vision
ChatGPT のビジョン機能を使用して画像を分析します。
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
prompt | string | はい | 分析内容を説明するテキストプロンプト |
image_url | string | はい | 画像の URL(http:// または https:// である必要があります) |
model | string | いいえ | 使用するモデル(デフォルト:gpt-4o) |
detail | string | いいえ | 画像の詳細レベル:low または high(デフォルト:high) |
temperature | float | いいえ | サンプリング温度(0.0 - 2.0) |
max_tokens | integer | いいえ | 生成するトークンの最大数 |
embedding
テキスト埋め込みを生成します。
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
input | string | はい | 埋め込むテキストを JSON で指定します。単一の文字列または文字列の配列です |
model | string | いいえ | 使用する埋め込みモデル(デフォルト:text-embedding-3-small) |
list_models
利用可能なすべての OpenAI モデルを一覧表示します。パラメーターはありません。
前提条件
- Rust(edition 2024)
- platform.openai.com で取得した OpenAI API キー
セットアップ
設定ファイルを作成します:
mkdir -p ~/.config/mcp-server-gpt-chat
~/.config/mcp-server-gpt-chat/config.toml を作成します:
api_key = "sk-..."
ビルド
cargo build --release
これにより target/release/gpt-chat が生成されます。
開発時:
cargo build # debug build
cargo run # run in dev mode
RUST_LOG=debug cargo run # run with debug logging
MCP の設定
Claude Desktop の設定ファイル(~/.config/Claude/claude_desktop_config.json)に追加します:
{
"mcpServers": {
"gpt-chat": {
"command": "/path/to/gpt-chat"
}
}
}
プロジェクト構成
src/
main.rs - entry point, config loading, stdio transport setup
server.rs - MCP tool definitions (chat, chat_with_vision, embedding, list_models)
api.rs - OpenAI HTTP client, request/response types, response formatters
params.rs - tool parameter types with serde and JSON Schema derives
config.rs - TOML config loading
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。