Skip to main content
Glama
README.md
# Flo Plugin for Claude

The official Flomenco plugin for Claude. Brings Flo's AI-powered media
automation into Claude Code via slash commands, and connects Claude Desktop to
the Flo platform via MCP.

**Do not use `npx @flomenco/claude-plugin-mcp` in Claude Code** — npm is stuck
at 0.2.2 without AgentCore SSE parsing, so `flo_happy_path_run` fails while
individual tools appear to work. Use marketplace install (or `node scripts/run-mcp.js`
from this repo).

---

## Quick start (Claude Code)

### 1. Install the plugin

In Claude Code:

```text
/plugin marketplace add Flomenco-Inc/flo-plugin
/plugin install flo-plugin@flo-plugins
/reload-plugins
```

### 2. Authenticate

Ask Claude to run `flo_auth_login` — it opens a browser window, completes the
OAuth flow, and caches your token locally. You only need to do this once (or
when your token expires).

**Production:** the plugin ships prod defaults in `.mcp.json`. Copy your OAuth
client ID from [floapp.co/settings/api](https://floapp.co/settings/api) (Claude
Plugin tab) into the plugin MCP env only if `flo_auth_login` reports a missing
client ID.

**Dev / staging:** marketplace `.mcp.json` ships prod defaults. Override using
any of:

1. **`~/.flo/claude-plugin-mcp.env`** — copy the env block from **Settings →
   API → Claude Plugin** (recommended).
2. **Legacy `~/.claude.json`** — if you already have `mcpServers.flo-plugin.env`
   for a manual MCP server, the plugin MCP merges those vars automatically.
3. Claude Code plugin MCP env UI for `plugin:flo-plugin:flo-plugin`.

Run `npm run sync-versions` before release so `marketplace.json` matches
`package.json` (required for `/plugin marketplace update` to pull new builds).

### 3. Validate

```text
flo_plugin_healthcheck
flo_happy_path_run
```

### Windows, macOS, and Linux

The MCP server starts via **`node scripts/run-mcp.js`** (see `.mcp.json`). You
need **Node.js ≥ 22.13** and **npm** on your PATH. No Bash or WSL required.

- Config and tokens live under `%USERPROFILE%\.flo\` on Windows and `~/.flo/` on
  Unix.
- OAuth login opens your default browser (`cmd /c start` on Windows).
- Optional env overrides: `%USERPROFILE%\.flo\claude-plugin-mcp.env` (Windows) or
  `~/.flo/claude-plugin-mcp.env` (macOS/Linux).

---

## Commands

| Command | Description |
|---------|-------------|
| `/flo-search` | Search for assets in your Flo library |
| `/flo-query` | Filename-first asset lookup |
| `/flo-skill-routing` | List available actions for an asset |
| `/flo-qc-logo` | Logo QC against a stored reference image |
| `/flo-qc` | QC workflow picker (logo vs moderation) |
| `/flo-moderate` | Content moderation against a target rating and platform |
| `/flo-deliver` | Validate a media asset against platform delivery specs |
| `/flo-analyze` | Analyze a media asset directly |
| `/flo-config` | Show current auth and config status |

---

## MCP tools

| Tool | Description |
|------|-------------|
| `flo_auth_login` | Start OAuth login (browser PKCE flow) |
| `flo_auth_status` | Show current auth state and token info |
| `flo_auth_logout` | Clear cached token |
| `flo_auth_setup_help` | Show where to find your client ID |
| `flo_search` | Search the Flo asset library |
| `flo_query` | Filename-first asset lookup |
| `flo_analyze` | Analyze a media asset |
| `flo_qc_logo` | Run logo QC against a reference asset |
| `flo_skill_routing` | List available actions for an asset |
| `flo_plugin_healthcheck` | Check auth and connectivity |
| `flo_happy_path_run` | End-to-end validation in one call |
| `flo_command` | Run a raw `/flo:*` command (escape hatch) |

---

## Claude Desktop installation

Run the install script (requires AWS credentials with Cognito read access):

```bash
npx @flomenco/claude-plugin-mcp install:claude-desktop
```

Or clone the repo and run:

```bash
node tools/install-claude-desktop.js
```

Then fully quit and relaunch Claude Desktop.

---

## Troubleshooting

**`flo_auth_login` fails with "Invalid URL" or missing client ID**
Open [floapp.co/settings/api](https://floapp.co/settings/api), copy the OAuth
client ID from the Claude Plugin tab, and set `FLO_OAUTH_CLIENT_ID` in your MCP
env block. For dev, copy the full env block from that page.

**`flo_plugin_healthcheck` returns unreachable**
Check that you have network access to `plugin.floapp.co`. If you're on a VPN,
try disconnecting.

**Commands not appearing after install**
Restart Claude Code, or run `/reload-plugins`.

**Token expired**
Ask Claude to run `flo_auth_logout` followed by `flo_auth_login`.

---

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add new tools or commands.

## License

MIT — see [LICENSE](LICENSE).

TDQS

B3.1/5.0

Scored across 12 tools

Disambiguation4/5

Most tools have distinct purposes (auth vs. core operations), but flo_happy_path_run overlaps with the individual search/skill routing/qc_logo tools, and flo_query vs. flo_search could be confused despite different return types.

Naming Consistency3/5

All tools start with 'flo_' but the naming pattern is inconsistent: some are verbs (analyze, query, search), some are nouns (command, status), and others are compound phrases (auth_login, happy_path_run).

Tool Count4/5

12 tools is reasonable for a plugin that covers authentication, search, analysis, and troubleshooting. Not overly numerous nor too few for the apparent scope.

Completeness4/5

The tool set covers the main workflow (search -> skill routing -> analyze -> QC) plus auth and health check. Missing explicit asset listing but can be inferred from search results.

Maintenance

ActivityMaintained
ResponsivenessNo issues