关于 gpt-chat
gpt-chat 是用 Rust 编写的 MCP 服务,向 MCP 客户端开放 OpenAI 的 ChatGPT API。它提供聊天、图像分析、嵌入向量和模型查询,并支持结构化 JSON 输出与对话历史。
主要功能
- 01支持对话历史和系统提示词的聊天
- 02通过 JSON Schema 约束响应
- 03通过 URL 分析图像
- 04生成文本嵌入向量
- 05查询可用的 OpenAI 模型
适用场景
- 01从 MCP 客户端使用 ChatGPT
- 02请求符合 Schema 的 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 服务一样,通过 stdio 使用 JSON-RPC 2.0 通信。
工具
| 工具 | 描述 |
|---|---|
chat | 向 ChatGPT 发送聊天补全请求,可选多轮历史记录、系统提示词、结构化输出(JSON schema)和模型选择 |
chat_with_vision | 提供图像 URL 和文本提示词,使用 ChatGPT 的视觉能力分析图像 |
embedding | 使用 OpenAI 的嵌入模型生成文本嵌入 |
list_models | 列出所有可用的 OpenAI 模型及其 ID |
chat
发送聊天补全请求。支持通过 JSON 消息历史记录数组进行多轮对话、系统提示词、通过 JSON schema 实现结构化输出、温度控制和模型选择。
参数:
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
prompt | string | 是 | 要发送的用户消息 |
model | string | 否 | 要使用的模型(默认:gpt-4o) |
system_prompt | string | 否 | 用于设置上下文的系统提示词 |
messages | string | 否 | 完整对话历史记录,采用 {role, content} 对象组成的 JSON 数组 |
temperature | float | 否 | 采样温度(0.0 - 2.0) |
max_tokens | integer | 否 | 要生成的最大 token 数 |
response_schema | string | 否 | 用于强制生成结构化输出的 JSON schema 字符串 |
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 | 否 | 要生成的最大 token 数 |
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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。