# Install the OwnPost plugin

> Download the plugin for your assistant, authorize your workspace and start writing posts or blogs with your saved style.

Canonical: https://ownpost.fyi/docs/plugins

## 1. Get ready

The plugin includes 15 OwnPost skills for posts, blogs, platform editions, writing profiles, ideas, actions and planning. Start with ownpost; specialist skills are optional shortcuts.

1. Deploy your OwnPost workspace and complete owner setup.

2. Open /settings/plugins in your OwnPost workspace, also linked from Settings → Connections → AI writing → AI assistant.

3. Choose Codex, Claude Code, Cursor or ChatGPT. The page shows the installed application’s plugin version, included skills and setup instructions.

[Deploy your workspace](https://ownpost.fyi/docs/deployment)

[Owner setup](https://ownpost.fyi/docs/guides/owner-setup)

[Browse the skills](https://ownpost.fyi/docs/skills)

[ChatGPT setup](https://ownpost.fyi/docs/plugins#chatgpt-work)

[Cursor setup](https://ownpost.fyi/docs/plugins#cursor)

## 2. Install for your assistant

For Codex, Claude Code or Cursor, download the workspace-generated ZIP and follow its displayed installation steps. It includes the skills, references and your workspace’s MCP endpoint. Repository access is not needed for this download.

1. Extract the ZIP into a permanent folder with its ownpost directory and hidden files intact.

2. For Codex, run codex plugin marketplace add . inside the extracted ownpost directory, then install OwnPost from the ownpost-download marketplace in the plugin browser.

3. For Claude Code, run claude plugin marketplace add . in that directory, then claude plugin install ownpost@ownpost-download.

4. For Cursor, copy the complete extracted ownpost directory to ~/.cursor/plugins/local/ownpost and reload the window.

5. For ChatGPT web, follow the separate steps below to connect an MCP app before downloading its linked plugin ZIP.

> Use one installation method per client. If you previously installed skills directly, back up custom changes and remove the older copies from skill discovery to avoid duplicates.

[Codex plugin reference](https://developers.openai.com/plugins/build/plugins)

[Claude Code plugin reference](https://code.claude.com/docs/en/plugin-marketplaces)

[Install skills directly](https://ownpost.fyi/docs/guides/install-skills)

## 3. Connect your workspace

1. Authenticate the bundled OwnPost MCP server in your assistant’s connection settings. In Claude Code, open /mcp and select OwnPost. Sign in with your OwnPost owner password and authenticator, then approve the requested access.

2. If browser sign-in is unavailable, open Manage access and connection keys and Manual connection setup in OwnPost. Use a named Full workspace tools connection for everyday writing and preferences.

3. Start a new conversation, select OwnPost and run the read-only check below. Refresh the connection status in OwnPost afterward.

> The ZIP contains your workspace URL, but no connection keys or account content. A downloaded package is not an installed or verified connection. Access used records a past request; it does not mean an assistant is currently online.

[Connection setup and permissions](https://ownpost.fyi/docs/guides/connect-ai)

[Choose connection permissions](https://ownpost.fyi/docs/guides/keys)

[Codex MCP reference](https://learn.chatgpt.com/docs/extend/mcp)

[Claude Code MCP reference](https://code.claude.com/docs/en/mcp)

## 4. Check the connection

The assistant should return your real account names and saved timezone. If it cannot, check the connection before asking it to save a draft.

```
List my OwnPost accounts and read my saved posting preferences. Show the account names and timezone. Do not change anything.
```

## 5. Save your first draft

Select the ownpost skill, then try this example using your own release facts. Name the destination account if you use more than one.

```
Use the ownpost skill to write one short post in my saved style.

Release notes: We added search to saved Ideas. It searches titles, source text and creators, and it is available today.

Save a draft for my Main account. Show me the saved text and draft link.
```

> Open the returned draft in Content. Check its text, account and Draft status. Automatic publishing is separate and requires your approval in OwnPost.

[More worked examples](https://ownpost.fyi/docs/guides/assistant-workflows)

[Use the ownpost skill](https://ownpost.fyi/docs/skills/ownpost)

## Write in the OwnPost panel

In ChatGPT and Codex, the plugin adds a compact OwnPost panel beside the conversation. Use Write a post to draft or edit a post or thread, attach media, check character counts and preview it. Drafts, Ideas and Calendar are a tab away.

Attach to chat shares the open draft or Idea with the conversation; Improve writing asks the assistant for a revision. Neither sends a message, saves a reminder or publishes on its own. Remind me and Publish with X stay separate, and publishing still uses OwnPost's approval review.

> Which panels, shortcuts and forms appear depends on the client and plan. The ordinary conversation tools work when a panel is not available.

## Install from the application repository

If you maintain an authenticated application checkout, install the source bundle with these commands from its repository root. This uses the ownpost marketplace; downloaded packages use ownpost-download. Keep the checkout at the release matching your deployment.

### Codex

```
codex plugin marketplace add .
```

Run in the ownpost repository root. Open the plugin browser in the desktop app or /plugins in Codex CLI, install OwnPost from the ownpost marketplace, then start a new chat.

### Claude Code

```
claude plugin marketplace add .
claude plugin install ownpost@ownpost
```

Run in the ownpost repository root. Start a new session or run /reload-plugins, then select /ownpost:ownpost.

> The source bundle is deployment-independent. Connect your workspace separately through your client’s MCP settings or the manual configuration below.

## Use a separate connection key

Create a named key under Manage access and connection keys in OwnPost. Set OWNPOST_MCP_KEY privately in the environment running your assistant and use your deployed workspace URL below. If you installed a generated plugin, disable its bundled OwnPost server before adding a standalone connection to avoid duplicate tools; keep its skills enabled.

### Codex

```
[mcp_servers.ownpost]
url = "https://YOUR-WORKSPACE/api/mcp"
bearer_token_env_var = "OWNPOST_MCP_KEY"
```

Add this to ~/.codex/config.toml and replace YOUR-WORKSPACE with your host. Set OWNPOST_MCP_KEY to your connection key in the environment that launches Codex. For the desktop app, use its private MCP settings; an export in another terminal may not reach the app. Restart Codex after setup.

### Claude Code

```
claude mcp add --transport http --scope user ownpost \
  https://YOUR-WORKSPACE/api/mcp \
  --header "Authorization: Bearer ${OWNPOST_MCP_KEY:?Set your OwnPost connection key first}"
```

First set OWNPOST_MCP_KEY to the key from OwnPost in your private terminal environment. Replace YOUR-WORKSPACE with your host, then run the command. Claude Code stores the header in its private configuration. Open /mcp to check the connection.

> Keep credentials in private client settings, never in prompts or plugin archives. Create a separate connection per client so you can revoke access independently.

## Install in ChatGPT Work on the web

Connect your workspace’s MCP app, then download the ChatGPT package from OwnPost. Your ChatGPT account and workspace must allow the custom app and plugin upload.

1. In ChatGPT, open Plugins → Add → Create MCP App. Enter your own deployed HTTPS URL ending in /api/mcp and choose OAuth. Reuse an existing OwnPost app if it already connects to this workspace.

2. Complete OwnPost owner login and consent. If a user-defined OAuth client form appears, use client ID ownpost-chatgpt, an empty client secret, token endpoint authentication none and scope mcp:full. The OAuth guide below covers discovery and callbacks.

3. Copy the registered app ID or full app page URL from ChatGPT. Supported IDs begin asdk_app_, connector_ or templated_apps_; an ordinary plugin ID or OAuth client ID is not an app ID.

4. In OwnPost’s /settings/plugins page, choose ChatGPT, paste the app ID or URL and download the ZIP. It already contains all 15 skills and the required app reference.

5. For a first installation, choose ChatGPT → Plugins → Add → Upload plugin archive and upload the ZIP with its ownpost directory intact. For an update, give the ZIP to Plugin Creator using the request below.

6. Install and enable the plugin, start a new chat, select OwnPost and run the read-only account check. Confirm the linked app connects to the same workspace used for the download.

```
Update my existing OwnPost plugin from the attached workspace-generated ZIP. Preserve its identity and sharing, all included skills and references, and its registered app connection. Show me the updated plugin link.
```

> The ChatGPT ZIP references an existing app through .app.json; it does not create or reconfigure the connection. Imports with raw MCP server declarations are Desktop only, including HTTPS servers. Uploading this private package does not submit a public directory listing.

[OwnPost OAuth connection settings](https://ownpost.fyi/docs/guides/connect-chatgpt)

[OpenAI: connect a plugin in Work](https://developers.openai.com/plugins/quickstart)

[OpenAI: package skills and a registered connection](https://developers.openai.com/plugins/build/plugins)

[OpenAI: app references and Desktop only restrictions](https://learn.chatgpt.com/docs/enterprise/plugin-management)

## Use OwnPost in ChatGPT on mobile

ChatGPT supports account-available plugins on web, desktop and mobile. Plugins marked Desktop only are excluded from mobile. If OwnPost is missing, check the active account or workspace, installation state, connection authorization and workspace policy.

ChatGPT Remote is a separate option for controlling a task on a connected computer. It uses that host’s files, plugins and tools, so the host must be reachable. Use the account-installed plugin above for cloud Work access to your hosted OwnPost server.

1. Complete the web setup, including installing the hosted plugin and authorizing your OwnPost connection.

2. Open ChatGPT on your phone with the same account and workspace. Start a new Chat or Work conversation and select the available OwnPost plugin with @.

3. Ask for your accounts and saved preferences, then verify a small draft in your OwnPost workspace. Your hosted OwnPost server must remain available; this setup does not depend on keeping your laptop open.

[OpenAI: plugin availability on each surface](https://learn.chatgpt.com/docs/plugins)

[OpenAI: Remote connections](https://learn.chatgpt.com/docs/remote-connections)

## Distribute through a ChatGPT workspace

A workspace admin can import the existing repository marketplace from GitHub. This is useful when a team needs the same instructions and repository-managed updates. Importing the package does not connect members to an OwnPost workspace.

1. To bundle web/mobile tools with the imported skills, prepare a workspace-specific plugin version first. Add .app.json at the plugin root using the example below, then set extensions.com.openai.apps to ./.app.json in the root plugin.json. Use the registered app ID beginning asdk_app_, not the plugin_asdk_app_ URL ID. Keep this workspace-specific mapping separate from the shared skills-only bundle.

2. Ensure the desired plugin version is pushed to the private repository and the importing GitHub account can read it.

3. Open Admin → Plugins → Add → Import marketplace. Set Source to https://github.com/zero-efforts/ownpost. Leave Path empty: the marketplace lives at the repository root. Use main, the branch containing your changes, or a chosen release ref.

4. Authorize GitHub, inspect the import results and configure who can install the plugin. Enable the referenced OwnPost app for the intended roles. Importing the unchanged repository bundle installs skills only because it has no app reference.

5. Install the plugin in the intended ChatGPT workspace, authorize your OwnPost connection and verify an account read. Use Sync now after a repository update when you need it before the automatic sync.

```
{
  "apps": {
    "ownpost": {
      "id": "asdk_app_REPLACE_WITH_YOUR_REGISTERED_APP_ID",
      "required": true
    }
  }
}
```

> OwnPost currently authenticates a private workspace owner. Sharing the plugin’s instructions does not create public signup, tenant isolation or access to another person’s workspace. Each independent owner uses their own deployment and credentials.

[OpenAI: GitHub marketplace import and sync](https://learn.chatgpt.com/docs/enterprise/plugin-management)

## Install in Cursor

Choose Cursor in OwnPost’s plugin setup and download the ZIP. Copy the complete extracted ownpost directory into ~/.cursor/plugins/local/ownpost. Here ~ means your user home directory. Include the skill files and manifests, including folders whose names begin with a dot.

Use a real copy. Cursor skips a local-plugin symlink whose target is outside its local plugin directory. Local plugin imports must also be allowed by your organization’s settings.

1. Check that the destination ownpost folder directly contains plugin.json and the skills directory, rather than another nested ownpost folder.

2. Restart Cursor or run Developer: Reload Window, then open Customize and check that the OwnPost plugin and skills are available.

3. Authenticate the included MCP server in Cursor’s connection settings, choose the ownpost entry skill and try the shared first-request example.

[Cursor local plugin documentation](https://cursor.com/docs/plugins#test-plugins-locally)

## Connect Cursor with a key

Use this manual fallback when browser sign-in is unavailable. Create a separate named connection in OwnPost. Disable the plugin’s bundled OwnPost server before adding this standalone connection. Merge the example into your private user configuration at ~/.cursor/mcp.json, preserving other servers. Replace the URL and key placeholder locally.

1. Enable OwnPost in Cursor’s MCP settings and refresh or reload if needed.

2. Ask the agent to list your OwnPost accounts and read saved preferences. Verify the returned values in OwnPost.

```
{
  "mcpServers": {
    "ownpost": {
      "url": "https://YOUR-WORKSPACE/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_OWNPOST_KEY"
      }
    }
  }
}
```

[Cursor MCP configuration](https://cursor.com/docs/mcp)

## Use other MCP clients and IDEs

1. Check that the client supports remote Streamable HTTP MCP. Configure your own HTTPS /api/mcp endpoint, then complete browser sign-in if the client supports OAuth discovery and public-client registration. A separate bearer-key connection remains available for clients supporting an Authorization header.

2. If the client supports agent skills, use the direct skill installer and select that client. A Codex, Claude Code or Cursor manifest alone does not guarantee native plugin support in another product.

3. If the client supports MCP tools only, make an ordinary request without naming an uninstalled skill. Verify the account and preference read below, then request a private draft.

```
List my OwnPost accounts and read my saved posting preferences. Report the account names and timezone. Do not change anything.
```

> OwnPost supports automatic public-client registration as well as its predefined ChatGPT client. Each connection still requires owner authentication and consent; registration itself grants no workspace access.

[Install skills in a compatible client](https://ownpost.fyi/docs/guides/install-skills)

[Workspace connection and permissions](https://ownpost.fyi/docs/guides/connect-ai)

## Update the plugin

After upgrading OwnPost, download a fresh package from /settings/plugins and update the existing ownpost plugin in your client. For Cursor, replace the local copy after backing up custom changes and reload the window.

For ChatGPT, reuse the registered app and update the existing private plugin through Plugin Creator with the new ChatGPT ZIP. For a GitHub-managed plugin, sync its marketplace instead; an archive cannot replace a GitHub-managed plugin. Local folder changes do not update the account installation.

Start a fresh conversation and repeat the account check. If your workspace runs an older application release, use the matching plugin version.

[Direct skill updates](https://ownpost.fyi/docs/guides/install-skills)

[Update your deployment](https://ownpost.fyi/docs/updates)

## If setup does not work

Repository unavailable: accept the invitation and authenticate local Git with an account that has access.

Marketplace not found: for a downloaded package, run installation commands from its extracted ownpost directory and select ownpost-download. Repository installations use the application root and ownpost marketplace.

Skill missing: enable the plugin and open a fresh session. In Codex CLI, check /plugins. In Claude Code, check /plugin or run /reload-plugins, then select /ownpost:ownpost. The Codex IDE extension supports direct skills and MCP, without the plugin browser.

Duplicate skills: keep one active install after backing up custom changes. In Cursor, a marketplace plugin can take precedence over a local copy with the same name.

Workspace unavailable: check the MCP URL, OAuth authorization or key, and permissions. Refresh connection status after a real account read. Preparation-only access supports assigned preparation jobs and private article preparation; everyday post drafting needs Full workspace tools. API publication also needs the separate publishing grant and an existing owner-approved job.

Missing in ChatGPT: check the active account, workspace and plugin installation. Web and mobile need an account-installed plugin with a registered app reference and authorized OAuth connection. A working server connection alone does not install the skills.

[Direct skill installation](https://ownpost.fyi/docs/guides/install-skills)

[ChatGPT connection guide](https://ownpost.fyi/docs/guides/connect-chatgpt)

[Other MCP clients](https://ownpost.fyi/docs/plugins#other-clients)

## Related

- [Previous: Skills overview](https://ownpost.fyi/docs/skills)
- [Next: Install skills & plugins](https://ownpost.fyi/docs/guides/install-skills)
