Documentatie

AI-agents (MCP)

Toolsets en tools

Hoe de AmICited MCP-server meer dan 300 tools beschikbaar stelt zonder de context van je agent te overspoelen: een kleine aangekondigde set, vier metatools om de rest te vinden en uit te voeren en twaalf toolsets.

De AmICited MCP-server registreert meer dan 300 tools, één voor alles wat het dashboard kan. Al die definities bij elk verzoek aan een model geven zou een groot deel van zijn context opgebruiken voordat het werk begint, en modellen kiezen slechter uit een heel lange lijst. Daarom maakt de server ze stapsgewijs bekend: je client ziet een korte lijst en de agent zoekt de rest op wanneer hij ze nodig heeft.

Je hoeft hier niets van te beheren. Agents volgen het patroon zelf, geleid door de instructies van de server en de skill using-amicited. Deze pagina legt uit wat ze doen, zodat je een transcript kunt lezen of het oppervlak bewust kunt verkleinen.

Wat je client ziet#

tools/list kondigt een kleine, vaste set aan:

ToolWaarvoor
list_domainsDe domeinen in de workspace, met de id’s die elke andere tool nodig heeft
list_promptsGevolgde prompts voor een domein
list_competitorsGevolgde concurrenten voor een domein
list_tagsPrompttags voor een domein
prompt_analyticsDe kerngetallen voor AI-zichtbaarheid
report_linkEen werkende link naar elk rapport of elke instellingenpagina in de app
list_toolsetsDe twaalf productgebieden, één regel elk, met aantallen tools
search_toolsVind een tool op wat je wilt doen
describe_toolLees het volledige invoerschema van één tool
read_toolVoer een alleen-lezentool uit op naam
run_toolVoer elke tool uit op naam, inclusief schrijfacties en tools die credits verbruiken

Omdat deze lijst tijdens een gesprek nooit verandert, blijft de promptcache van de client geldig, waardoor lange sessies snel en goedkoop blijven.

Vinden, inspecteren, uitvoeren#

Elke andere tool bereik je in drie stappen:

text
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_tools rangschikt tools op naam, beschrijving en toolset. Het werkt het best met de vraag in gewone woorden (“is the site down”, “customer lifetime value”) in plaats van een half onthouden naam. Geef toolset mee met een lege query om één gebied te doorbladeren en verhoog offset om door een groot gebied te pagineren.
  • describe_tool geeft het echte argumentschema en het soort van de tool terug. Agents zouden het altijd moeten aanroepen voordat ze een tool uitvoeren, omdat sommige tools platte argumenten nemen en andere een genest query-object.
  • read_tool voert tools uit waarvan het soort read is: gratis, herhaalbare leesacties op je eigen data. Het weigert al het andere, en daarom is het gemarkeerd als alleen-lezen en kunnen voorzichtige clients (bijvoorbeeld Codex met goedkeuringen uitgeschakeld) het gebruiken zonder te stoppen om te vragen.
  • run_tool voert alles uit, inclusief de andere drie soorten:
SoortBetekenis
readLeest je workspacedata. Gratis.
externalRoept een API van een derde partij aan (Google, Bing, Meta, OpenAI, dataproviders) of kost credits
writeMaakt of bewerkt workspacedata. Vereist de scope amicited:write
destructiveVerwijdert data, of start en stopt echte advertentie-uitgaven

Een tool die niet wordt aangekondigd, is niet minder beschermd. Elke tool controleert zelf rechten, abonnementslimieten en credits, en run_tool past de eigen schrijfcontrole van de doeltool toe, dus een token met alleen leesrechten kan er geen schrijfactie mee bereiken.

De twaalf toolsets#

Elke tool hoort bij precies één toolset. Agents gebruiken ze om te bepalen waar ze zoeken en jij kunt ze gebruiken om een gebied vast te zetten (zie hieronder).

