Agents IA (MCP)
Toolsets et outils
Comment le serveur MCP AmICited expose plus de 300 outils sans inonder le contexte de votre agent : un petit ensemble annoncé, quatre méta-outils pour trouver et exécuter le reste, et douze toolsets.
Le serveur MCP AmICited enregistre plus de 300 outils, un pour tout ce que le tableau de bord peut faire. Remettre toutes ces définitions à un modèle à chaque requête consommerait une grande part de son contexte avant qu’il ait commencé à travailler, et les modèles choisissent moins bien les outils dans une très longue liste. Le serveur les dévoile donc progressivement : votre client voit une liste courte, et l’agent cherche le reste quand il en a besoin.
Vous n’avez rien à gérer. Les agents suivent ce schéma d’eux-mêmes, guidés par les instructions du serveur et le skill using-amicited. Cette page explique ce qu’ils font pour que vous puissiez lire une transcription, ou restreindre volontairement la surface.
Ce que voit votre client#
tools/list annonce un petit ensemble fixe :
| Outil | À quoi il sert |
|---|---|
list_domains | Les domaines de l’espace de travail, avec les identifiants dont tous les autres outils ont besoin |
list_prompts | Les prompts suivis d’un domaine |
list_competitors | Les concurrents suivis d’un domaine |
list_tags | Les étiquettes de prompts d’un domaine |
prompt_analytics | Les principaux chiffres de visibilité IA |
report_link | Un lien fonctionnel vers n’importe quel rapport ou page de paramètres de l’application |
list_toolsets | Les douze domaines produit, une ligne chacun, avec le nombre d’outils |
search_tools | Trouver un outil selon ce que vous voulez faire |
describe_tool | Lire le schéma d’entrée complet d’un outil |
read_tool | Exécuter un outil en lecture seule par son nom |
run_tool | Exécuter n’importe quel outil par son nom, y compris les écritures et les outils qui consomment des crédits |
Comme cette liste ne change jamais au cours d’une conversation, le cache de prompt du client reste valide, ce qui garde les longues sessions rapides et peu coûteuses.
Trouver, inspecter, exécuter#
Tout autre outil s’atteint en trois étapes :
search_tools {"query": "which prompts cite competitors but not us"}
describe_tool {"name": "seo_get_citation_gap_invisible_winners"}
read_tool {"name": "seo_get_citation_gap_invisible_winners", "arguments": {...}}search_toolsclasse les outils par nom, description et toolset. Il fonctionne mieux avec la question en mots simples (« is the site down », « customer lifetime value ») qu’avec un nom à moitié retenu. Passeztoolsetavec une requête vide pour parcourir un domaine, et augmentezoffsetpour paginer dans un grand domaine.describe_toolrenvoie le vrai schéma d’arguments et le type de l’outil. Les agents doivent toujours l’appeler avant d’exécuter un outil, car certains outils prennent des arguments à plat et d’autres un objetqueryimbriqué.read_toolexécute les outils de typeread: des lectures gratuites et répétables de vos propres données. Il refuse tout le reste, ce qui explique qu’il soit marqué en lecture seule et que des clients prudents (par exemple Codex avec les approbations désactivées) puissent l’utiliser sans s’arrêter pour demander.run_toolexécute tout, y compris les trois autres types :
| Type | Signification |
|---|---|
read | Lit les données de votre espace de travail. Gratuit. |
external | Appelle une API tierce (Google, Bing, Meta, OpenAI, fournisseurs de données) ou coûte des crédits |
write | Crée ou modifie des données de l’espace de travail. Nécessite le scope amicited:write |
destructive | Supprime des données, ou démarre et arrête de vraies dépenses publicitaires |
Un outil qui n’est pas annoncé n’est pas moins protégé. Chaque outil vérifie lui-même les permissions, les limites de l’offre et les crédits, et run_tool applique la vérification d’écriture propre à l’outil cible : un jeton en lecture seule ne peut donc pas atteindre une écriture par ce biais.
Les douze toolsets#
Chaque outil appartient à exactement un toolset. Les agents s’en servent pour décider où chercher, et vous pouvez vous en servir pour épingler un domaine (voir plus bas).
| Toolset | Ce qu’il couvre | Exemples d’outils |
|---|---|---|
domains | Domaines, concurrents et étiquettes : les identifiants que tous les autres toolsets prennent | list_domains, create_competitor, create_tag |
prompts | Prompts suivis et leurs réponses : créer, planifier, lire les réponses, les fan-out, la couverture | create_prompts_bulk, list_prompt_responses, prompt_query_fanouts, get_prompt_coverage |
visibility | Où le domaine apparaît dans les réponses IA : indicateurs dans le temps, sources citées, part de voix, cartes sémantiques | get_dashboard_metrics, get_prompt_detail, get_citations_timeseries, list_top_cited_domains |
organic_search | Google Search Console et Bing Webmaster Tools : requêtes, pages, couverture de l’index, sitemaps, soumission d’URL | gsc_get_queries, gsc_inspect_url, bing_wmt_get_pages, indexnow_submit |
paid_ads | Reporting Google Ads, Microsoft Ads, Meta et LinkedIn : dépenses, campagnes, mots-clés, termes de recherche, ROAS réel | google_ppc_get_search_terms, bing_ppc_get_campaigns, meta_profit_true_roas, linkedin_performance |
chatgpt_ads | ChatGPT Ads : lire les performances, et créer ou modifier campagnes, groupes d’annonces, créations et suivi des conversions | ads_get_insights, ads_list_campaigns, ads_create_campaign |
seo_reports | Analyse organique construite dans l’entrepôt : mouvements, striking distance, écarts de CTR et de citation, cannibalisation, index bloat | seo_get_striking_distance, seo_get_citation_gap_invisible_winners, seo_get_cannibalization_queries |
eshop | Analytics e-commerce : chiffre d’affaires et marge, produits, clients, cohortes et LTV, segments, coûts saisis | eshop_get_kpis, eshop_get_products, eshop_get_ltv, eshop_get_cost_mix |
uptime | Moniteurs, heartbeats, incidents, rapports SLA, fenêtres de maintenance, pages d’état | uptime_list_monitors, uptime_sla_report, heartbeat_create, status_page_create |
content | Articles IA, annotations et règles de maillage interne pour une boutique connectée | article_generate, annotation_create, link_building_list_rules |
audits | Santé du site pour les agents IA : accessibilité pour les agents, revue du llms.txt, Web Vitals, fraîcheur, audit du site, backlinks | get_agent_accessibility, llms_txt_get_comparison, get_web_vitals, backlinks_list |
workspace | Plateformes de données connectées, état de synchronisation, imports et boîte de réception des notifications | platform_list_domain_connections, platform_get_sync_status, inbox_list_entries |
Les noms d’outils sont préfixés par domaine (gsc_, bing_wmt_, google_ppc_, meta_, eshop_, uptime_, ads_), ce qui rend les transcriptions faciles à parcourir.
Épingler des toolsets avec ?toolsets=#
Certains clients gèrent mal un appel run_tool imbriqué, et vous voulez parfois un agent restreint qui ne voit qu’un seul domaine. Ajoutez un paramètre de requête à l’URL de connexion :
https://api.flowhunt.io/mcp/amicited?toolsets=eshop,uptime
https://api.flowhunt.io/mcp/amicited?toolsets=allLes toolsets nommés sont alors annoncés nativement dans tools/list, à côté de l’ensemble de base. all annonce tout, ce qui renonce aux économies de contexte : ne l’utilisez qu’avec des clients qui font leur propre recherche d’outils. Les noms inconnus sont ignorés plutôt que rejetés : vérifiez donc l’orthographe si un domaine n’apparaît pas. La sélection est fixée pour toute la durée de la connexion ; aucun outil ne peut l’élargir en cours de conversation.
Pages, champs et limites#
- Pages de 25 lignes. Tout outil qui renvoie une liste de lignes en renvoie 25 par défaut, jusqu’à 500 par appel. Quand il existe d’autres lignes, la réponse inclut un bloc
pagingavechas_moreet la valeur à passer au prochain appel (un offset ou une page natifs, ou unnext_cursor). fields. Les outils qui renvoient une liste de lignes acceptent un tableaufieldspour ne renvoyer que les colonnes dont vous avez besoin. Une colonne que les lignes n’ont pas est refusée, pas ignorée.- Pas d’argument d’espace de travail. L’espace de travail est fixé par votre identifiant : aucun outil n’accepte donc d’identifiant d’espace de travail. Presque tous les outils ont besoin d’un
domain_idissu delist_domains. - Plafond horaire. Les appels d’outils sont comptés par espace de travail et par heure (voir connexion). Lister les outils et lire les skills est gratuit ; un outil masqué atteint via
read_toolourun_toolcompte une fois.