CodedEthique
Plugins

Guide to Submitting Desktop-Only Plugins on OpenAI

Learn how to submit desktop-specific plugins for local execution on OpenAI's platform.

  • 3 min read
  • 4

For developers interested in creating plugins that require direct execution on a user's desktop, understanding the submission process is essential. Desktop-only plugins are specifically designed to function with local environments and are characterized by their unique features that differentiate them from cloud-based solutions.

What Are Desktop-Only Plugins?

Desktop-only plugins necessitate the execution of local code on the user's machine. Typically, these involve plugins that communicate with a local (stdio) MCP server or those that initiate local programs. You can easily identify these plugins in the OpenAI Plugin Directory as they bear a "Desktop only" badge. Importantly, these plugins are exclusively installable via the ChatGPT desktop application and can only be mentioned in threads that operate locally.

Eligibility and Approval Process

It’s important to note that submissions for local MCP plugins are restricted to approved partners. If your organization intends to submit a plugin, it must first confirm its eligibility through your OpenAI representative. They will assist in allowlisting your submitting organization, a necessary step before you begin the submission process.

Steps to Prepare Your Plugin Submission

Before you submit, ensure that your plugin is properly packaged and test it thoroughly on a clean desktop installation. This involves verifying that all primary workflows function smoothly. Additionally, complete the essential prerequisites for submission, which include:

  • Access rights for submission
  • Verification of your identity as a developer or business

Configuring Your Local MCP Server

To create a local MCP server, you need to follow the same plugin structure as you would for any standard plugin. In your mcp.json file, locate the section for the HTTP server and replace it with a stdio entry that defines your local launch command.

Your server can be built using any programming language or runtime that supports MCP over stdio. For instance, if you are using Node.js, your configuration may appear as follows:

{ "mcpServers": { "stdio": { "launchCommand": "your-launch-command" } } }

Make sure to include your server and all necessary dependencies within the plugin package. Remember that ${PLUGIN_ROOT} serves as a built-in placeholder in this context.

Submitting Your Local MCP Plugin

The submission process consists of several key steps:

  1. Access your organization’s ID in your OpenAI Platform settings.
  2. Contact your OpenAI representative and provide them with this ID. Request that they allowlist your organization for local MCP submissions.
  3. Wait for confirmation from OpenAI before proceeding with your submission.
  4. Navigate to the plugin submission portal, select "Create plugin," and choose "Skills only." Use the "Upload ZIP" option to submit your packaged plugin with its local MCP configuration.
  5. Complete the required submission criteria and submit your plugin for review. Upon receiving approval, you can publish it from the portal.

For Plugins Without an MCP Server

If your skills-only plugin also requires local execution, locate the extensions.com.openai section in your root plugin.json file and set requires_local_executor to true. If your structure is a legacy package that uses .codex-plugin/plugin.json, you will need to add "requires_local_executor": true at the top level of that manifest.

This flag will classify your plugin as Desktop only. If you encounter issues regarding submission restrictions in the portal, send your organization’s ID to your OpenAI representative for confirmation of submission access.