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 et écriture (docs/API.md du repo).
Prérequis
Une clé API (rk_…) : Rayonne → Réglages → « Clés d'API (extension, API,
Claude) » (plan Business, entitlement api_access). Pour créer,
configurer et initialiser des espaces (/rayonne-from-code), coche
« Piloter toute l'organisation ». Il faut être propriétaire de
l'organisation, et rayonne_workspace_access doit répondre
org_admin: true. Une clé existante ne se promeut pas : crées-en une autre.
Installer la clé — pour l'utilisateur, jamais dans un dépôt
La clé ne se colle jamais dans une conversation et ne passe jamais en argument. Copie-la dans Rayonne, puis :
pbpaste | uvx rayonne-mcp login # macOS ; Linux : wl-paste | … ou xclip -o -selection clipboard | …
uvx rayonne-mcp login # dans un terminal : saisie masquée
Dans Claude Code : ! pbpaste | uvx rayonne-mcp login, puis /reload-plugins
(commande /rayonne-setup). La clé est vérifiée auprès du serveur, puis
enregistrée dans ~/.config/rayonne/credentials.json (0600, dossier 0700 ;
$XDG_CONFIG_HOME ou $RAYONNE_CREDENTIALS_FILE si définis). Elle vaut pour
tous les dépôts de l'utilisateur. uvx rayonne-mcp logout la retire ; une
instance auto-hébergée ajoute --api-url.
Clé utilisée par le serveur, la première trouvée :
RAYONNE_API_KEYexplicite (Claude Desktop, Codex, CI) ;- le fichier de
rayonne-mcp login, enregistré pour cette URL d'API ; - la clé saisie à l'installation du plugin Claude Code
(
RAYONNE_PLUGIN_API_KEY).
rayonne_workspace_access dit laquelle est chargée (key_source) et, sans
administration, l'action exacte à faire (next_step).
Codex
L’adaptateur rayonne-codex reprend les outils du
serveur PyPI qu’il épingle — la version publiée — et les parcours du plugin
Claude, avec configuration sécurisée macOS (trousseau). Sans profil Codex,
il lit la clé de rayonne-mcp login.
Construction : python3 mcp/build/build_codex_plugin.py depuis la racine du dépôt.
Claude Code
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)
{
"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
168 outils, un par verbe de l'API publique, regroupés par module (voir
CLAUDE.md du repo pour la carte fonctionnelle M1-M9). Ce que l'agent ne
peut pas encore faire, et ce qu'il ne fera jamais (consentement OAuth,
paiement, visage réel) : docs/AGENT_PARITY.md du repo.
Déposer un fichier (0.6.0) : rayonne_upload_product_asset et
rayonne_upload_submission_asset prennent un chemin de fichier local —
le serveur MCP tourne sur la machine de l'utilisateur et lit les octets
lui-même. Un chemin fautif est refusé avant tout appel réseau.
Aucun dépôt d'avatar, par construction : enregistrer un VISAGE engage le
consentement d'une personne réelle, au nom de l'utilisateur connecté ; une
clé rk_ n'a pas d'utilisateur. Il n'y a donc ni outil ni route publique de
dépôt d'avatar — rayonne_generate_avatar compose un portrait de synthèse,
et déposer une vraie photo reste un acte humain, dans l'interface.
Listes : un outil qui rend une liste (rayonne_list_tasks,
rayonne_list_experiments…) la rend en un bloc de contenu par élément —
c'est ainsi que le SDK MCP (FastMCP 1.x) sérialise un retour non typé. Une
liste d'un seul élément a donc, au niveau du protocole, la forme d'un objet,
et une liste vide n'a aucun bloc. Noté par le parcours E2E « surfaces »,
laissé tel quel : envelopper les listes changerait la sortie de chaque outil.
Cibler un autre espace (0.5.0) : tout outil ci-dessous, sauf
rayonne_list_workspaces et rayonne_create_workspace, prend un
workspace_id optionnel — passe l'id d'un espace rendu par
rayonne_list_workspaces pour agir là-bas plutôt que dans l'espace
d'origine de la clé. Omis, rien ne change par rapport à avant 0.5.0.
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. |
rayonne_delete_brief |
Delete one version of the brief (a failed analysis first). IRREVERSIBLE. |
rayonne_list_facts |
The product-facts ledger every generated text is grounded on, with source, date, origin, status and whether each fact is usable. |
rayonne_create_fact |
Add a fact the founder declares (metric, verbatim testimonial with its author, consented customer, integration, press, pricing, feature, link). |
rayonne_update_fact |
Correct a fact, its consent or status; accept or dismiss what a re-crawl proposes; clear empties its source, date or author. |
rayonne_archive_fact |
Archive a fact: no generated text uses it any more. |
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 20 Bullseye acquisition channels from the founder's reality (stage × segment priors, guardrails) and draft a 90-day plan. |
rayonne_activate_strategy |
Make a strategy ACTIVE. |
rayonne_delete_strategy |
Delete a strategy. |
rayonne_founder_context |
The founder's reality the strategy starts from — stage, segment (guessed from the brief, to confirm), hours per week, audience, paid budget. Written with rayonne_update_workspace(founder_context=...). |
rayonne_add_plan_action / rayonne_edit_plan_action / rayonne_remove_plan_action |
Edit the 90-day plan; an action keeps its key, nothing scheduled is ever duplicated. |
rayonne_generate_plan_action |
« Générer cette action » — write one Rayonne-owned action now, on every plan, within the monthly quota. |
rayonne_list_experiments / rayonne_add_experiment / rayonne_update_experiment / rayonne_delete_experiment |
At most three pre-registered experiments per plan — editable before they start, locked after. |
rayonne_record_experiment_result |
Note the result of a manual experiment at its end date (a channel no attribution path reaches) — the founder's own count, never a guess. |
rayonne_decide_experiment |
Keep, kill or extend an experiment at its end date, against Rayonne's recommendation and its evidence. |
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 |
Remet en relecture un contenu validé, rejeté ou en échec, sans son approbation. Ne réécrit rien : le texte reste le même. |
rayonne_regenerate_content |
Réécrit un contenu depuis le brief et les faits ACTUELS — même venue, même type, même argument ; quota consommé, retour en relecture. |
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. |
rayonne_selling_coverage |
Ce que les textes des 30 derniers jours ont dit de la matière vendeuse du brief — couvert, ratio pondéré, jamais dit. |
rayonne_content_warmup |
Le rodage de l'autopilote par venue : validations humaines sur les cinq requises ; jamais fini sur LinkedIn et Hashnode. |
rayonne_media_candidates |
Les captures de la galerie classées pour un post — les suggestions du sélecteur de médias. |
rayonne_post_videos |
Les vidéos rendues qu'un post peut porter, et ce que sa venue refuserait. |
rayonne_get_carousel / rayonne_compose_carousel / rayonne_set_carousel_publish |
Le document PDF d'un post LinkedIn : le lire, le composer, l'envoyer ou non à la place des images (un post validé repart en relecture). |
M4 Soumission
| Outil | Rend |
|---|---|
rayonne_list_platforms |
The platform catalogue with each venue's EXECUTION MODE. |
rayonne_launch_checklist |
Where the workspace stands on each launch-checklist venue (done, in progress). |
rayonne_extension_status |
Whether the browser extension is connected (and can fill a form). |
rayonne_api_costs |
The month's metered API cost per paid venue (X), billed on the founder's own developer app. |
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_fill_trial |
Test the extension's form-filling agent on one Mode B platform: fills in the user's browser, never clicks Next or Send. |
rayonne_get_agent_run |
One run of the extension's agent: steps, fields filled, refusals, handoffs, outcome; no typed value. |
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, or a parked one where nothing went out (retryable). |
rayonne_cancel_submission |
Cancel a pending or scheduled submission. |
rayonne_schedule_submission |
Move a submission's dispatch time. |
rayonne_delete_submission |
Delete a submission. |
rayonne_upload_submission_asset |
Attach a screenshot of your own to a Mode C kit (a path on THIS machine; kind is the slot: cover, gallery, logo). |
rayonne_generate_submission_assets |
Run the kit's visual pipeline: a screenshot of the product page plus AI variants for each slot. |
rayonne_list_submission_assets |
The kit's visuals: signed URLs per slot, plus whether a generation is still running. |
rayonne_delete_submission_asset |
Remove one visual from the kit, by file name. IRREVERSIBLE. |
Comptes connectés
Lire et couper, jamais connecter : le consentement OAuth et le jeton collé restent des gestes de l'utilisateur, dans l'application.
| Outil | Rend |
|---|---|
rayonne_list_accounts |
Les connexions de l'espace, une par plateforme : statut (connected, expired…), compte, expiration. Aucun jeton. |
rayonne_disconnect_account |
Déconnecte une plateforme (YouTube : purge ses données autorisées). |
rayonne_set_starter_platforms |
Les plateformes de départ de l'onboarding, en comptes « en attente » : un intérêt, jamais une connexion. |
rayonne_set_account_autopilot |
L'autopilote publie-t-il sur ce compte LinkedIn (profil, page) ? La validation de chaque post reste dans l'application. |
rayonne_linkedin_pages / rayonne_select_linkedin_page |
Les pages entreprise que LinkedIn a listées après le consentement, et le choix de l'une d'elles. |
rayonne_confirm_bio_link |
Coche « Mon lien est dans ma bio TikTok » (ou, avec platform_slug="youtube", « Mon lien est sur ma chaîne YouTube », le seul lien cliquable des Shorts) quand l'utilisateur dit l'avoir fait. Le lien (bio_link de rayonne_list_accounts) est la page du compte TikTok, qui mène à chacun de ses produits, ou la page YouTube de l'espace, qui mène à son produit. |
M5 Analytics
| Outil | Rend |
|---|---|
rayonne_metrics_aarrr |
The AARRR snapshot over a sliding window of 1-90 days — one figure per metric (never a stage sum); GEO and the north star as levels. |
rayonne_metrics_channels |
Which channel brings customers: clicks, signups (n), activated users, revenue and engagement per platform and per Bullseye channel, with the unattributed share and no winner below the minimum sample. |
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 — titles, periods, statuses, composing. |
rayonne_get_review |
Une revue entière : content_md (ce qu'il faut changer) et kpis_jsonb. |
rayonne_run_review |
Compose a review now instead of waiting for the weekly beat — or, with review_id, regenerate that review's week. |
rayonne_hallucination_audit |
La vérification hebdomadaire des faits : les textes publiés signalés et chaque affirmation sans source. |
rayonne_measurement |
Le webhook des événements produit : adresse, signature, événements — jamais le secret. |
rayonne_rotate_event_secret |
(Re)génère le secret du webhook, rendu une seule fois ; clé org_admin. |
GEO
| Outil | Rend |
|---|---|
rayonne_geo_overview |
Taux de mention et de citation par moteur IA et par question, avec n et intervalle à 95 % (nuls sous min_n). |
rayonne_geo_prompts |
Les questions suivies et l'état de leur envoi à audigeo. |
rayonne_add_geo_prompt / rayonne_remove_geo_prompt / rayonne_restore_geo_prompts |
Ajouter une question du fondateur, en retirer une, rétablir celles par défaut. |
rayonne_geo_sources |
Les sites que les moteurs citent, chacun avec son action de mention gagnée. |
rayonne_add_geo_source_task |
« Ajouter à mes tâches » : un site cité devient une tâche du fondateur — Rayonne n'y publie jamais. |
rayonne_geo_robots |
Le dernier audit robots / indexation du site produit. |
rayonne_run_geo_robots |
Relance l'audit robots / indexation maintenant. |
« À faire » — les gestes du fondateur
Rayonne organise l'engagement humain, il ne le fait jamais : ces outils rappellent et enregistrent, ils ne répondent à personne.
| Outil | Rend |
|---|---|
rayonne_list_tasks |
The founder's to-do list — reply windows after each post (link, guidance, closing time), the weekly community participation, the monthly review request — filtered by one or more status and kind, paged with offset. |
rayonne_update_task |
Record the founder's gesture: done, skipped, or todo to reopen (409 task_closed once a window has closed). |
rayonne_notifications |
Le badge « attention requise » : contenus en relecture, kits à confirmer, stratégies proposées, fenêtres de réponse, compteurs. |
rayonne_today |
Le hub « Aujourd'hui » : la mise en route (6 étapes, statut et code), l'état effectif de l'autopilote, la semaine du plan et ce qui est parti. À appeler en premier. |
rayonne_confirm_setup_step |
Note une étape que seule la personne peut dire faite : brief_checked, facts_read, publish_manually — une fois, la première date reste. |
Lancement (WS7)
Le plan organise, les kits préparent, le fondateur publie : aucun outil ne publie sur Reddit, Hacker News, Product Hunt ou Indie Hackers, ni n'écrit un Show HN.
| Outil | Rend |
|---|---|
rayonne_launch_plan |
The active launch runbook (null when none): each dated step, its words, its gates and its task status. |
rayonne_create_launch_plan |
Create the runbook from a launch day; under 14 days answers 422 launch_too_soon unless the user confirms. |
rayonne_reschedule_launch |
Move the launch day: every step moves with it, Show HN never on Product Hunt's day. |
rayonne_move_launch_step |
Move one step (422 show_hn_same_day, 422 date_in_past). |
rayonne_delete_launch_plan |
Archive the active runbook; its open steps are skipped. |
rayonne_launch_gates |
What the launch gates know — pass, fail or unknown (unknown is not a pass). |
rayonne_answer_launch_gate |
Record the founder's answer to a gate; by a key, maker_present and community_history:* stay unknown. |
rayonne_recheck_launch_gates |
Read the product page once more (a waitlist fails the public-usage gates). |
rayonne_list_comparisons / rayonne_get_comparison |
The comparison matrices — each cell a value, its source URL and its date. |
rayonne_create_comparison |
Start a matrix; the founder's column is pre-filled from the ledger, to confirm. |
rayonne_update_comparison |
Replace a matrix; clears the confirmation. |
rayonne_confirm_comparison |
The founder confirms every value on its date. |
rayonne_check_comparison |
What blocks a page, without generating. |
rayonne_generate_comparison |
Write a « X vs Y » or « alternative à Y » article from the matrix ONLY; always waits for the founder. |
rayonne_delete_comparison |
Delete a matrix (a page already written keeps its frozen copy). |
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_suggest_video_cover |
Suggest the product banner of a finished video's first frame (name, what it is, one point), figures checked against the product facts. Calls a model; saves nothing. |
rayonne_set_video_cover |
Put that banner on a finished video and re-render it from the edit (COMPOSE). Free: nothing billed. |
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). |
rayonne_reopen_storyboard |
Reopen the review of a FINISHED video. Regenerates nothing. |
rayonne_cancel_reopen_storyboard |
Cancel a reopen: the delivered video comes back as it was, publishable again. Edits dropped, nothing billed. |
rayonne_assist_storyboard |
Ask the model for ONE change to a scene (rewrite/shorten/variants/add_scene_for) and get a proposal plus its review. Calls a model. |
rayonne_chat_storyboard |
Discuss the whole script in plain words; a proposed storyboard comes back with its diff when the request implies a change. Calls a model. |
rayonne_storyboard_thumbnail |
The REAL thumbnail of a page a capture scene would film (viewport, scroll offset), within the brief's allow-list. |
rayonne_update_video |
Choose who speaks in the video — or nobody. The only project field editable during review. |
rayonne_music_presets |
The music catalogue outside any project: the styles and levels the workshop actually offers. |
Avatars vidéo
Aucun dépôt de visage (voir plus haut).
| Outil | Rend |
|---|---|
rayonne_list_avatars |
The workspace's avatar gallery: name, traits, whether it is enabled, and a preview URL. |
rayonne_cartoon_avatar_options |
The closed vocabulary of a cartoon avatar (gender, skin tone, hair, facial hair, outfit). |
rayonne_create_cartoon_avatar |
Add a cartoon avatar — a drawn character that sings clip videos. Free: drawn by code. |
rayonne_preview_cartoon_avatar |
Draw a cartoon avatar without saving it — the creator's live preview (an SVG data URI). |
rayonne_cartoon_traits_of_avatar |
The « cartoon version » of an avatar: the cartoon traits that draw it closest. |
rayonne_generate_avatar |
Compose a synthetic portrait from traits and add it to the gallery. Calls an image model. |
rayonne_update_avatar |
Rename an avatar, or take it out of circulation with enabled=False. |
rayonne_cutout_avatar |
Redo the avatar's cut-out (transparent background) IN PLACE. Best-effort. |
rayonne_delete_avatar |
Delete an avatar and its files — the door when a real photo's subject withdraws consent. 409 while a video in progress uses it. |
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. |
rayonne_upload_product_asset |
Deposit a real screen or clip of the product into the gallery (a path on THIS machine). |
rayonne_update_product_asset |
Correct a screen's caption — never to empty it. |
rayonne_suggest_asset_caption |
Ask a vision model what a screen shows; saved only if the screen has no caption yet. Calls a model. |
rayonne_delete_product_asset |
Remove a screen or clip from the gallery. IRREVERSIBLE. |
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. |
Espaces de l'organisation
| Outil | Rend |
|---|---|
rayonne_list_workspaces |
The workspaces this key can act on, home first. |
rayonne_create_workspace |
Create a workspace in this key's organisation. |
rayonne_delete_workspace |
Delete a workspace and everything in it. IRREVERSIBLE. |
rayonne_onboard_workspace |
Termine l’initialisation, conserve brief et stratégie ; clé admin requise. |
rayonne_update_workspace |
Change a workspace's settings. |
Workspace
| Outil | Rend |
|---|---|
rayonne_overview |
Workspace summary: name, product URL, autopilot switch, and content / submission counts by status — prefer rayonne_today for what to do next. |
rayonne_workspace |
The targeted workspace's current settings for this key: name, product URL, locale, pause, autopilot, real autopublishing, AI illustrations, video music default. |
rayonne_workspace_access |
What THIS key may do here: home workspace, organisation reach, administration scope (org_admin). |
rayonne_usage |
The organisation's plan, limits and this month's usage — read before generating, instead of learning the quota from a 402. Read-only. |
rayonne_org_overview |
The organisation's consolidated view, within the key's reach. |
rayonne_export_workspace |
Every business object of the workspace as JSON, written into a LOCAL file (GDPR portability); org_admin key. |
rayonne_set_ai_illustrations |
Turn AI illustrations on or off for the workspace. |
Changelog
0.10.0 (non publiée)
Trente-quatre outils ajoutés depuis la 0.9.0 publiée (129), 163 au total
(tests/published_tools.json garde la liste publiée) : l'essai et la
lecture d'un run de l'agent de remplissage (rayonne_fill_trial,
rayonne_get_agent_run) ; la première image d'une vidéo livrée
(rayonne_suggest_video_cover, rayonne_set_video_cover) et l'annulation
d'une reprise (rayonne_cancel_reopen_storyboard) ; le lien de bio
(rayonne_confirm_bio_link) ; la parité de la revue du 2026-10-31 — rodage
(rayonne_content_warmup), médias suggérés (rayonne_media_candidates),
vidéos d'un post (rayonne_post_videos), document LinkedIn
(rayonne_get_carousel, rayonne_compose_carousel,
rayonne_set_carousel_publish), autopilote par compte
(rayonne_set_account_autopilot), page LinkedIn (rayonne_linkedin_pages,
rayonne_select_linkedin_page), checklist de lancement, coût d'API et
extension (rayonne_launch_checklist, rayonne_api_costs,
rayonne_extension_status), GEO en écriture (rayonne_add_geo_prompt,
rayonne_remove_geo_prompt, rayonne_restore_geo_prompts,
rayonne_add_geo_source_task, rayonne_run_geo_robots), vérification
hebdomadaire (rayonne_hallucination_audit), mesure produit
(rayonne_measurement, rayonne_rotate_event_secret), aperçu cartoon
(rayonne_preview_cartoon_avatar, rayonne_cartoon_traits_of_avatar),
portée de la clé et plateformes de départ (rayonne_workspace_access,
rayonne_set_starter_platforms), supprimer une version du brief
(rayonne_delete_brief), plan et usage, vue de l'organisation et export
(rayonne_usage, rayonne_org_overview, rayonne_export_workspace).
Démarrage : instructions ramenées sous 3 800 caractères, règles dures en
tête, la carte des modules dans la ressource rayonne://guide ;
serverInfo porte la version de rayonne-mcp ; mcp sans l'extra cli ;
python -m rayonne_mcp ; les routes qui attendent un modèle ont 150 s et
un délai dépassé rend timeout. Les refus TikTok / LinkedIn portent
publish_url.
0.9.0
Audit du 2026-10-14 : dix outils ajoutés, 128 au total. Nécessite le
backend qui porte les routes publiques correspondantes (/accounts,
/notifications, /reviews/{id}, /geo*, /content/selling-coverage,
/content/{id}/regenerate).
rayonne_reset_contentne réécrit rien — il remet en relecture. Les instructions disaient « re-runs a piece from the corrected source » : un agent corrigeait le brief, « relançait », et ré-approuvait le même texte. La réécriture estrayonne_regenerate_content(même venue, même type, même argument, quota consommé, retour en relecture).- Comptes connectés —
rayonne_list_accounts,rayonne_disconnect_account: un agent sait enfin si une venueapipeut publier. Connecter reste un geste humain. - Attention requise —
rayonne_notifications. - Revue hebdo lisible —
rayonne_get_review;rayonne_run_reviewprendreview_id. - GEO en lecture —
rayonne_geo_overview,rayonne_geo_prompts,rayonne_geo_sources,rayonne_geo_robots. - Couverture vendeuse —
rayonne_selling_coverage. - Corrigés —
rayonne_generate_submission_assetsrépondait 422 à chaque appel (le serveur lisaitmodescomme corps) ; il prendmodes.rayonne_list_tasksprend plusieurs statuts etoffset. Les segments libres d'un chemin (clés d'action et de garde, slug, nom de fichier) sont échappés. - Gardes dites à l'agent — TikTok refusé à une clé (422
tiktok_requires_app), vidéo du plan validée par une personne, médias d'un contenu validé qui le renvoient en relecture, repurpose refusé sur un type que la venue ne prend pas. - Une version, un code — la 0.8.0 de PyPI et celle du bundle Desktop
différaient : la source passe en 0.9.0,
build_mcpb.shreconstruit toujours la roue qu'il embarque, ettests/test_release_version.pyépingle les sources d'une version publiée.
0.8.0
L'audit produit (v1.33 → v1.41) arrive dans Claude : 36 outils ajoutés depuis 0.7.0, 118 au total, un par verbe de l'API publique. Nécessite le backend v1.41 ou plus récent.
- Faits du produit (WS1a) —
rayonne_list_facts,rayonne_create_fact,rayonne_update_fact,rayonne_archive_fact: le registre de preuves sur lequel chaque texte s'ancre. - Stratégie (WS4) —
rayonne_founder_context; le plan modifiable :rayonne_add_plan_action,rayonne_edit_plan_action,rayonne_remove_plan_action,rayonne_generate_plan_action; les expériences pré-enregistrées :rayonne_list_experiments,rayonne_add_experiment,rayonne_update_experiment,rayonne_delete_experiment,rayonne_record_experiment_result,rayonne_decide_experiment. - « À faire » (WS3) —
rayonne_list_tasks,rayonne_update_task: les gestes du fondateur (fenêtres de réponse, participation hebdomadaire, demande d'avis, étapes de lancement), rappelés, jamais faits à sa place. - Mesure (WS5) —
rayonne_metrics_channels: quel canal amène des clients, avec n et sans gagnant sous l'échantillon minimal. - Lancement (WS7) —
rayonne_launch_plan,rayonne_create_launch_plan,rayonne_reschedule_launch,rayonne_move_launch_step,rayonne_delete_launch_plan,rayonne_launch_gates,rayonne_answer_launch_gate,rayonne_recheck_launch_gates; les pages de comparaison sourcées :rayonne_list_comparisons,rayonne_get_comparison,rayonne_create_comparison,rayonne_update_comparison,rayonne_confirm_comparison,rayonne_check_comparison,rayonne_generate_comparison,rayonne_delete_comparison. - Avatars cartoon —
rayonne_cartoon_avatar_options,rayonne_create_cartoon_avatar(le personnage qui chante un clip). - Outils changés —
rayonne_update_workspaceprendfounder_context,activation_event,north_star_metric,venue_cadence,paid_partnership,bluesky_accountetengagement_emails;rayonne_edit_contentprendpaid_partnershipet dit la forme d'un fil ;rayonne_approve_contentest refusé (409) sur LinkedIn, une page LinkedIn, Hashnode (founder_approval_required) et une page de comparaison (comparison_human_review_required) : une personne valide dans l'application ;rayonne_retry_submissionnomme ses refus 409 ;rayonne_create_submission,rayonne_retry_submission,rayonne_schedule_submissionetrayonne_publish_videoexigent un contenu validé (409content_not_approved) — une page de comparaison, validée par une personne dans l'application ; un contenu validé querayonne_edit_contentretouche repart en relecture ;rayonne_publish_videosaute LinkedIn ;rayonne_list_platformsporte les règles écrites de chaque venue (tos) et sa cadence ;rayonne_metrics_aarrrrend une valeur par métrique et le GEO en taux. - Refus entiers — un refus de l'API rend
{"error": "request_failed", "status", "detail", "message"}:detailest le refus structuré du serveur (soncode,hint_fr/hint_en, lesproblemsd'un comparatif), là oùmessagecoupait à 300 caractères.
0.7.0
rayonne_onboard_workspace termine l’initialisation d’un espace via une clé
administratrice, sans régénération ni activation. rayonne_patch_brief
conserve les champs absents, fusionne les objets imbriqués, remplace les
tableaux et enregistre les valeurs nulles. Nécessite le backend corrigé.
0.6.0
Le dépôt, l'atelier vidéo et les pièces jointes d'un kit sortent du
navigateur. Dix-huit outils s'ajoutent : la galerie produit devient
inscriptible (rayonne_upload_product_asset — un CHEMIN de fichier local,
lu par le serveur sur la machine de l'utilisateur —,
rayonne_update_product_asset, rayonne_suggest_asset_caption,
rayonne_delete_product_asset) ; l'atelier vidéo s'ouvre en entier (avatars
rayonne_list_avatars / rayonne_generate_avatar /
rayonne_update_avatar / rayonne_cutout_avatar, relecture rouvrable
rayonne_reopen_storyboard (annulable : rayonne_cancel_reopen_storyboard), aide IA rayonne_assist_storyboard et
rayonne_chat_storyboard, vignette réelle rayonne_storyboard_thumbnail,
choix de l'avatar rayonne_update_video, catalogue rayonne_music_presets)
; et un kit Mode C accepte enfin des visuels déposés à la main
(rayonne_upload_submission_asset, rayonne_generate_submission_assets,
rayonne_list_submission_assets, rayonne_delete_submission_asset). 81
outils au total.
Une absence est délibérée : il n'y a pas d'outil de dépôt d'avatar, et
pas de route publique derrière. Déposer un visage engage le consentement
d'une personne réelle au nom de l'utilisateur connecté ; une clé rk_ n'a
pas d'utilisateur, donc un agent ne peut pas l'attester à sa place. Le
portrait de synthèse (rayonne_generate_avatar) est la voie ouverte ici ;
une vraie photo se dépose dans l'interface, par un humain.
0.5.0
Une clé peut désormais piloter TOUTE l'organisation, pas seulement son
espace d'origine : rayonne_list_workspaces énumère ce qu'elle peut
atteindre (l'origine marquée is_home), rayonne_create_workspace et
rayonne_delete_workspace ouvrent et ferment des espaces (clé avec le cran
d'administration), et rayonne_update_workspace règle l'espace visé sur
l'objet complet des réglages. Les 59 outils existants gagnent un
workspace_id optionnel pour agir sur un autre espace que celui de la clé —
omis, comportement inchangé. Rupture : le format rendu par
rayonne_workspace (et par rayonne_update_workspace) n'est plus le format
étroit d'avant — autopilot_enabled devient autopilot, et locale,
paused, autopublish_live, video_music apparaissent. 63 outils au
total.
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
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. Pour une version (tests/test_release_version.py
garde les déclarations d'accord), dans cet ordre :
./build/publish_pypi.sh— construit la roue et le sdist (build_wheel.sh) et publierayonne-mcp==<version>sur PyPI ;- l'adaptateur Codex, qui lance
uv run --locked, garde la version publiée jusque-là ; il passe à la nouvelle juste après l'envoi PyPI :rayonne-codex/pyproject.toml(rayonne-mcp==<version>, sa propre version),.codex-plugin/plugin.json, le compte d'outils descripts/check_connection.py, de son README et du skillrayonne-setup, puiscd rayonne-codex && uv lock(le verrou ne se régénère qu'une fois le paquet sur PyPI) ettests/test_release_version.py(PUBLISHED,PUBLISHED_TOOLS, etPUBLISHED_SOURCES_SHA256— l'empreinte que le test affiche : dès lors, toute retouche desrc/exige un nouveau numéro) ; Le plugin Claude Code suit le même chemin, juste après : il épingle lui aussi le serveur publié dansclaude_code_plugin/pyproject.toml(rayonne-mcp==<version>, sa propre version = celle de.claude-plugin/plugin.json) et démarre paruv run --lockedsurclaude_code_plugin/uv.lock:cd claude_code_plugin && uv lock, puis le compte d'outils de son README (tests/test_release_version.py) ettests/published_tools.json(la liste publiée) ; ./build/build_plugin.sh,./build/build_mcpb.shetpython3 build/build_codex_plugin.py— les trois paquets dansdist/. L'image API copiemcp/dist/(docker/Dockerfile.api) et sert le.mcpbet le plugin depuis Réglages (/api/v1/integrations/…) : reconstruire l'image ensuite ;- reporter
claude_code_plugin/etrayonne-codex/dans la marketplaceezeeFlop/claude-plugins(Codex sousplugins/rayonne-codex), et pousser.
Metadata
Release files for rayonne-mcp 0.13.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rayonne_mcp-0.13.1.tar.gz | 597.8 kB | Without provenance | Details for rayonne_mcp-0.13.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rayonne_mcp-0.13.1-py3-none-any.whl | Python 3 | none | any | Details for rayonne_mcp-0.13.1-py3-none-any.whl |
Total release size: 683.0 kB
Release files / rayonne_mcp-0.13.1.tar.gz
| Download URL | rayonne_mcp-0.13.1.tar.gz |
|---|---|
| Size | 597.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5cff04ceb7747304a29379cab854aa03c3761f744a8e1adb52fdfc0992e799b8
|
|
BLAKE2b-256 checksum How to use checksums |
115cc63444843282e123fc93591e5b54a9f25cf5db64690111153ca84e28f333
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.3
|
Release files / rayonne_mcp-0.13.1-py3-none-any.whl
| Download URL | rayonne_mcp-0.13.1-py3-none-any.whl |
|---|---|
| Size | 85.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bbc955eaba9d86003034188f24447e42955626f475afe801b36568408e1f73a9
|
|
BLAKE2b-256 checksum How to use checksums |
afa54c9a91f15f0e2e5673c6b6f68e2f889f27edf57f6a34c6742758ebd30b28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.3
|
Security for rayonne-mcp 0.13.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.