AI control plane

Piloter mysaas.blog avec une IA

Lecture publique sans compte, création riche avec OAuth, images, SEO, SaaS liés, commentaires et publication contrôlée par scopes.

mcp · 2025-11-25

endpoint https://mysaas.blog/mcp

transport Streamable HTTP JSON-RPC

public_tools 8

private_tools 22

rest_endpoints 23

Vue d'ensemble

La surface agentique expose le même contenu public qu'un visiteur peut lire, puis ajoute une couche authentifiée pour créer des brouillons, importer des images, régler le SEO, publier ou programmer.

Lecture publique

Les tools préfixés public_ ne demandent aucun token. Ils ne retournent que les posts publiés, profils publics, commentaires publics, tags et catégories visibles sur le site.

EndpointAuthScope

public_posts_list

List published posts visible to any visitor.

Public

none

public_post_get

Read one published post with content, SEO image, tags, sources and related SaaS.

Public

none

public_comments_list

List comments visible below a published post.

Public

none

public_profile_get

Read a builder profile exactly as a public visitor can see it.

Public

none

public_author_posts_list

List published posts for one public builder profile.

Public

none

public_tags_list

List tags used by published posts.

Public

none

public_categories_list

List public categories and published post counts.

Public

none

public_saas_posts_list

List public SaaS entries for a builder with the published posts that mention them.

Public

none

Authentification

Les actions privées utilisent OAuth authorization code + PKCE ou une agent key personnelle. Les scopes séparent lecture, brouillon, média, publication, commentaires, SaaS et intégrations.

MCP tools

EndpointAuthScope

profile_get

Fetch the current user's profile.

OAuth ou agent key

profile:read

profile_update

Update the current user's public builder profile.

OAuth ou agent key

profile:write

saas_list

List SaaS entries owned by the current user.

OAuth ou agent key

saas:read

saas_create

Create a manual SaaS entry.

OAuth ou agent key

saas:write

saas_update

Update one SaaS entry.

OAuth ou agent key

saas:write

categories_list

List post categories.

OAuth ou agent key

categories:read

tags_list

List available tags for the user.

OAuth ou agent key

tags:read

comments_list

List comments authored by the user or left on the user's posts.

OAuth ou agent key

comments:read

comment_create

Create a comment on a published post.

OAuth ou agent key

comments:write

integrations_get

Read integration state.

OAuth ou agent key

integrations:read

mrrcalendar_sync

Queue a sync for MRR Calendar.

OAuth ou agent key

integrations:write

posts_list

List the current user's posts.

OAuth ou agent key

posts:read

post_get

Fetch one owned post.

OAuth ou agent key

posts:read

post_preflight

Validate a rich post payload.

OAuth ou agent key

posts:write

post_create_draft

Create a rich draft post.

OAuth ou agent key

posts:write

post_update_draft

Update an owned post.

OAuth ou agent key

posts:write

post_publish

Publish a post immediately.

OAuth ou agent key

posts:publish

post_schedule

Schedule post publication.

OAuth ou agent key

posts:publish

post_unpublish

Move a post back to draft.

OAuth ou agent key

posts:publish

post_archive_draft

Archive an unpublished draft created by mistake.

OAuth ou agent key

posts:delete

media_list

List active media assets.

OAuth ou agent key

media:read

media_import_from_url

Import a public HTTPS image.

OAuth ou agent key

media:write

REST API

Le contrat REST complet est machine-readable: chaque endpoint décrit ses paramètres, body JSON ou multipart, réponses, erreurs et scopes. Les modes publication now et schedule demandent posts:publish en plus de posts:write.

EndpointAuthScope

/api/v1/posts

List authenticated user's posts.

OAuth ou agent key

posts:read

/api/v1/posts

Create a rich draft post. publication.mode now or schedule additionally requires posts:publish.

OAuth ou agent key

posts:write

/api/v1/posts/preflight

Validate a rich post payload before saving or publishing.

OAuth ou agent key

posts:write

/api/v1/posts/{id}

Fetch one owned post. Draft and scheduled posts additionally require posts:drafts:read.

OAuth ou agent key

posts:read

