FCHubFCHub.co

Setup Guide

How to connect FluentCart MCP to Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, and Codex CLI. I made it as painless as I possibly could.

This takes about 5 minutes. You'll generate a password in WordPress, paste a config snippet into your AI client, and you're done. I've made it as boring and straightforward as possible — no ceremony, no hoops.

Prerequisites

Install Node.js 22+

The MCP server needs Node.js 22 or higher. Check what you've got:

node --version

See v22.x.x or higher? Brilliant. Move on. If not, grab it from nodejs.org or use nvm:

nvm install 22
nvm use 22

Why 22?

I use native fetch and top-level await. These aren't optional — they're baked into how the server works. Node 20 and below won't cut it.

Generate a WordPress Application Password

Application Passwords have been built into WordPress since version 5.6. They let the MCP server talk to your site's REST API without you handing over your actual login password. Sensible, that.

  1. Log in to your WordPress admin
  2. Go to Users → Profile (or click your username in the top-right)
  3. Scroll to the Application Passwords section
  4. Type a name — FluentCart MCP works fine
  5. Click Add New Application Password
  6. Copy the password immediately

It looks something like: aBcD eFgH iJkL mNoP qRsT uVwX

WordPress Shows This Once

I mean it. WordPress shows the password exactly once. Close that page without copying it and you're generating a new one. Ask me how I know.

Which Account?

Use an Administrator account. The MCP server needs admin-level access to manage orders, products, and settings. A limited-permission user will get 403 errors on nearly everything, which rather defeats the purpose.

Grab Your Three Values

You need exactly these:

ValueExample
WordPress URLhttps://your-store.com
Usernameadmin
Application PasswordaBcD eFgH iJkL mNoP qRsT uVwX

The URL is the root of your WordPress site. No trailing slash. No /wp-admin/. Just the domain.

Configure Your AI Client

Pick your weapon. Each one takes about 60 seconds.

Claude Desktop

Anthropic's standalone app. The one with the nice icon.

Open the Config File

  • macOS: Claude menu → SettingsDeveloperEdit Config
  • Windows: FileSettingsDeveloperEdit Config

This opens claude_desktop_config.json. If you prefer to find it manually:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Paste This

Replace the placeholder values with your actual credentials:

{
  "mcpServers": {
    "fluentcart": {
      "command": "npx",
      "args": ["-y", "fluentcart-mcp"],
      "env": {
        "FLUENTCART_URL": "https://your-store.com",
        "FLUENTCART_USERNAME": "admin",
        "FLUENTCART_APP_PASSWORD": "aBcD eFgH iJkL mNoP qRsT uVwX"
      }
    }
  }
}

Already Have Other MCP Servers?

Don't replace the whole file. Add "fluentcart": {...} inside your existing mcpServers object. Comma after the previous entry. You know the drill.

Restart the App

Fully close and reopen Claude Desktop. Look for the hammer icon in the chat input — click it and you should see FluentCart tools listed.

No hammer? Check Settings → Developer for error messages.

Alternative: Shared Config File

If you use multiple AI clients (or just hate repeating yourself), you can create one config file that the MCP server reads automatically. Then your AI client configs don't need any credentials at all.

macOS / Linux:

mkdir -p ~/.config/fluentcart-mcp
~/.config/fluentcart-mcp/config.json
{
  "url": "https://your-store.com",
  "username": "admin",
  "appPassword": "aBcD eFgH iJkL mNoP qRsT uVwX"
}

Windows:

%APPDATA%\fluentcart-mcp\config.json
{
  "url": "https://your-store.com",
  "username": "admin",
  "appPassword": "aBcD eFgH iJkL mNoP qRsT uVwX"
}

Then your AI client config simplifies to:

{
  "mcpServers": {
    "fluentcart": {
      "command": "npx",
      "args": ["-y", "fluentcart-mcp"]
    }
  }
}

Priority

Environment variables beat the config file. If you set FLUENTCART_URL as an env var and also have url in the config file, the env var wins. I check env vars first — deliberately.

Interactive Setup Wizard

Don't fancy editing JSON files by hand? Fair enough. The setup wizard walks you through it:

npx fluentcart-mcp setup

It asks three questions — your WordPress URL, username, and Application Password — then tests the connection against your site before saving anything. If the credentials are wrong, it tells you why and offers to retry. If they work, it writes the config file automatically.

┌  fluentcart-mcp setup

◇  WordPress URL
│  https://your-store.com

◇  WordPress username
│  admin

◇  Application Password
│  ••••••••••••••••••••••••

◇  Connected to Your Store Name

◇  Config written to ~/.config/fluentcart-mcp/config.json

└  You're all set. Run fluentcart-mcp to start the server.

After that, your AI client configs don't need any credentials — the MCP server reads them from the config file. One wizard run, every client covered.

When to use the wizard

The wizard creates the same ~/.config/fluentcart-mcp/config.json file described above. The only difference is that it validates your credentials before saving, so you find out immediately if something's wrong — rather than discovering it mid-conversation when your AI tries to list orders and gets a 401 instead.

Multiple Stores

Managing more than one store? Create separate MCP server entries:

{
  "mcpServers": {
    "store-production": {
      "command": "npx",
      "args": ["-y", "fluentcart-mcp"],
      "env": {
        "FLUENTCART_URL": "https://shop.example.com",
        "FLUENTCART_USERNAME": "admin",
        "FLUENTCART_APP_PASSWORD": "xxxx xxxx xxxx xxxx"
      }
    },
    "store-staging": {
      "command": "npx",
      "args": ["-y", "fluentcart-mcp"],
      "env": {
        "FLUENTCART_URL": "https://staging.example.com",
        "FLUENTCART_USERNAME": "admin",
        "FLUENTCART_APP_PASSWORD": "yyyy yyyy yyyy yyyy"
      }
    }
  }
}

Just tell the AI which store you're talking about: "Check orders on production" or "Create a test product on staging." It's smart enough to figure out which connection to use.

Test the Connection

After all that, ask your AI:

"Get the FluentCart dashboard stats"

If you see store data — orders, revenue, customer count — you're done. Well played.

If you see errors, I've catalogued every failure mode on the Troubleshooting page.

Next Steps

On this page