Référence des outils MCP
Outils MCP de TwexAPI pour découvrir les endpoints, lire les données X, publier, transférer des workflows et exécuter des agents en toute sécurité.
Le serveur MCP de l’API TwexAPI à l’adresse https://api.twexapi.io/mcp expose trois outils : explore, twexapi_request et twexapi_write. Connectez-vous par connexion ou avec une clé API.
Les agents doivent d’abord appeler explore pour trouver un endpoint, puis l’outil que explore indique pour cet endpoint. Les lectures et les écritures utilisent des outils distincts, afin que des clients comme Claude puissent exécuter librement les lectures et demander une confirmation pour chaque écriture.
Outils
| Outil | Rôle | Annotations | Visible |
|---|---|---|---|
explore |
Recherche dans le catalogue d’endpoints : méthode, chemin, catégorie, paramètres, exemple et outil à appeler. | Lecture seule, idempotent | Toujours |
twexapi_request |
Appelle un endpoint en lecture seule par son chemin relatif. | Lecture seule | Toujours |
twexapi_write |
Appelle un endpoint d’écriture (publier un tweet ou une réponse). | Destructif, non idempotent | Uniquement avec l’accès en écriture |
twexapi_write est masqué lorsque l’utilisateur s’est connecté en lecture seule (scope mcp:read) ou lorsque les écritures sont désactivées sur le serveur.
explore
Recherche dans le catalogue d’endpoints. Il n’appelle pas X/Twitter et ne consomme aucun crédit : il fonctionne donc même si le compte n’a plus de crédits. Il nécessite toutefois une connexion ou une clé API.
Entrée
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
query |
string | Non | Recherche par mot-clé dans les noms, chemins et descriptions des endpoints. |
category |
string | Non | Filtre exact par catégorie, comme trending, search, users ou write. Voir Catégories d’endpoints. |
include_writes |
boolean | Non | Renvoie aussi les endpoints d’écriture. Ils ne sont renvoyés que si la connexion dispose de l’accès en écriture. |
Renvoie jusqu’à 50 résultats.
Entrée du catalogue
interface EndpointInfo {
name: string;
method: string;
path: string; // may contain {placeholders}; replace them before calling
category: string;
description: string;
read_only: boolean;
tool: "twexapi_request" | "twexapi_write"; // the tool that calls this endpoint
cursor_paginated: boolean;
parameters_schema: Record<string, unknown>; // JSON Schema of method, path, query, body
example: { method: string; path: string; query?: Record<string, unknown>; body?: unknown };
mpp_eligible: boolean; // accepts pay-per-call on /mcp/pay
}
Exemples
{ "category": "trending" }
{ "query": "advanced search" }
{ "query": "create tweet", "include_writes": true }
twexapi_request
Appelle un endpoint en lecture seule. L’authentification est injectée depuis la connexion MCP : l’agent ne transmet que la méthode, le chemin relatif et, facultativement, query et body.
Entrée
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
method |
string | Oui | Méthode HTTP renvoyée par explore, comme GET ou POST. |
path |
string | Oui | Chemin relatif renvoyé par explore, avec les placeholders remplacés par des valeurs réelles. Les URL absolues sont refusées. |
query |
object | Non | Paramètres de query. |
body |
object, array ou scalaire | Non | Corps JSON pour les requêtes autres que GET. |
Réponse
L’outil renvoie des métadonnées MCP avec la réponse REST :
{
"status_code": 200,
"endpoint": "list_global_trending_countries",
"method": "GET",
"path": "/twitter/global-trending/countries",
"result": {
"code": 200,
"msg": "success",
"data": []
}
}
Un status_code autre que 2xx marque le résultat de l’outil comme une erreur. Conservez les IDs, curseurs, IDs de tâches et champs de crédits de result. Lorsqu’une page contient has_more et next_cursor, transmettez le curseur à l’endpoint suivant renvoyé par explore.
twexapi_write
Appelle un endpoint d’écriture. L’entrée et la réponse ont le même format que twexapi_request. Aujourd’hui, le catalogue MCP contient un seul endpoint d’écriture, POST /twitter/tweets/create, qui publie un tweet ou une réponse :
{
"method": "POST",
"path": "/twitter/tweets/create",
"body": {
"tweet_content": "Hello from TwexAPI MCP",
"cookie": "auth_token=...; ct0=...",
"reply_tweet_id": null,
"media_url": null
}
}
| Champ du body | Obligatoire | Description |
|---|---|---|
tweet_content |
Oui | Texte du tweet ou de la réponse. |
cookie |
Oui | Cookie X ou auth_token du compte qui publie. |
reply_tweet_id |
Non | ID du tweet auquel répondre. |
media_url |
Non | URL publique d’un média à joindre. |
schedule |
Non | Heure ISO pour programmer la publication. |
community_name |
Non | Nom ou ID de la communauté où publier. |
delegated_account_username |
Non | Compte délégué au nom duquel publier. |
proxy |
Non | URL de proxy pour la requête. |
Chaque appel à twexapi_write porte un Idempotency-Key dérivé de sa méthode, de son chemin et de son body. Si un client répète exactement le même appel dans les 10 minutes, par exemple après un timeout, il reçoit le premier résultat au lieu de publier une seconde fois. Voir Réessayer une publication en toute sécurité.
Les autres écritures, comme les likes, retweets, abonnements, signets, suppressions, messages privés et la publication d’articles, ne sont disponibles que via l’API REST.
Appeler un endpoint d’écriture avec twexapi_request, ou un endpoint de lecture avec twexapi_write, échoue avec un message qui indique le bon outil.
Exemples de workflows
Voici des exemples des requêtes qu’un agent doit construire. En pratique, faites d’abord exécuter explore à l’agent pour obtenir le schéma actuel.
Rechercher des tweets
{
"method": "POST",
"path": "/twitter/advanced_search/page",
"body": {
"searchTerms": ["from:openai AI agents"],
"maxItems": 20,
"sortBy": "Latest"
}
}
Demandez à l’agent de renvoyer un objet de transfert compact :
{
"source": "twexapi_mcp",
"job": "tweet_search",
"route_used": "/twitter/advanced_search/page",
"query": "from:openai AI agents",
"rows": [
{
"tweet_id": "2104354931595423762",
"text": "...",
"author_username": "openai",
"created_at": "..."
}
],
"has_more": false,
"next_cursor": null
}
Récupérer les tweets tendance
{
"method": "GET",
"path": "/twitter/global-trending/tweets",
"query": {
"country": "united-states",
"topic": "technology",
"content": "AI",
"count": 20
}
}
Exporter des abonnés
{
"method": "GET",
"path": "/twitter/followers/openai/50"
}
Pour les gros exports, utilisez POST /twitter/followers/page avec des curseurs, ou les endpoints de tâches renvoyés par explore (/twitter/followers/task/{task_id}/status et /next).
Lire un article X en Markdown
{
"method": "GET",
"path": "/x/article/2104354931595423762/markdown"
}
Catégories d’endpoints
Le catalogue contient 54 endpoints en lecture seule et 1 endpoint d’écriture.
| Catégorie | Endpoints |
|---|---|
trending |
Pays des tendances, sujets, tags de contenu, tweets tendance et tendances par pays. |
search |
Recherche avancée (appel unique et paginée), hashtags et cashtags. |
users |
Utilisateurs par ID, recherche d’utilisateurs, vérification bleue et organisation, et état du compte. |
tweets |
Consultation de tweets, threads, tweets similaires et réponses (par nombre et paginées). |
followers |
Abonnés et abonnements : les plus récents, par nombre, paginés et tâches longues. |
engagement |
Utilisateurs ayant retweeté, utilisateurs ayant liké et tweets de citation. |
communities |
Détails des communautés, recherche, membres et tweets. |
lists |
Recherche de listes, tweets, membres et abonnés. |
timeline |
Timelines des utilisateurs et pages de tweets et réponses. |
articles |
Articles X par ID et en Markdown. |
accounts |
Localisation du compte et détails « À propos de ce compte ». |
dm |
Si un utilisateur peut recevoir un message privé (lecture seule). |
write |
Publier un tweet ou une réponse. |
Gestion des erreurs
Si la connexion n’est pas autorisée, aucun outil ne s’exécute et le client reçoit une erreur JSON-RPC avec le statut HTTP 401 ou 403 :
{
"jsonrpc": "2.0",
"id": null,
"error": {
"code": 401,
"message": "Sign in through your MCP client, or send your TwexAPI API key in the Authorization header. For pay-per-call without an API key, use /mcp/pay."
}
}
| Erreur | Signification |
|---|---|
401 « Sign in through your MCP client… » |
Aucun identifiant. Les clients qui prennent en charge la connexion la lancent à partir de cette réponse. |
401 « Invalid or unavailable MCP API token » |
La clé API n’est pas valide. |
401 « Access token is invalid or expired » |
La connexion a expiré ou a été révoquée. Reconnectez-vous. |
403 « This TwexAPI API key is disabled… » |
Réactivez la clé dans le tableau de bord. |
403 « No usable API key on this account… » |
Le compte connecté n’a pas de clé API active. Créez-en une dans le tableau de bord. |
Lorsque le compte n’a plus de crédits, la connexion reste ouverte. explore renvoie des résultats, et les autres appels d’outils renvoient un résultat d’erreur sans appeler l’API :
{
"error": "No credits left on this TwexAPI account. Top up at https://twexapi.io/dashboard and try again."
}
Lorsqu’un outil s’exécute et que l’API REST renvoie une réponse autre que 2xx, conservez les métadonnées MCP et l’erreur de l’API :
{
"status_code": 429,
"endpoint": "get_global_trending_tweets",
"method": "GET",
"path": "/twitter/global-trending/tweets",
"result": {
"code": 429,
"msg": "Rate limit exceeded. QPS limit: 2 requests per second",
"data": []
}
}
| Statut | Signification |
|---|---|
4xx |
Paramètres invalides, ressource introuvable ou action non autorisée. Corrigez la requête avant de réessayer. |
429 |
Limite de débit dépassée. Réessayez après la fenêtre de limite. |
5xx |
Défaillance du service ou problème de récupération des données X/Twitter. Réessayez plus tard. |
Consultez Gestion des erreurs et Limites de débit pour savoir comment rétablir la situation.