Connect AI assistants to FS Poster

AI assistants such as Claude, Cursor and VS Code can schedule and manage your FS Poster posts. The assistant connects to your WordPress site over MCP (the Model Context Protocol) and works as a WordPress user you choose.

This guide takes about ten minutes. You install one free plugin, create an application password and add a few lines to your AI app.

AI assistants are included in the Plus plan and above.

Requirements

  • WordPress 6.9 or newer.
  • The MCP Adapter plugin, free on wordpress.org.
  • Application passwords. WordPress offers them only on sites that use HTTPS.
  • For most apps below, Node.js 22 or newer on your computer. Check it with node -v in a terminal, or install it from nodejs.org.

Go to FS Poster > Settings > AI assistants (MCP) to check your site. Each line turns green when it's ready. The page also shows your MCP endpoint with a copy button. You'll need it in step 3.

AI assistants (MCP) settings in FS Poster

Step 1: Install the MCP Adapter plugin

  1. In WordPress, go to Plugins > Add New Plugin.
  2. Search for MCP Adapter.
  3. Find the plugin named exactly MCP Adapter, by WordPress.org. Other MCP plugins show up in the same search, so check the author.
  4. Click Install Now, then Activate.
The MCP Adapter plugin by WordPress.org in the plugin search

You can also download it from wordpress.org/plugins/mcp-adapter.

Step 2: Create an application password

The assistant works as the WordPress user whose application password it uses. It sees the same channels and has the same permissions in FS Poster as that user.

We recommend a separate user for the assistant, for example "AI assistant" with the Editor role. If you use Content Approval, add that role to Require approval for. Every post the assistant schedules then waits until a person approves it.

  1. Log in as that user and go to Users > Profile. As an administrator, you can also open Users > All Users and edit the user.
  2. Scroll down to Application Passwords.
  3. Type a name you'll recognize later, such as "Claude", in New Application Password Name.
  4. Click Add Application Password.
  5. Copy the password. WordPress shows it only once.
Creating an application password in WordPress

To cut the assistant's access later, click Revoke next to this password.

Step 3: Connect your AI app

In the examples below, replace these three values with your own:

  • https://your-site.com with your site address. The full endpoint is shown in Settings > AI assistants (MCP).
  • your-username with the WordPress username from step 2.
  • your-application-password with the password from step 2. The spaces in it are fine.

Claude Desktop

  1. Make sure Node.js 22 or newer is installed.
  2. In Claude Desktop, open Settings > Developer and click Edit Config. This opens claude_desktop_config.json.
  3. Add the fs-poster entry below and save the file. If the file already has an mcpServers section, add the entry inside it.
  4. Quit Claude Desktop completely and open it again.
{
  "mcpServers": {
    "fs-poster": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://your-site.com/wp-json/mcp/mcp-adapter-default-server",
        "WP_API_USERNAME": "your-username",
        "WP_API_PASSWORD": "your-application-password"
      }
    }
  }
}

Claude Code

Run this in your terminal:

claude mcp add --transport stdio fs-poster \
  --env WP_API_URL=https://your-site.com/wp-json/mcp/mcp-adapter-default-server \
  --env WP_API_USERNAME=your-username \
  --env "WP_API_PASSWORD=your-application-password" \
  -- npx -y @automattic/mcp-wordpress-remote@latest

Keep the name fs-poster right after --transport stdio. Then run claude mcp list. FS Poster should show as Connected.

Claude Code can also connect without Node.js, straight over HTTP. Encode your-username:your-application-password in Base64 (on macOS or Linux: printf '%s' 'your-username:your-application-password' | base64) and use the result:

claude mcp add --transport http fs-poster \
  https://your-site.com/wp-json/mcp/mcp-adapter-default-server \
  --header "Authorization: Basic YOUR_BASE64_VALUE"

Cursor

Open or create ~/.cursor/mcp.json (for all projects) or .cursor/mcp.json inside a project, and add:

