agents/apiTHE ENCYCLOPEDIA
Tools & integrations

Plugins: connect skills and MCP tools

Understand plugin packaging, capability directories, and the difference between instructions and executable tools.

Plugin manifest
Skills + MCP config
Environment
Agent uses capabilities

One package, two complementary roles

A plugin can bundle skills, MCP configuration, or both. Skills describe how to approach a task; MCP servers expose callable capabilities. The plugin is a packaging mechanism, not a replacement for the managed harness, your application, or authorization at the connected service.

Package files with explicit paths

A plugin root contains .codex-plugin/plugin.json. The manifest points to its skills directory and MCP configuration. Relative paths start with ./ and remain inside the plugin. The plugin MCP file uses its own configuration format: do not paste it directly into agent.tools.

Example
docs-helper/
├── .codex-plugin/plugin.json
├── .mcp.json
└── skills/docs-search/SKILL.md

Load the package into an environment

For self-hosted compute, copy the package into the environment and register the absolute plugin root in environment.capability_directories. For OpenAI-hosted compute, follow the official ZIP upload flow. Ensure network reachability and local dependencies match the MCP connection you configured.

Check the trust boundary

Inspect scripts and server destinations before loading a package. Keep application credentials outside the sandbox. Test that the expected skill is available and its server can connect; a valid manifest alone does not establish that tools work. Use MCP authentication controls for protected services.

Read the official reference

Check the source for current API fields, account requirements, and service limits.

OpenAI: plugins

38 matching topics

What is the OpenAI Agents API?FoundationsAgents API vs Agents SDK vs Responses APIComparisonsAgents API quickstartGetting startedSessions, turns & durable stateCore conceptsHosted vs self-hosted sandboxesInfrastructureConnect MCP servers to Agents APITools & integrationsFunction calling & application toolsTools & integrationsMulti-agent orchestrationCore conceptsStreaming, webhooks & event handlingIntegration guidesFiles, outputs & published artifactsCore conceptsVaults & MCP authenticationTools & integrationsAgent security & credential boundariesProductionTracing, usage & debuggingProductionAgents API pricing & cost planningProductionOpenAI Agents API with PythonGetting startedAgents API with TypeScript & Next.jsIntegration guidesWhat is the OpenAI Agents SDK?FoundationsResponses API in the agent stackFoundationsAgent Skills & SKILL.mdTools & integrationsProgrammatic Tool CallingTools & integrationsRAG, file search & vector storesTools & integrationsWeb search & source citationsTools & integrationsChatKit & Agent BuilderIntegration guidesAgent configuration & reusable definitionsCore conceptsPlugins: connect skills and MCP toolsTools & integrationsSandbox lifecycle & executor connectionsInfrastructureWebhook verification, queues & deduplicationIntegration guidesAgent retries, timeouts & failure recoveryProductionAgent evaluations & regression testingProductionWhich parts of the agent stack do you need?FoundationsAgents API contract quick referenceIntegration guidesOrder agent reference: approval, recovery & evaluationIntegration guidesBuild a Next.js order agent: server, tools & streamingIntegration guidesPython Agents API example with a real tool loopGetting startedHuman approval & prompt injection defensesProductionAgents API troubleshooting: symptoms, checks & recoveryProductionAgent tool support & runtime ownership matrixComparisonsAgent resources, relationships & task stateCore concepts
K to open Esc to close