Appuyez sur / pour rechercher

Toute la documentation
docs Appeler depuis votre IA Serveur MCP

S’exécute surWrit CloudDesktop

mcp ▸ des outils pour l’ia

Chaque workflow, un outil.

Le serveur MCP writ-cloud transforme votre compte en outils qu’un agent IA peut appeler : vingt-cinq outils intégrés pour les workflows, les données, les crawls, les moniteurs et les automatisations — plus un outil par workflow enregistré. L’authentification est une clé API wt_.

Writ s’exécute sur vos propres comptes, avec vos propres identifiants et données, sur les sites que vous êtes autorisé à utiliser.

connexion ▸ une seule url

Un serveur pour tout le compte.

Le transport est Streamable HTTP : chaque message est un POST vers /mcp sur api.usewrit.app — JSON-RPC 2.0, un objet unique ou un tableau batch par requête. GET /mcp est une sonde de santé. Authentifiez-vous avec Authorization: Bearer et une clé API wt_ ; cet endpoint n’accepte pas OAuth.

PropriétéValeur
TransportStreamable HTTP — JSON-RPC 2.0 sur POST /mcp, objet unique ou tableau batch
Version du protocole2025-03-26
Nom du serveurwrit-cloud
AuthAuthorization: Bearer — une clé API wt_ ; pas d’OAuth sur cet endpoint
SantéGET /mcp

mcp-client config

{
  "mcpServers": {
    "writ-cloud": {
      "type": "http",
      "url": "https://api.usewrit.app/mcp",
      "headers": {
        "Authorization": "Bearer wt_xxxxxxxxxxxx"
      }
    }
  }
}

GET /api/mcp/connect-info vous remet les deux blocs prêts à coller : la ligne du connecteur npm — claude mcp add writ-cloud -e WRIT_API_KEY=… -- npx -y writ-mcp — et un bloc direct {"type":"http"} URL + en-tête. Dans les deux cas, la clé voyage dans une variable d’environnement, jamais dans argv.

outils ▸ vingt-cinq intégrés

Vingt-cinq outils, sur chaque compte.

Le jeu intégré couvre la boucle qu’un agent exécute réellement : trouver un workflow, l’exécuter, lire et chercher ce qu’il a collecté, le planifier, l’exposer, crawler, surveiller, automatiser.

OutilCe qu’il fait
writ_list_workflowsListe les workflows enregistrés — id, nom, entrées, planification.
writ_run_workflowExécute un workflow par id ou nom ; attend par défaut et renvoie les données extraites.
writ_workflow_dataLes données accumulées par un workflow, en colonnes et en lignes.
writ_search_dataRecherche par mots-clés dans tout ce que vos workflows ont collecté.
writ_export_dataLa table complète en CSV ou JSON.
writ_workflow_runsL’historique des runs d’un workflow.
writ_set_schedulePlanifie un workflow : every_minutes, ou daily/weekly avec une heure et des jours.
writ_expose_workflow_apiExpose un workflow comme endpoint REST ; renvoie l’URL.
writ_crawl_siteLance un crawl distribué ; save_as le rend réutilisable.
writ_saved_crawlsListe les crawls enregistrés.
writ_run_saved_crawlExécute un crawl enregistré — ou sert ses données récentes via max_age.
writ_saved_crawl_dataAccès en lecture seule aux derniers résultats d’un crawl enregistré.
writ_crawl_statusLa progression d’un crawl en cours.
writ_create_automationCrée une automatisation.
writ_create_monitorSurveille les changements d’une page.
writ_wire_monitorChoisit ce qu’un changement détecté déclenche — exécuter un workflow, ou notifier.
writ_browser_useOuvre un vrai navigateur pour n’importe quelle tâche web ; renvoie une observation de la page.
writ_record_websiteDémarre l’enregistrement d’une tâche sur un site, pour la rejouer ensuite.
writ_website_to_apiTransforme un site sans API exploitable en API appelable — propose vos propres workflows et les API prêtes à l’emploi de la marketplace avant d’enregistrer quoi que ce soit.
writ_buildConstruit un workflow réutilisable pour toute tâche web répétable, quand aucun outil de démarrage plus précis ne s’applique.
writ_browser_actPilote la session — naviguer, cliquer, remplir, sélectionner, extraire — et renvoie l’observation suivante. Chaque action rejouable est enregistrée.
writ_browser_contextLit à la demande le DOM nettoyé, les champs et les liens de la page.
writ_browser_networkCherche dans les requêtes faites par la page, capturées pendant que vous pilotez.
writ_browser_saveTermine la session et enregistre ses étapes comme workflow réutilisable.
writ_browser_cancelTermine la session sans rien enregistrer.

La cadence est appliquée, pas ajustée. Un intervalle de moniteur sous le plancher de votre plan est rejeté avec une erreur 402 interval_too_short — jamais raccourci en silence. L’agent réessaie avec un intervalle plus long.