{
  "mcpServers": {
    "fs-poster": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://your-site.com/wp-json/mcp/mcp-adapter-default-server",
        "WP_API_USERNAME": "your-username",
        "WP_API_PASSWORD": "your-application-password"
      }
    }
  }
}

VS Code (GitHub Copilot)

Create .vscode/mcp.json in your project, or run MCP: Open User Configuration from the Command Palette to use it everywhere. VS Code asks for the password the first time and stores it safely:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "wp-app-password",
      "description": "WordPress application password",
      "password": true
    }
  ],
  "servers": {
    "fs-poster": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://your-site.com/wp-json/mcp/mcp-adapter-default-server",
        "WP_API_USERNAME": "your-username",
        "WP_API_PASSWORD": "${input:wp-app-password}"
      }
    }
  }
}

Note that VS Code uses servers where the other apps use mcpServers. Use FS Poster from Copilot Chat in agent mode.

OpenAI Codex

codex mcp add fs-poster \
  --env WP_API_URL=https://your-site.com/wp-json/mcp/mcp-adapter-default-server \
  --env WP_API_USERNAME=your-username \
  --env "WP_API_PASSWORD=your-application-password" \
  -- npx -y @automattic/mcp-wordpress-remote@latest

ChatGPT

WordPress core has no OAuth server. The MCP Adapter signs in with application passwords, as in the steps above. ChatGPT connects to MCP servers only with OAuth, so to use FS Poster from ChatGPT, install a WordPress plugin that adds OAuth to the MCP Adapter. The same applies to connectors in the Claude web app.

Step 4: Try it

Start a new chat and ask: "List my FS Poster channels." The assistant finds the FS Poster tools by itself. Your app may ask you to allow each tool the first time.

Some requests to try next:

  • "Schedule this to our Facebook page and LinkedIn for Saturday at 10:00: We are open late this Saturday."
  • "What failed this week, and why?"
  • "Move tomorrow's posts to Friday at 9:00."
  • "Retry the post that failed this morning."

Times use your site's timezone from Settings > General, unless you say otherwise. To attach an image or video, give the assistant its media library ID. Open Media > Library, click the file and look for item=123 in your browser's address bar.

An AI assistant scheduling a post with FS Poster

What the assistant can do

AbilityWhat it does
fs-poster/list-channelsLists the channels the user can post to. Can filter by social network.
fs-poster/schedule-postSchedules a post on one or more channels, with optional images or videos. Without a time, it shares right away.
fs-poster/list-schedulesLists posts, newest first. Can filter by status, such as failed or in review.
fs-poster/get-scheduleShows a post's status on each channel, with the error message or the link to the shared post.
fs-poster/rescheduleMoves a post that hasn't been shared yet to a new time.
fs-poster/retry-scheduleShares the failed channels of a post again.
fs-poster/delete-scheduleDeletes a post from every channel it was scheduled to. A post that is being shared at that moment is kept.

Permissions and safety

  • The assistant has the same access as its WordPress user. It can't see or use channels that user can't.
  • Plan limits apply the same way as in the dashboard.
  • If the user's role needs approval, the assistant's posts wait in review. See Content Approval.
  • Revoke the application password at any time to cut access.

Troubleshooting

There is no Application Passwords section in the profile. Your site doesn't use HTTPS, or a security plugin turned application passwords off. In Wordfence, the option is Disable WordPress application passwords under Firewall > Brute Force Protection.

The app doesn't show any FS Poster tools. Check that every line in Settings > AI assistants (MCP) is green, then quit and reopen the app. For the npx setups, run node -v and make sure it's 22 or newer.

You get a 401 or "not allowed" error. Check the username and the application password. Make sure the user can open FS Poster in the WordPress dashboard.

Your permalinks are set to Plain. The /wp-json/ address doesn't exist then. Copy the endpoint from Settings > AI assistants (MCP) instead. On Plain permalinks it looks like https://your-site.com/?rest_route=/mcp/mcp-adapter-default-server.

Claude Desktop shows an error for the server. Its logs are in ~/Library/Logs/Claude on macOS and %APPDATA%\Claude\logs on Windows.

Get FS Poster