Metadata-Version: 2.5
Name: rayonne-mcp
Version: 0.4.0
Summary: Rayonne MCP server — pilote le workspace Rayonne (audit marketing, analyse produit, contenus, vidéos, métriques AARRR) depuis tout agent compatible MCP.
Author-email: Sponge Theory <contact@sponge-theory.ai>
License: SPONGE THEORY PROPRIETARY LICENSE
Keywords: claude,marketing,mcp,rayonne,sponge-theory
Requires-Python: >=3.10
Requires-Dist: httpx<1,>=0.27
Requires-Dist: mcp[cli]<2,>=1.2.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: respx>=0.21; extra == 'dev'
Description-Content-Type: text/markdown

# Rayonne MCP

Serveur MCP (stdio) exposant le workspace Rayonne — contenus, soumissions,
métriques AARRR — à tout agent compatible MCP (Claude Code, Claude Desktop…),
via l'**API publique v1 en lecture** (`docs/API.md` du repo).

## Prérequis

Une clé API workspace (`rk_…`) : Rayonne → **Réglages → Clés API**
(plan **Business**, entitlement `api_access`).

## Claude Code

```sh
claude mcp add rayonne \
  --env RAYONNE_API_KEY=rk_xxxxxxxx \
  --env RAYONNE_API_URL=https://rayonne.sponge-theory.dev \
  -- uv run --project /chemin/vers/rayonne/mcp rayonne-mcp
```

## Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "rayonne": {
      "command": "uv",
      "args": ["run", "--project", "/chemin/vers/rayonne/mcp", "rayonne-mcp"],
      "env": {
        "RAYONNE_API_KEY": "rk_xxxxxxxx",
        "RAYONNE_API_URL": "https://rayonne.sponge-theory.dev"
      }
    }
  }
}
```

Le serveur démarre **sans** clé (non fatal) : chaque outil renvoie alors un
message d'installation clair au lieu d'un crash.

## Outils

59 outils, un par verbe de l'API publique, regroupés par module (voir
`CLAUDE.md` du repo pour la carte fonctionnelle M1-M9).

### M1 Brief

| Outil | Rend |
|---|---|
| `rayonne_analyze_product` | Analyse la page produit et en tire un brief frais (crawl + extraction). |
| `rayonne_list_briefs` | Product briefs, newest first: what the crawler extracted from the product page (value prop, ICP, features, proof points, pricing). |
| `rayonne_get_brief` | One brief in full, including everything the extractor understood. |
| `rayonne_patch_brief` | Hand-correct what the extractor misread. |

### M2 Stratégie

| Outil | Rend |
|---|---|
| `rayonne_list_strategies` | All marketing strategies, newest version first. |
| `rayonne_current_strategy` | The ACTIVE strategy: Bullseye channel scoring plus the 90-day plan the autopilot materialises into scheduled content. |
| `rayonne_create_strategy` | Score the 19 Bullseye acquisition channels and draft a 90-day plan. |
| `rayonne_activate_strategy` | Make a strategy ACTIVE. |
| `rayonne_delete_strategy` | Delete a strategy. |

### M3 Contenu

| Outil | Rend |
|---|---|
| `rayonne_list_content` | Latest content pieces (max 100). |
| `rayonne_get_content` | One content item WITH its generated text. |
| `rayonne_generate_content` | Generate one piece for a venue. |
| `rayonne_edit_content` | Edit a piece before it ships. |
| `rayonne_approve_content` | Approve a piece for publication — the human-in-the-loop gate. |
| `rayonne_reject_content` | Reject a piece. |
| `rayonne_reset_content` | Re-run generation for an item. |
| `rayonne_schedule_content` | Move a piece's publication time. |
| `rayonne_repurpose_content` | Atomise one piece into others (1 → N), keeping its substance and claims but adopting each target venue's shape and length. |
| `rayonne_localize_content` | Translate a piece into another locale, as a REVIEW-status sibling — a human verifies the translation before it ships. |
| `rayonne_delete_content` | Delete a content item. |

### M3 Kit de vente et médias

| Outil | Rend |
|---|---|
| `rayonne_content_media` | The resolved media selection for a post: public URL, dimensions, duration, and why a resource was dropped when it has disappeared. |
| `rayonne_set_content_media` | Set the media selection BY HAND and LOCK the piece. |
| `rayonne_recompute_content_media` | Replay the media selection from the venue's playbook, leaving the text untouched. |
| `rayonne_brand_card` | Compose a brand card (a generated image carrying a punchline) and put it first in the media list. |
| `rayonne_regenerate_text` | Rewrite the post on a DIFFERENT argument from its selling kit. |
| `rayonne_preview_content` | What the post would look like published on a venue: text, any thread split, link placement, and media — without publishing anything. |

### M4 Soumission

| Outil | Rend |
|---|---|
| `rayonne_list_platforms` | The platform catalogue with each venue's EXECUTION MODE. |
| `rayonne_list_submissions` | Latest submissions (max 100): platform slug, mode (api/browser_local/ semi_auto), status, and external_url once published. |
| `rayonne_get_submission` | One submission: status, platform, evidence, external URL. |
| `rayonne_submission_kit` | The Mode C kit: a pre-filled deep link, the text blocks to paste and a checklist. |
| `rayonne_create_submission` | Schedule an APPROVED piece for submission to a platform. |
| `rayonne_confirm_submission` | Mode C — record that a manual submission was published. |
| `rayonne_retry_submission` | Retry a failed submission. |
| `rayonne_cancel_submission` | Cancel a pending or scheduled submission. |
| `rayonne_schedule_submission` | Move a submission's dispatch time. |
| `rayonne_delete_submission` | Delete a submission. |

### M5 Analytics

| Outil | Rend |
|---|---|
| `rayonne_metrics_aarrr` | The AARRR snapshot (stages, geo, by_channel, timeseries, deltas) over a sliding window of 1-90 days. |
| `rayonne_list_tracking_links` | UTM tracking links and their click counts. |
| `rayonne_create_tracking_link` | Create a trackable UTM link. |
| `rayonne_list_reviews` | Weekly marketing reviews — an LLM reading the AARRR metrics and saying what to change. |
| `rayonne_run_review` | Compose a review now instead of waiting for the weekly beat. |

### M9 Vidéo et storyboard

| Outil | Rend |
|---|---|
| `rayonne_create_video` | Génère une vidéo courte à partir du brief courant. |
| `rayonne_list_videos` | Video projects: status, current pipeline stage, degradations, and the rendered URL once finished. |
| `rayonne_get_video` | One video project in full: storyboard, per-stage state, assets, selling-coverage score and render URL. |
| `rayonne_list_video_venues` | Where a video can be published and in which format. |
| `rayonne_regenerate_video` | Resume the pipeline from one stage instead of rebuilding everything. |
| `rayonne_derive_video` | Derive another aspect ratio from a finished video (9x16, 16x9, 1x1) without regenerating its content. |
| `rayonne_publish_video` | Schedule a finished video for publication. |
| `rayonne_delete_video` | Delete a video project and its assets. |
| `rayonne_preview_storyboard` | What an edit WOULD be worth, without saving anything. |
| `rayonne_update_storyboard` | Save an edited storyboard. |
| `rayonne_approve_storyboard` | Resume production after review. |
| `rayonne_storyboard_options` | What a scene may contain: roles, shots per source, limits, and the ONLY pages a capture scene may film (the brief's allow-list). |

### Galerie produit

| Outil | Rend |
|---|---|
| `rayonne_list_product_assets` | The product-screen gallery: real screens of the product (behind the login, or a native app) that a video may show, each with a caption. |

### Audit

| Outil | Rend |
|---|---|
| `rayonne_list_audits` | Les audits marketing passés de la page produit (verdict, note, axes). |
| `rayonne_marketing_audit` | Audite le MESSAGE de la page produit et rend un verdict actionnable. |

### Workspace

| Outil | Rend |
|---|---|
| `rayonne_overview` | Workspace summary: name, product URL, autopilot state, and content / submission counts by status. |
| `rayonne_workspace` | The workspace's current settings for this key: name, product URL, whether AI illustrations are on, and whether autopilot is enabled. |
| `rayonne_set_ai_illustrations` | Turn AI illustrations on or off for the workspace. |

## Changelog

### 0.4.0

Kit de vente et médias d'un post pilotables depuis Claude : inspecter la
sélection média résolue, la fixer à la main ou la recalculer depuis le
playbook, composer une carte de marque, changer d'argument de vente, et
prévisualiser texte + médias par venue avant publication. Huit outils
ajoutés (`rayonne_content_media`, `rayonne_set_content_media`,
`rayonne_recompute_content_media`, `rayonne_brand_card`,
`rayonne_regenerate_text`, `rayonne_preview_content`, `rayonne_workspace`,
`rayonne_set_ai_illustrations`) — 59 outils au total.

## Tests

```sh
cd mcp && uv run --extra dev pytest -q
```

## Publication marketplace

À faire via le flux commun Sponge Theory (même patron qu'`audigeo-mcp` :
stdio + PyPI, vendored dans `ezeeFlop/claude-plugins`) — voir l'agent
`mcp-plugin-publisher`.