Le client connecté est l’IA. Une session d’enregistrement passe par la même clé : démarrez-la, pilotez-la tour par tour avec writ_browser_act, puis terminez avec writ_browser_save — ou writ_browser_cancel pour l’abandonner. L’enregistrement est automatique et la sauvegarde à la demande : un workflow enregistré se rejoue ensuite sans modèle dans la boucle. Pour une valeur sensible, définissez data_key et l’étape enregistrée conserve un placeholder plutôt que la valeur. Deux points diffèrent du connecteur bureau, parce que le navigateur est le nôtre et non le vôtre : un outil de démarrage EXIGE une url (elle passe le contrôle SSRF et la politique de domaines avant l’ouverture du navigateur), et un site dont la connexion demande un code à usage unique nécessite un persona_id — le code est généré côté serveur à partir de cette identité enregistrée et n’atteint jamais le modèle. Une session ouverte mobilise un vrai navigateur cloud : son temps réel s’impute à votre quota d’exécution jusqu’à la sauvegarde ou l’annulation ; une session laissée inactive est récupérée automatiquement.

outils ▸ un par workflow

Chaque workflow enregistré est son propre outil.

tools/list porte aussi un outil run_<name> par workflow enregistré, son schéma d’entrée dérivé des entrées déclarées du workflow. Les noms sont slugifiés ; une collision se dédouble en _2, _3 ; les noms intégrés writ_* gagnent toujours. Chaque outil de run accepte les trois mêmes contrôles :

ContrôleDéfautRôle
waittrueBloque jusqu’au verdict du run et renvoie les données extraites.
timeout_seconds120Durée maximale d’attente avant de rendre un run encore en cours.
max_age0Sert un résultat récent réussi au lieu de réexécuter ; 0 exécute toujours à neuf.

La réutilisation ne s’applique qu’aux résultats réussis et se fonde sur les entrées exactes. Les réponses portent _cache.hit et _cache.age_seconds : un agent distingue toujours une réponse en cache d’une réponse fraîche.

règles ▸ pas de porte dérobée

Un appel d’outil est un appel d’API.

MCP ajoute un protocole, pas une porte dérobée. Chaque appel d’outil s’exécute exactement sous les règles de l’API REST appelée avec la même clé : isolation du tenant, scopes de la clé, limites du plan et facturation s’appliquent sans changement.

publication ▸ /mcp/{slug}

Des serveurs publiés sur /mcp/{slug}.

La publication crée aussi des serveurs MCP autonomes sur /mcp/{slug} — Streamable HTTP sur POST /mcp/{slug}, avec SSE en option sur GET /mcp/{slug}/sse. Ils acceptent une clé wt_ ou un token d’accès OAuth : vous confiez un workflow à un client sans lui confier une clé de compte.

OAuth pour les clients MCP

Un appel refusé répond avec WWW-Authenticate dont le resource_metadata pointe vers …/.well-known/oauth-protected-resource/mcp/{slug} — la découverte OAuth standard de MCP. Les métadonnées du serveur d’autorisation vivent sur GET /api/oauth/.well-known/oauth-authorization-server, et les clients s’enregistrent eux-mêmes via l’enregistrement dynamique RFC 7591 sur POST /api/oauth/register — clients publics PKCE uniquement, sans client secret. Conçu pour les connecteurs personnalisés de Claude, Cursor et tout client qui parle ce flux.

Configuration d’un outil

Chaque outil publié est un petit contrat ; le slug du serveur est toujours dérivé du nom.

ChampRègle
tool_namerespecte ^[a-zA-Z_][a-zA-Z0-9_]*$ — 100 caractères au plus
description500 caractères au plus — ce que le modèle lit pour décider quand appeler
input_schemaJSON Schema ; null le dérive des entrées du workflow
timeout_seconds5–300 secondes, 30 par défaut

Les outils MCP publiés sont plafonnés par plan (la limite max_mcp_tools) — un plafond sur le nombre d’outils publiés, jamais sur la fréquence de leurs appels :

PlanOutils MCP publiés
Free2
Starter5
Pro15
Growth40
Scale100
EnterpriseIllimité

faq

Questions MCP, répondues.

Quelle est l’URL du serveur MCP ?
Le serveur du compte est https://api.usewrit.app/mcp — Streamable HTTP, authentifié par une clé API wt_ dans l’en-tête Authorization. Les serveurs publiés par workflow vivent sur /mcp/{slug} et acceptent aussi les tokens d’accès OAuth.
Un client MCP peut-il enregistrer un nouveau workflow sur le cloud ?
Oui. Démarrez une session, pilotez-la avec writ_browser_act, puis terminez avec writ_browser_save — le workflow est ensuite à vous, à exécuter, planifier ou exposer. Votre client connecté est l’IA : aucune clé de modèle distincte n’intervient.
Le serveur cloud prend-il en charge OAuth ?
Pas sur POST /mcp — cet endpoint n’authentifie que les clés wt_. Les serveurs publiés /mcp/{slug}, eux, acceptent OAuth : PKCE, enregistrement dynamique des clients (RFC 7591), clients publics sans secret, avec découverte via WWW-Authenticate et /.well-known/oauth-protected-resource.
Les appels d’outils ont-ils leur propre facturation ?
Non. Un appel d’outil est le même appel facturé que celui que vous auriez fait vous-même sur l’API REST, sous la même isolation de tenant, les mêmes scopes de clé et les mêmes limites de plan. MCP ne change rien au coût d’un run.