OpenAI模型交互服务器

一个通过MCP协议连接AI助手与OpenAI API的服务,提供文本生成、模型管理和图像生成功能。

  • by akiojin
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 akiojin/openai-mcp-server

使用说明

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

配置

  1. 创建一个 .env 项目根目录中的文件:
cp .env.example .env
  1. 将您的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

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 遵循传统的提交格式进行提交
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

支持

有关问题和功能请求,请使用 GitHub问题跟踪器.