How to Disable MCP for an OpenAI Plugin: 3 Practical Methods
You cannot disable MCP globally in the openai/plugins repository, but you can effectively disable MCP for an OpenAI plugin on a per-skill basis by using native REST or CLI endpoints and removing MCP references from the plugin manifest.
The openai/plugins repository uses the Model Context Protocol (MCP) as a standard client library for agent tool discovery. If you want to disable MCP for your OpenAI plugin, you must bypass or remove MCP-specific integrations at the skill level because the framework does not provide a global kill switch.
Why MCP Cannot Be Disabled Globally
According to the openai/plugins source code, MCP is embedded as a core client mechanism available to every skill. There is no global toggle to shut off MCP for the entire repository, so you must opt out within individual skills by avoiding MCP-only tools and editing manifest files.
Method 1: Use Native CLI and REST Endpoints (Wix Example)
The Wix Headless skill provides a clear example of how to disable MCP for OpenAI plugin workflows that involve site building.
Follow the SKILL.md Guidance
The file plugins/wix/skills/wix-headless/SKILL.md explicitly warns agents: "Do NOT call WixSiteBuilder MCP" for new-site requests. Invoking that MCP tool duplicates the native build process, so the skill directs you to use a CLI token and raw curl commands instead.
Code Example: REST Calls Without MCP
You can mint a site-scoped token via the Wix CLI and execute standard REST calls to bypass MCP entirely:
// Use Wix CLI token + curl (no MCP)
import { execSync } from 'child_process';
// Generate a site-scoped token using the Wix CLI
const token = execSync('npx @wix/cli@latest token --site $SITE_ID')
.toString()
.trim();
// Create a collection via REST, bypassing MCP entirely
const response = execSync(`
curl -X POST https://www.wixapis.com/v1/collections \
-H "Authorization: Bearer ${token}" \
-H "Content-Type: application/json" \
-d '{"name":"Products","fields":[{"key":"title","type":"text"}]}'
`).toString();
console.log('Created collection:', JSON.parse(response));
Key implementation details are documented in plugins/wix/skills/wix-headless/SKILL.md and plugins/wix/skills/wix-headless/references/shared/AUTHENTICATION.md.
Method 2: Call the Vercel REST API Directly
The Vercel plugin ships with both an MCP server and a native REST API via @vercel/sdk. You can disable MCP for OpenAI plugin operations by choosing the direct REST path instead of the MCP discovery layer.
Skip the MCP Server for SDK Calls
The file plugins/vercel/skills/vercel-api/SKILL.md documents a decision matrix that routes read-state operations to MCP, but you can perform those same operations—and all write operations—through the REST API directly. To avoid MCP, simply omit the vercel mcp configuration step shown in plugins/vercel/skills/vercel-cli/SKILL.md.
Code Example: Direct SDK Usage
Call the Vercel SDK functions directly without invoking the MCP server:
import vercel from '@vercel/sdk';
// List deployments without MCP
async function listDeployments(projectId) {
const deployments = await vercel.deployments.list({ projectId });
console.log('Deployments:', deployments);
}
listDeployments('my-project-id');
This approach relies on plugins/vercel/skills/vercel-api/SKILL.md for the REST path and plugins/vercel/skills/vercel-cli/SKILL.md for the MCP configuration to avoid.
Method 3: Remove MCP References from the Plugin Manifest
Every plugin in the repository declares its capabilities in plugins/*/.codex-plugin/plugin.json. Removing MCP references from this manifest prevents the Codex runtime from auto-generating static MCP tool definitions.
Edit plugin.json to Drop MCP Advertisements
For example, the Wix manifest at plugins/wix/.codex-plugin/plugin.json includes a description referencing the "Wix MCP server." By removing that phrasing, you force the agent to fall back to native REST or CLI endpoints.
{
"name": "my-custom-plugin",
"description": "My custom plugin without MCP integration.",
"skills": ["my-skill"]
}
Once the MCP reference is removed and committed, the Codex runtime will no longer expose ⤳ skill: … entries pointing to an MCP server. This effectively disables MCP for your OpenAI plugin at the integration level.
Summary
- Global disable is not supported. The
openai/pluginsframework treats MCP as a core client dependency. - Opt out per skill. Follow each skill's
SKILL.mdinstructions to avoid MCP-only tools such asWixSiteBuilder. - Use native APIs. Call REST or CLI endpoints directly, as demonstrated with the Wix and Vercel integrations.
- Update the manifest. Edit
.codex-plugin/plugin.jsonto remove MCP server descriptions and prevent automatic tool generation.
Frequently Asked Questions
Can I disable MCP for all OpenAI plugins at once?
No. The openai/plugins repository does not expose a global configuration flag to disable MCP. The framework is built around an MCP client library (@ai-sdk/mcp) that remains available system-wide, so you must opt out inside each individual skill.
Will removing MCP from plugin.json break my plugin?
No. Removing the MCP server reference from .codex-plugin/plugin.json only prevents the Codex runtime from auto-generating static MCP tool definitions. Your plugin will continue to function through its native REST and CLI interfaces.
Is the MCP server required for read-only Vercel operations?
Not necessarily. While the Vercel skill's SKILL.md suggests the MCP server for inspecting state and searching documentation, you can perform identical read operations through the @vercel/sdk REST API directly. Skipping the vercel mcp configuration avoids MCP entirely without losing functionality.
What happens if I call an MCP tool that a skill warns against?
According to plugins/wix/skills/wix-headless/SKILL.md, calling the prohibited WixSiteBuilder MCP tool for new-site requests can duplicate work or trigger unwanted side effects. Always follow the skill's explicit guidance to use CLI tokens and REST calls instead.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →