关于 OpenAI MCP Server
OpenAI MCP Server 通过 MCP SDK 向 Augment 提供 OpenAI API 能力,支持聊天补全、模型列表和文本嵌入,并提供 API 密钥配置及错误日志记录。
主要功能
- 01列出可用的 OpenAI 模型
- 02生成聊天补全
- 03创建文本嵌入
- 04通过环境设置管理 API 密钥
- 05处理错误并记录操作日志
适用场景
- 01查看可用的 OpenAI 模型
- 02根据对话消息生成回复
- 03为文本输入创建嵌入
MCP 相关
该 MCP 服务通过 OpenAI API 向 Augment 提供列出模型、生成聊天补全和创建嵌入的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OpenAI MCP 服务
这是 OpenAI API 的模型上下文协议(MCP)服务实现。该服务使用官方 MCP SDK,为 Augment 和 OpenAI 的语言模型提供标准化接口。
什么是 MCP?
模型上下文协议(MCP)是一种标准化的 API 规范,为与各种大语言模型(LLM)交互提供统一方式。它使 Augment 等应用能够通过一致的接口使用不同的 LLM 提供商。
MCP 是 LLM 的“通用适配器”——它会将应用请求转换为各个 LLM 提供商所需的特定格式。
功能
- 🔄 使用官方 MCP SDK,确保兼容性
- 安全管理 API 密钥
- 📊 支持聊天补全
- 📋 模型列表
- 🧠 生成嵌入向量
- ⚠️ 完善的错误处理和日志记录
前提条件
- Node.js(v16 或更高版本)
- npm 或 yarn
- OpenAI API 密钥
安装
- 克隆此仓库,或将文件复制到项目目录
- 安装依赖:
npm install
- 根据提供的
.env.example创建.env文件:
cp .env.example .env
- 将你的 OpenAI API 密钥添加到
.env文件中:
OPENAI_API_KEY=your_openai_api_key_here
运行服务
使用以下命令启动服务:
npm start
在开发过程中,若文件发生更改,可使用以下命令自动重启:
npm run dev
与 Augment 配合使用
要将此 MCP 服务与 Augment 配合使用,请将以下内容添加到 Augment 的 settings.json 文件中:
"augment.advanced": {
"mcpServers": [
{
"name": "openai-mcp",
"command": "node",
"args": ["/path/to/openai-mcp-server.js"],
"env": {
"OPENAI_API_KEY": "your_openai_api_key_here",
"DEBUG": "true"
}
}
]
}
将 /path/to/openai-mcp-server.js 替换为系统中服务文件的实际路径。
可用工具
此 MCP 服务向 Augment 提供以下工具:
1. 列出模型
列出所有可用的 OpenAI 模型。
2. 聊天补全
使用 OpenAI 的聊天补全 API 生成响应。支持以下参数:
model:要使用的模型(例如,gpt-3.5-turbo、gpt-4)messages:对话消息数组temperature:控制随机性(0-1)max_tokens:要生成的最大令牌数
3. 创建嵌入向量
使用 OpenAI 的嵌入 API 为文本生成嵌入向量。支持以下参数:
model:要使用的模型(例如,text-embedding-ada-002)input:要嵌入的文本(字符串或字符串数组)
测试
提供了示例客户端 client-example.js,可用于测试 MCP 服务。运行命令如下:
node client-example.js
了解代码
该服务由几个关键组件构成:
- MCP SDK 集成:使用官方 MCP SDK 进行标准化通信
- 工具处理程序:为每个受支持的工具实现处理程序
- OpenAI API 集成:与 OpenAI API 通信
- 错误处理:提供一致的错误响应
- 日志记录:记录操作以便调试
可能的改进
有关此实现可能改进内容的列表,请参阅 mcp-server-improvement-suggestions.md。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。