gpt5-mcp
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"gpt5-mcp": {
"args": [
"/絶対//gpt5-mcp-server/dist/cli.js"
],
"command": "/opt/homebrew/bin/node",
"env": {
"DEFAULT_VERBOSITY": "medium",
"OPENAI_API_KEY": "sk-...",
"OPENAI_MODEL": "gpt-5",
"OPENAI_TIMEOUT_MS": "120000",
"REASONING_EFFORT": "low",
"WEB_SEARCH_CONTEXT_SIZE": "medium",
"WEB_SEARCH_DEFAULT_ENABLED": "false"
}
}
}
}
服务介绍
GPT-5 MCP Server (TypeScript)
An MCP server that exposes a gpt5_query tool for GPT-5 inference via OpenAI Responses API, with optional Web Search Preview. Supports per-call overrides for verbosity, reasoning effort, and other parameters.
Features
- TypeScript MCP server using
@modelcontextprotocol/sdk gpt5_querytoolweb_search_previewintegration (optional)verbosity(low|medium|high)reasoning.effort(low|medium|high)tool_choice(auto|none),parallel_tool_callssystemprompt,model,max_output_tokens
- Config via environment variables with per-call overrides
Quick Start
- Install dependencies
pnpm i # or npm i / yarn
- Configure environment
Create .env (or export env vars):
OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-5
OPENAI_MAX_RETRIES=3
OPENAI_TIMEOUT_MS=60000
REASONING_EFFORT=medium
DEFAULT_VERBOSITY=medium
WEB_SEARCH_DEFAULT_ENABLED=false
WEB_SEARCH_CONTEXT_SIZE=medium
- Build and run
pnpm run build
pnpm start
For development (watch mode):
pnpm run dev
Using with MCP Clients (Claude Code, Claude Desktop)
This server speaks Model Context Protocol (MCP) over stdio and emits pure JSON to stdout, making it safe for Claude Code and Claude Desktop.
Prerequisites
- Node.js 18+
- OpenAI API key via
.envor environment variable
- Build
pnpm run build
- Run directly (recommended)
- Command:
node - Args:
dist/cli.js - CWD: repository root (required if you want
.envto be loaded)
Example:
node dist/cli.js
- Add to Claude Code (VS Code)
- Command Palette "Claude: Manage MCP Servers"
- "Add server" with:
- Name:
gpt5-mcp - Command:
node(or absolute path, e.g.,/opt/homebrew/bin/node) - Args: ["/absolute/path/to/gpt5-mcp-server/dist/cli.js"] (or just
gpt5-mcp-serverif installed globally) - Env (choose one):
- Option A (ENV_FILE):
ENV_FILE=/absolute/path/to/gpt5-mcp-server/.env - Option B (explicit): set
OPENAI_API_KEY,OPENAI_MODEL,OPENAI_TIMEOUT_MS,DEFAULT_VERBOSITY,REASONING_EFFORT,WEB_SEARCH_DEFAULT_ENABLED,WEB_SEARCH_CONTEXT_SIZE
- Option A (ENV_FILE):
- Name:
- Add to Claude Desktop
Edit config (e.g., macOS:~/Library/Application Support/Claude/claude_desktop_config.json) and add:
Option A: using ENV_FILE
{
"mcpServers": {
"gpt5-mcp": {
"command": "/opt/homebrew/bin/node",
"args": ["/absolute/path/to/gpt5-mcp-server/dist/cli.js"],
"env": {
"ENV_FILE": "/absolute/path/to/gpt5-mcp-server/.env"
}
}
}
}
Option B: explicit env vars
{
"mcpServers": {
"gpt5-mcp": {
"command": "/opt/homebrew/bin/node",
"args": ["/absolute/path/to/gpt5-mcp-server/dist/cli.js"],
"env": {
"OPENAI_API_KEY": "sk-...",
"OPENAI_MODEL": "gpt-5",
"OPENAI_TIMEOUT_MS": "120000",
"DEFAULT_VERBOSITY": "medium",
"REASONING_EFFORT": "low",
"WEB_SEARCH_DEFAULT_ENABLED": "false",
"WEB_SEARCH_CONTEXT_SIZE": "medium"
}
}
}
}
- CLI usage
- Package exposes bin(s).
- Local link:
npm linkrungpt5-mcp-server - Global (after publish):
npm i -g gpt5-mcp-servergpt5-mcp-server - Direct:
node /absolute/path/to/gpt5-mcp-server/dist/cli.js
- Local link:
- Web Search notes
- Due to OpenAI constraints,
web_search_previewcannot be combined withreasoning.effort = minimal. - This server automatically bumps effort to
mediumifweb_search.enabled = true. - If you need strict
minimal, setweb_search.enabled = false.
- Troubleshooting
- JSON parse error (Unexpected token ...)
- Likely extra logs on stdio. Use
node dist/cli.js, avoidnpx.
- Likely extra logs on stdio. Use
- Auth error
- Ensure
OPENAI_API_KEYis provided.
- Ensure
- Timeout
- Increase
OPENAI_TIMEOUT_MS(e.g., 120000).
- Increase
- 400 with Web Search
- Caused by
minimaleffort + web search. It's auto-bumped tomedium; alternatively setreasoning_effort=mediumor disableweb_search.
- Caused by
Tool: gpt5_query
Input schema (JSON):
{
"query": "string",
"model": "string?",
"system": "string?",
"reasoning_effort": "low|minimal|medium|high?",
"verbosity": "low|medium|high?",
"tool_choice": "auto|none?",
"parallel_tool_calls": "boolean?",
"max_output_tokens": "number?",
"web_search": {
"enabled": "boolean?",
"search_context_size": "low|medium|high?"
}
}
Example call (Inspector or client):
{
"method": "tools/call",
"params": {
"name": "gpt5_query",
"arguments": {
"query": "Summarize the latest on X.",
"verbosity": "low",
"web_search": { "enabled": true, "search_context_size": "medium" }
}
}
}
Defaults and behavior
- model: defaults to
OPENAI_MODEL(env). Example:gpt-5. - system: optional. Sent as
instructions. - reasoning_effort: accepts
low|minimal|medium|high. Internallylowminimal- Constraint: when
web_search.enabled=trueand effort isminimal, it is auto-bumped tomediumto satisfy OpenAI constraints.
- Constraint: when
- verbosity: defaults to
DEFAULT_VERBOSITY(env). Sent astext.verbosity. - tool_choice: default
auto. - parallel_tool_calls: default
true. - max_output_tokens: optional; omitted when not set.
- web_search.enabled: defaults to
WEB_SEARCH_DEFAULT_ENABLED(env). - web_search.search_context_size: defaults to
WEB_SEARCH_CONTEXT_SIZE(env). Allowed:low|medium|high.
Environment variable mapping
OPENAI_API_KEY(required)OPENAI_MODELmodel defaultOPENAI_MAX_RETRIESOpenAI clientOPENAI_TIMEOUT_MSOpenAI clientREASONING_EFFORTreasoning_effort default (low|minimal|medium|high)DEFAULT_VERBOSITYverbosity default (low|medium|high)WEB_SEARCH_DEFAULT_ENABLEDweb_search.enabled default (true|false)WEB_SEARCH_CONTEXT_SIZEweb_search.search_context_size default (low|medium|high)
Output shape
- On success:
content: [{ type: "text", text: string }] - On error:
isError: trueand atextitem withError: ...
Notes
- If the selected model does not support certain fields (e.g.,
verbosity), they are ignored. - Keep API keys out of logs. Ensure
.envis not committed.
License
MIT
日本語 (Japanese)
: gpt5_query
入力 (JSON):
{
"query": "string",
"model": "string?",
"system": "string?",
"reasoning_effort": "low|minimal|medium|high?",
"verbosity": "low|medium|high?",
"tool_choice": "auto|none?",
"parallel_tool_calls": "boolean?",
"max_output_tokens": "number?",
"web_search": {
"enabled": "boolean?",
"search_context_size": "low|medium|high?"
}
}
例 (Inspector ):
{
"method": "tools/call",
"params": {
"name": "gpt5_query",
"arguments": {
"query": "Summarize the latest on X.",
"verbosity": "low",
"web_search": { "enabled": true, "search_context_size": "medium" }
}
}
}
既定値挙動
- model: 既定
OPENAI_MODEL環境変数例:gpt-5 - system: 任意OpenAI
instructions送信 - reasoning_effort:
low|minimal|medium|high受付内部的lowminimal扱- 制約:
web_search.enabled=trueeffort=minimal場合OpenAI 制約合自動的medium引上
- 制約:
- verbosity: 既定
DEFAULT_VERBOSITY環境変数OpenAItext.verbosity送信 - tool_choice: 既定
auto - parallel_tool_calls: 既定
true - max_output_tokens: 任意未指定場合送信
- web_search.enabled: 既定
WEB_SEARCH_DEFAULT_ENABLED環境変数 - web_search.search_context_size: 既定
WEB_SEARCH_CONTEXT_SIZE環境変数許容値:low|medium|high
環境変数
OPENAI_API_KEY必須OPENAI_MODELmodel 既定OPENAI_MAX_RETRIESOpenAI 設定OPENAI_TIMEOUT_MSOpenAI 設定REASONING_EFFORTreasoning_effort 既定low|minimal|medium|highDEFAULT_VERBOSITYverbosity 既定low|medium|highWEB_SEARCH_DEFAULT_ENABLEDweb_search.enabled 既定true|falseWEB_SEARCH_CONTEXT_SIZEweb_search.search_context_size 既定low|medium|high
出力形式
- 成功時:
content: [{ type: "text", text: string }] - 時:
isError: truetextError: ...
注意
- 選択特定例:
verbosity場合無視 - API 出力
.env
MCP Server使方
Model Context Protocol (MCP) 標準入出力stdio動作純粋 JSON stdout 出力設計MCP Inspector / Claude Code / Claude Desktop 安全接続
前提
- Node.js 18+
- OpenAI API
.env環境変数設定
pnpm run build
- 直接起動推奨
- :
node - 引数:
dist/cli.js - CWD:
.env読場合必須
例:
node dist/cli.js
- Claude CodeVS Code 拡張追加
- VS Code Claude: Manage MCP Servers
- Add server次入力:
- Name:
gpt5-mcp - Command:
node絶対可 - Args:
["/絶対//gpt5-mcp-server/dist/cli.js"]導入済不要 - Env一方:
- AENV_FILE:
ENV_FILE=/絶対//gpt5-mcp-server/.env - B明示指定:
OPENAI_API_KEY``OPENAI_MODEL``OPENAI_TIMEOUT_MS``DEFAULT_VERBOSITY``REASONING_EFFORT``WEB_SEARCH_DEFAULT_ENABLED``WEB_SEARCH_CONTEXT_SIZE
- AENV_FILE:
- Name:
- Claude Desktop 追加
設定例: macOS~/Library/Application Support/Claude/claude_desktop_config.json編集以下追記
A: ENV_FILE 使
{
"mcpServers": {
"gpt5-mcp": {
"command": "/opt/homebrew/bin/node",
"args": ["/絶対//gpt5-mcp-server/dist/cli.js"],
"env": {
"ENV_FILE": "/絶対//gpt5-mcp-server/.env"
}
}
}
}
B: 環境変数明示指定
{
"mcpServers": {
"gpt5-mcp": {
"command": "/opt/homebrew/bin/node",
"args": ["/絶対//gpt5-mcp-server/dist/cli.js"],
"env": {
"OPENAI_API_KEY": "sk-...",
"OPENAI_MODEL": "gpt-5",
"OPENAI_TIMEOUT_MS": "120000",
"DEFAULT_VERBOSITY": "medium",
"REASONING_EFFORT": "low",
"WEB_SEARCH_DEFAULT_ENABLED": "false",
"WEB_SEARCH_CONTEXT_SIZE": "medium"
}
}
}
}
- CLI 利用
- bin 含
- :
npm link後gpt5-mcp-server - 公開後:
npm i -g gpt5-mcp-servergpt5-mcp-server - 直接実行:
node /絶対//gpt5-mcp-server/dist/cli.js
- Web Search 関注意
- OpenAI 制約
web_search_previewreasoning.effort = minimal併用 - 本
web_search.enabled = true場合自動的 effortmedium引上呼出 minimal厳格使場合web_search.enabled = false
- JSON Unexpected token ...
- stdio 余計出力混可能性
node dist/cli.js使npx避 .env読込既抑止済
- stdio 余計出力混可能性
- 認証
OPENAI_API_KEY正渡確認
-
OPENAI_TIMEOUT_MS増例: 120000
- Web Search 400
reasoning.effort=minimalweb_search併用不可原因自動的medium上明示的medium指定web_search無効化