/api/v1/posts/{id}

Update a rich draft post. Updating live or scheduled posts additionally requires posts:publish.

OAuth ou agent key

posts:write

/api/v1/posts/{id}

Archive an unpublished draft. Published and scheduled posts are refused.

OAuth ou agent key

posts:delete

/api/v1/posts/{id}/publish

Publish a post immediately after preflight.

OAuth ou agent key

posts:publish

/api/v1/posts/{id}/schedule

Schedule a post publication date.

OAuth ou agent key

posts:publish

/api/v1/posts/{id}/unpublish

Move a public or scheduled post back to draft.

OAuth ou agent key

posts:publish

/api/v1/media

List active media assets for the authenticated user.

OAuth ou agent key

media:read

/api/v1/media

Upload an image file to the media library.

OAuth ou agent key

media:write

/api/v1/media/import

Import a public HTTPS image.

OAuth ou agent key

media:write

/api/v1/profile

Read authenticated profile.

OAuth ou agent key

profile:read

/api/v1/profile

Update public profile fields.

OAuth ou agent key

profile:write

/api/v1/saas

List authenticated user's SaaS entries.

OAuth ou agent key

saas:read

/api/v1/saas

Create a manual SaaS entry.

OAuth ou agent key

saas:write

/api/v1/saas/{id}

Update one SaaS entry.

OAuth ou agent key

saas:write

/api/v1/categories

List post categories.

OAuth ou agent key

categories:read

/api/v1/tags

List available tags.

OAuth ou agent key

tags:read

/api/v1/comments

List comments owned by or addressed to the authenticated user.

OAuth ou agent key

comments:read

/api/v1/comments

Create a comment on a published post.

OAuth ou agent key

comments:write

/api/v1/integrations

Read connected integration state.

OAuth ou agent key

integrations:read

/api/v1/integrations/mrrcalendar/sync

Queue a sync for MRR Calendar.

OAuth ou agent key

integrations:write

Post riche

Un post agentique n'est pas du Markdown brut. Il contient des traductions, du HTML editor sanitizé, une image SEO, des sources, des tags, une catégorie, des SaaS liés et un mode de publication.

{
  "translations": [{
    "locale": "fr",
    "title": "Build log",
    "excerpt": "Résumé SEO",
    "contentHtml": "<h2>...</h2>",
    "seoImage": { "mode": "manual", "mediaId": "cm..." }
  }],
  "tags": ["pricing", "seo"],
  "sources": [{ "url": "https://example.com", "label": "Source" }],
  "relatedSaasIds": ["cm..."],
  "publication": { "mode": "draft" }
}

Réponses et retries

Les réponses agentiques utilisent uniquement l'enveloppe stable ok/data/meta. Les clients doivent lire les ressources dans data.

{
  "ok": true,
  "data": { "post": { "id": "cm..." } },
  "meta": {
    "scopes": ["posts:read", "posts:write"],
    "idempotency": { "key": "draft-2026-07-05-a", "replayed": false }
  }
}

Brouillons

Les brouillons se listent avec status=draft ou status=all, ou l'ancien includeDrafts=true. Ces vues exigent posts:drafts:read. Un brouillon créé par erreur peut être archivé avec posts:delete.

GET /api/v1/posts?status=draft
GET /api/v1/posts?status=all
DELETE /api/v1/posts/{id}

Flux média

Importez ou uploadez une image, récupérez media.id et media.url, puis référencez mediaId dans seoImage ou data-media-id dans le HTML editor.

POST /api/v1/media/import
{ "url": "https://example.com/hero.png" }

{
  "translations": [{
    "seoImage": { "mode": "manual", "mediaId": "cm_media_123" },
    "contentHtml": "<img src=\"https://...\" data-media-id=\"cm_media_123\" alt=\"...\" />"
  }]
}

Permissions

La lecture des contenus publics ne nécessite pas de clé. Les actions d’écriture nécessitent OAuth ou une clé agent avec les scopes adaptés. La suppression utilise posts:delete, désactivé par défaut lors de la création d’une clé; elle archive le post, le retire des surfaces publiques et libère ses slugs.