Content via MCP

# Manage content with AI agents

Connect an agent to manage FAQs, translations, feature plans, alerts, and app settings. You choose which apps it can access and what it can do; Mobile Joe applies the same rules as the dashboard.

## Connect

Add `https://app.mobilejoe.dev/mcp` as a remote MCP server with OAuth authentication. Leave optional client ID and secret fields empty. When you connect, sign in to Mobile Joe, select the apps, and choose an access level. Then ask the agent: **List my Mobile Joe apps.**

In ChatGPT, Claude Code, Codex, and Cursor, we recommend the Mobile Joe plugin. It adds the connection and a setup skill that verifies access and chooses an app for your content work.

### Claude Code

Install the plugin:

```shell
claude plugin install mobile-joe --marketplace MobileJoeDev/mobilejoe-plugin
```

Or add only the MCP server:

```shell
claude mcp add --transport http --scope user mobile-joe https://app.mobilejoe.dev/mcp
```

Then run `/mcp`, select the Mobile Joe server, and authenticate. A connector you add in Claude also shows up in Claude Code when you sign in with the same Claude account.

### Claude

Open **Customize → Connectors** , choose **Add custom connector** , name it **Mobile Joe** , and click **Connect**. Your workspace may require an owner to add it first. Claude's **Needs approval** setting is separate from the access granted in Mobile Joe. See [Claude's connector guide](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp).

### Codex

In the Codex app, add **Mobile Joe** from the plugin directory. With the CLI:

```shell
codex plugin add mobile-joe@openai-curated-remote
```

Codex asks you to connect on first use. Without the plugin, add an HTTP MCP server named **Mobile Joe** in the Codex desktop app and start OAuth sign-in. With the CLI, request only the scopes you need:

```shell
codex mcp add mobilejoe --url https://app.mobilejoe.dev/mcp
codex mcp login mobilejoe --scopes faqs:read,faqs:write,faqs:publish,feature_plans:read,feature_plans:write,feature_plans:publish,alerts:read,alerts:write,alerts:publish,apps:write
```

### Cursor

Clone the plugin into Cursor's local plugin folder, then run **Developer: Reload Window** :

```shell
git clone https://github.com/MobileJoeDev/mobilejoe-plugin.git ~/.cursor/plugins/local/mobile-joe
```

Then open **Cursor Settings → Tools & MCP** and click **Authenticate** next to **mobile\_joe**.

### ChatGPT

Add the [Mobile Joe plugin](https://chatgpt.com/plugins/plugin_asdk_app_6ad61cf5ca288191b111c9750edcf53c) from ChatGPT's plugin directory and connect it. Your workspace may need to allow it first. Without the plugin, enable developer mode in ChatGPT's settings in the browser; your workspace must allow custom MCP apps. Add a custom MCP app named **Mobile Joe** and connect it. If ChatGPT asks to reconnect for additional permissions, review the expanded access.

### Other agents

Any agent that supports remote MCP servers with OAuth works. Settings and names vary by client.

## Choose access

When you connect, choose an access level for FAQs, feature plans, alerts, and app settings. It applies to every selected app, and only levels your agent requests are offered.

- **Read only** (default): inspect FAQs, translations, feature plans, votes, and alerts with their targeting.
- **Read & write:** also create and edit drafts, translations, and alert targeting, and merge draft feature plans.
- **Read, write & publish:** also change published FAQs, visible feature plans, and delivered alerts, reorder FAQs, set feature plan statuses, and deliver alerts.
- **App settings — Edit:** change an app's title, website, and deep link URL.

## Work with FAQs

> Create FAQs for the new export feature, add German and French translations, and save them as drafts. Show me the result. Wait for my approval before publishing.

New FAQs stay drafts until you ask the agent to publish them. The agent sees the original text and each translation separately, and updating one language preserves the others. Changes to published FAQs are visible to app users immediately, so ask the agent to show proposed changes first.

## Curate feature plans

> A customer emailed asking for a CSV export of all time entries. Does this fit our roadmap? Check for overlapping plans and suggest how we could phrase it.

The agent treats user requests as input for your decision: it looks for overlapping plans and suggests a formulation before creating one. New plans are drafts until you approve a status such as **Open**. Ask the agent to translate a plan once you agree on the wording; translations of visible plans reach app users immediately. When merging duplicates, votes move to the plan you keep and count once per app user.

## Inform users with alerts

> Syncing is delayed since this morning for iOS users on version 2.3. Draft an alert with German and French translations and target only those users. Show me the result before delivering it.

New alerts stay drafts until you ask the agent to deliver them. The agent sees the versions your app has reported and targets either all users or specific iOS and Android app and OS versions. Delivered alerts reach app users the next time their app loads alerts, so review targeting and wording first. Ask the agent to archive the alert once the issue is resolved. Debug delivery is only available in the dashboard.

## Disconnect or reconnect

Open **Account → Connections** in the dashboard to inspect or revoke a connection. Reconnecting for more permissions creates a separate connection; revoke the older entry, identified by its creation time.

When Mobile Joe adds new tools, such as alerts, your agent lists them right away, but using them needs the new permissions. Agents connected before the new tools existed don't offer those permissions on reconnect: remove Mobile Joe from your agent, add it again, and choose the access level for the new tools.