ToolsetWat het dektVoorbeeldtools
domainsDomeinen, concurrenten en tags: de id’s die elke andere toolset nodig heeftlist_domains, create_competitor, create_tag
promptsGevolgde prompts en hun antwoorden: aanmaken, plannen, antwoorden lezen, fan-outs, dekkingcreate_prompts_bulk, list_prompt_responses, prompt_query_fanouts, get_prompt_coverage
visibilityWaar het domein opduikt in AI-antwoorden: metrics in de tijd, aangehaalde bronnen, Share of Voice, semantische kaartenget_dashboard_metrics, get_prompt_detail, get_citations_timeseries, list_top_cited_domains
organic_searchGoogle Search Console en Bing Webmaster Tools: queries, pagina’s, indexdekking, sitemaps, URL-indieninggsc_get_queries, gsc_inspect_url, bing_wmt_get_pages, indexnow_submit
paid_adsRapportage van Google Ads, Microsoft Ads, Meta en LinkedIn: uitgaven, campagnes, zoekwoorden, zoektermen, echte ROASgoogle_ppc_get_search_terms, bing_ppc_get_campaigns, meta_profit_true_roas, linkedin_performance
chatgpt_adsChatGPT Ads: prestaties lezen en campagnes, advertentiegroepen, creatives en conversietracking maken of bewerkenads_get_insights, ads_list_campaigns, ads_create_campaign
seo_reportsIn het warehouse gebouwde organische analyse: movers, striking distance, CTR- en bronvermeldingskloven, kannibalisatie, index bloatseo_get_striking_distance, seo_get_citation_gap_invisible_winners, seo_get_cannibalization_queries
eshopEcommerce-analytics: omzet en marge, producten, klanten, cohorten en LTV, segmenten, kosteninvoereshop_get_kpis, eshop_get_products, eshop_get_ltv, eshop_get_cost_mix
uptimeMonitors, heartbeats, incidenten, SLA-rapporten, onderhoudsvensters, statuspagina’suptime_list_monitors, uptime_sla_report, heartbeat_create, status_page_create
contentAI-artikelen, annotaties en interne linkregels voor een gekoppelde webshoparticle_generate, annotation_create, link_building_list_rules
auditsSitegezondheid voor AI-agents: agenttoegankelijkheid, llms.txt-review, Web Vitals, actualiteit, site-audit, backlinksget_agent_accessibility, llms_txt_get_comparison, get_web_vitals, backlinks_list
workspaceGekoppelde dataplatforms, synchronisatiestatus, imports en de meldingeninboxplatform_list_domain_connections, platform_get_sync_status, inbox_list_entries

Toolnamen hebben een prefix per gebied (gsc_, bing_wmt_, google_ppc_, meta_, eshop_, uptime_, ads_), waardoor transcripts makkelijk te scannen zijn.

Toolsets vastzetten met ?toolsets=#

Sommige clients gaan slecht om met een geneste run_tool-aanroep, en soms wil je een smalle agent die maar één gebied ziet. Voeg een queryparameter toe aan de verbindings-URL:

text
https://api.flowhunt.io/mcp/amicited?toolsets=eshop,uptime
https://api.flowhunt.io/mcp/amicited?toolsets=all

De genoemde toolsets worden dan native aangekondigd in tools/list, naast de kernset. all kondigt alles aan, waardoor de contextbesparing verloren gaat, dus gebruik het alleen met clients die zelf tools zoeken. Onbekende namen worden genegeerd in plaats van geweigerd, dus controleer de spelling als een gebied niet verschijnt. De selectie ligt vast voor de levensduur van de verbinding; geen enkele tool kan hem midden in een gesprek verbreden.

Pagina’s, velden en limieten#

  • Pagina’s van 25 rijen. Elke tool die een lijst rijen teruggeeft, geeft er standaard 25 terug, tot maximaal 500 per aanroep. Als er meer rijen bestaan, bevat het antwoord een paging-blok met has_more en de waarde om bij de volgende aanroep mee te geven (een native offset of pagina, of een next_cursor).
  • fields. Tools die één lijst rijen teruggeven, accepteren een fields-array om alleen de kolommen terug te geven die je nodig hebt. Een kolom die de rijen niet hebben, wordt geweigerd, niet genegeerd.
  • Geen workspace-argument. De workspace ligt vast door je referentie, dus geen enkele tool accepteert een workspace-id. Vrijwel elke tool heeft wel een domain_id uit list_domains nodig.
  • Uurlijkse limiet. Toolaanroepen worden per workspace per uur geteld (zie koppelen). Tools opsommen en skills lezen zijn gratis; een verborgen tool die via read_tool of run_tool wordt bereikt, telt één keer.

Gerelateerd#