使用说明
OpenAI MCP服务器
模型上下文协议(MCP)服务器,使AI助手能够进行交互 使用OpenAI的ChatGPT API。
特性
- 聊天完成:使用OpenAI的最新语言模型生成文本 (GPT-4.1、GPT-4.1-mini、GPT-4.17-nano、GPT-4o、o1、o1-pro、o3、o4 mini)
- 列出型号:检索可用的OpenAI模型
- 可配置参数:控制温度、最大令牌和其他 生成设置
先决条件
- Node.js 18或更高版本
- OpenAI API密钥
安装
# Clone the repository
git clone https://github.com/akiojin/openai-mcp-server.git
cd openai-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
配置
- 创建一个
.env项目根目录中的文件:
cp .env.example .env
- 将您的OpenAI API密钥添加到
.env文件:
OPENAI_API_KEY=your_api_key_here
用法
使用例
这个MCP服务器Claude Code等的AI假定从助手调用并使用:
- 验证输出结果: Claude Code输出结果ChatGPT来验证
- 画像生成: Claude Code中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积MCP通过服务器ChatGPT的,之gpt-image-1可以使用模型生成图像
- 使用不同的模型:根据用途不同OpenAI可分别使用型号(GPT-4.1、o1、o3等)
作为MCP服务器
将服务器添加到MCP客户端配置中:
{
"servers": {
"openai": {
"command": "node",
"args": ["path/to/openai-mcp-server/dist/index.js"]
}
}
}
可用工具
聊天完成
使用ChatGPT生成文本。
参数:
model(字符串,可选):要使用的模型(默认值:“gpt-4.1”)messages(数组,必填):包含角色和内容的聊天历史记录temperature(数字,可选):采样温度0-2(默认值:0.7)- 备注:GPT-5型号仅支持温度=1
max_tokens(数字,可选):要生成的最大令牌数- 对于GPT-4型号:默认值为1000
- 对于GPT-5型号:可选-如果未指定,型号会自动分配必要的令牌
reasoning_effort(字符串,可选): 仅限GPT-5 -控制推理深度minimal:快速响应,无推理标记low:轻松推理medium:标准推理(默认)high:复杂分析的深度推理
verbosity(字符串,可选): 仅限GPT-5 -响应长度(低/中/高)
list_models
列出所有可用的OpenAI模型。
generate_image
使用gpt-image 1模型生成图像。返回保存在临时目录中的生成图像的文件路径。
参数:
prompt(字符串,必填):所需图像的文本描述。最多1000个字符。model(字符串,可选):要使用的模型(默认值:“gpt-image 1”)n(数字,可选):要生成的图像数量1-10(默认值:1)size(字符串,可选):图像大小-“1024x1024”、“1024x1536”、“1536x1024”或“自动”(默认值:“1024x1022”)quality(字符串,可选):质量-“低”、“中”、“高”或“自动”(默认值:“自动”)background(字符串,可选):背景类型-“不透明”或“透明”(默认值:“不透明”)
注意:生成的图像保存为临时文件,以尽量减少令牌使用。响应包括文件路径,而不是base64数据。
例子:
{
"prompt": "A beautiful sunset over mountains",
"size": "1024x1024",
"quality": "high",
"background": "opaque"
}
发展
# Run in development mode with hot reload
npm run dev
# Build for production
npm run build
# Watch mode for development
npm run watch
项目结构
openai-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript (generated)
├── .env # Environment variables (create from .env.example)
├── .env.example # Example environment configuration
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
许可证
MIT许可证-有关详细信息,请参阅许可证文件
发布过程
此项目使用 语义释放 用于自动版本控制和发布。
提交消息格式
跟随 常规承诺 格式:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
提交类型
feat:新功能(次要版本凹凸)fix:错误修复(补丁版本碰撞)BREAKING CHANGE:突破性更改(主要版本碰撞)docs:文档更改(补丁版本冲突)style:格式更改(补丁版本冲突)refactor:代码重构(补丁版本碰撞)test:添加测试(补丁版本碰撞)chore:维护任务(补丁版本升级)
例子
# New feature (0.1.0 → 0.2.0)
feat: add streaming support for chat completion
# Bug fix (0.1.0 → 0.1.1)
fix: handle connection timeout properly
# Breaking change (0.1.0 → 1.0.0)
feat: redesign API interface
BREAKING CHANGE: The chat_completion tool now requires a different parameter structure
助手脚本
# Interactive commit with commitizen
npm run commit
# Test release without publishing
npm run release:dry-run
# Manual release (usually handled by CI)
npm run release
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 遵循传统的提交格式进行提交
- 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
支持
有关问题和功能请求,请使用 GitHub问题跟踪器.