AgentXM

AfterLaunch: the agentic growth marketing engine

mcp remote · streamable-http · v1.0.0 · source: crawl

https://afterlaunch.io/api/mcp

https://github.com/afterlaunch/mcp

Growth marketing, SEO and GEO as agent tools: ranked moves, ship them, AI answer visibility.

AgentXM badge

Works

75

Verified Oct 31, 2026 · p50 4078 ms · p95 4078 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass1 of 3 handshakes succeeded; server 'afterlaunch'
tools_listed15pass58 tools
schema_complete15pass58 of 58 tools have a description and a typed schema
latency_p5010failp50 4078 ms
latency_p955failp95 4078 ms
error_free10fail2 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (58)

NameDescriptionSchema
list_connectionsWhich growth data sources and distribution channels are connected: GA4 and Search Console (the measurement behind SEO and outcomes), Google Business Profile, and the LinkedIn / Reddit posting channelstyped
get_content_calendarGrowth content calendar, source drafts, current move states and X production switch. Read-only. Check linkage and calendar_sync; saved words are not publication proof.typed
get_moveOne growth move: evidence, source material, instructions and prepared_result. linked_article is earlier work to reuse, not a completed revision. Ready means awaiting review, not published. Closed posttyped
get_snapshotThe Growth Snapshot this product run started from: positioning, the discoverability score, the actions prioritised by impact, the competitor set, and the day-0 SEO and AI visibility baselines. The statyped
get_activityThe product timeline: what the growth agent and the founder already did and why (drafts, ships, skips, scans, observations, decisions with their rationale), newest first. Read before acting so you nevtyped
list_kb_pagesThe Memory pages: the shared record the growth marketing engine drafts from (business basics, audience, competitors, voice samples, recent observations). Summaries with a size hint. Read-only, free.typed
get_kb_pageOne Memory page by slug, with its full markdown body: the record the growth marketing engine drafts from. Read-only, free.typed
record_contentFile a growth idea (optional channels, kind, score, final_text sent verbatim, desk: a post, reply or task the owner posts by hand, queued at slot_at, or a decision or read that needs the owner, due_ontyped
get_experimentsGrowth content experiments already run, newest first, with scoped evidence. Read-only; never runs one. Each is an observation, not a rate.typed
whoamiConfirm the AfterLaunch key works: which product run it is bound to, its scopes, tier and trial_ends_at, plus onboarding (feed_ready is false while the Growth Snapshot deep scan is still building) andtyped
list_feedThe ranked backlog of growth marketing moves prepared for this product across SEO, AI visibility (GEO), competitors and distribution: title, why, area, status, rank, whether readable full-draft materityped
get_loop_statusThe automated growth marketing loops provisioned for this product (AI visibility, competitors, channel distribution) with their autonomy level, plus runnable_loop_types: what runs on demand. A runnabltyped
get_enrollmentThe product run summary for this growth engine: product_url, tier, trial_ends_at, timezone, whether autonomous work is active, and delivery settings. Credits once metering is live. Read-only, free.typed
list_outputsThe drafted marketing and distribution content produced for this product, newest first: id, loop_type, kind, status and title. Read-only, free.typed
get_outputRead a queue draft by id. SEO linked_article {id,title,content} adds the full Markdown article.typed
get_setup_snippetThe paste-able 'Growth (AfterLaunch)' section for this repository's CLAUDE.md or AGENTS.md: how a coding agent should use AfterLaunch for growth, marketing, SEO, AI visibility (GEO), competitor and dityped
get_visibilityThe measured AI visibility (GEO) results: how ChatGPT, Gemini, Perplexity and Google AI Overviews answer the tracked customer questions, plus share of voice, cited sources, competitor-owned gaps, the typed
get_seoThe site-wide SEO audit: issue groups with severity and affected pages, the weekly score trend, page performance, links and authority, and day-0 search ranks. Read before any SEO work of your own; thetyped
get_competitorsThe competitor roster with the measured stat battery for you and each rival (performance, SEO, Core Web Vitals, authority, G2 and Product Hunt presence, content freshness), plus the founder's own edittyped
get_outcomesWhat the shipped growth moves earned: tracked-link clicks per move, shipped counters, the weekly movement scoreboard, and whether GA4 and Search Console are connected. Read-only, free.typed
get_voice_profileThe structured voice every AfterLaunch growth marketing draft is written in: tone, characteristic phrases, vocabulary, sentence style and what it avoids. register says which you got, and they do not styped
get_business_contextStructured business positioning, audience, ICP, pricing, features and competitors, plus growth_strategy: the latest saved stage, bottleneck, bets and non-goals with version, source and date. Read befotyped
get_claimsThe claim library: the measured numbers this founder will stand behind in public, for replies, posts and any marketing writing. Each carries the claim in one sentence, the number with its unit, keywortyped
record_claimPut one measured number the founder will stand behind in public into the claim library, so every later reply and growth marketing post can cite it with its caveat. WHEN: a real measurement lands and ttyped
set_voice_axesWrite the calibrated leans from a voice round into the FOUNDER'S OWN voice profile, the personal register, never the brand's. Two voices live here and they do not sound alike: the brand's came from thtyped
record_voice_ruleSave one writing rule the person approved into their OWN voice, never the brand's. The morning marketing posts drafted for them follow it, move and voice reads carry it, and they see and remove it in typed
record_profileFile one public profile or listing the person already has on a directory site, so AfterLaunch counts it as a verified presence and a weekly check confirms it is still live. WHEN: you opened the page atyped
add_competitorAdd one company the person confirmed they compete with to their rival roster, which the next AI visibility scan measures them against and every competitor read carries. WHEN: only after they say yes ttyped
get_standupThe daily growth marketing standup in one call: what recently shipped and what AfterLaunch verified about it (receipts), the top ranked moves shippable now (ready; rank is the position among all movestyped
accept_moveAccept a move only after the founder says yes. This records one durable preparation attempt and may start the configured worker only when launch_won is true. A repeat never starts another worker. Freetyped
ship_moveRecord completion only after the founder explicitly confirms it. Use prepared_result after reviewing the current prepared attempt, or independent_work when the founder completed it separately. Site chtyped
revise_moveApply your user's explicit decision to revise an accepted growth move's current managed attempt: its prepared or failed result is set aside and a new preparation attempt starts, only if this wins. Pastyped
withdraw_moveApply your user's explicit decision to cancel (withdraw) unfinished work on an accepted growth move: the job is withdrawn and the move returns to pending. Pass the exact current job and attempt; legactyped
adopt_move_resultApply your user's explicit decision to adopt work prepared before attempt tracking (a null attempt) as an accepted growth move's prepared result, ready for their review. Pass the inspected prepared_cotyped
correct_move_publicationApply your user's explicit decision that a growth move's recorded publication is wrong: the shipped move is archived, its completion history is kept and no paid follow-through restarts. Pass the exacttyped
skip_moveDismiss a growth move (Skip in the Feed). Free; requires the 'act' scope. Optional feedback_key (closed vocabulary, see the enum) plus a free-text feedback_note explain why, which improves future marktyped
update_draftReplace a pending growth move's marketing draft body before shipping. A draft carrying an unfilled placeholder or a broken link is refused rather than saved. Free; requires the 'act' scope.typed
archive_moveArchive a growth move: a lighter dismissal than skip, with no verdict recorded. Free; requires the 'act' scope. Idempotent on an already-archived move.typed
undo_moveRestore a just-shipped or just-skipped growth move to pending: the self-correction verb for a wrong ship or skip. Free; requires the 'act' scope. Idempotent on a move already pending. It never unwindstyped
set_output_statusResolve one drafted marketing output in the founder's review queue: action 'ship' marks it done or posted WITHOUT publishing anywhere, action 'skip' dismisses it. WHEN: call 'ship' the moment the fountyped
redraft_outputReplace a drafted marketing output's body before it is shipped. Manual replacement only: the AI redraft stays in the app. A draft carrying an unfilled placeholder or a broken link is refused, and the typed
refresh_scanSPENDS MONEY: run an on-demand AI visibility scan (scan='ai_visibility'), the GEO measurement of how the answer engines represent this product against its competitors. Needs the 'write' scope, a paid typed
replenish_feedSPENDS MONEY: run the growth-move generator on demand to top up the Feed with fresh marketing moves across SEO, AI visibility, competitors and distribution. Needs the 'write' scope, a paid plan or an typed
create_checkoutOnly mints a link: returns a hosted checkout_url for the Founder plan, takes no card or payment details and charges nothing itself. Payment happens solely on that hosted checkout page, which your usertyped
create_topupOnly mints a link: returns a hosted checkout_url for a credit top-up (pack_id small, medium or large), takes no card or payment details and charges nothing itself. Payment happens solely on that hostetyped
start_connectionConnect a growth data source or distribution channel: mint a one-time link the FOUNDER opens in their own browser to approve it. You never complete the consent yourself; it is bound to their session. typed
poll_connectionDid the founder finish connecting the growth data source you handed them a link for? Pass the poll_token you got with that link. Reports pending (wait poll_after_seconds and ask again), connected, exptyped
disconnect_connectionDisconnect a growth data source or distribution channel and delete the credential stored for it (for Google it is also revoked at Google). Idempotent: disconnecting something that was never connected typed
list_tracked_promptsThe customer questions AfterLaunch tracks: the AI visibility (GEO) question set every measurement is taken against. Returns prompts in tracking order, cap (a hard 15) and used, plus curated: false meatyped
track_promptAdd one customer question to the AI visibility (GEO) set AfterLaunch measures this product on. Free, spends nothing. Two honest consequences: changing the set makes the NEXT scheduled scan run at fulltyped
untrack_promptRemove one customer question from the AI visibility (GEO) set, freeing a slot against the included cap of 50. Free, spends nothing. Same two honest consequences as adding one: the next scheduled scan typed
get_scoreboardDid the growth work move anything? The proof read for a period: AI visibility (GEO) at the START and the END of the window, the moves shipped between them, the scans that ran, and the receipts with whtyped
dismiss_gapSet aside one AI visibility (GEO) gap the founder is not going to act on: a tracked question where rivals get named and this product does not. The same verdict as a skip, on the AI visibility surface,typed
record_insightWrite one durable thing you have learned about this founder or their product into AfterLaunch's Memory, the record every growth and marketing draft is written from. WHEN: the moment the founder tells typed
propose_moveAdd a pending move to your user's growth moves. WHEN: you found a thread on a community they work, or their plan calls for a placement ask, outreach, a directory listing or a page for their site, and typed
list_queueUnclaimed preparation jobs, oldest first. Each row carries job_id and its nullable attempt_id. Queue summaries never include prepared_content. Free; requires the 'act' scope.typed
pick_up_jobTry to claim one queued preparation attempt. Pass job_id and the exact nullable attempt_id of a queued job. Start work only when the response says claim_won:true. An unchanged result is a non-winner atyped
report_jobReport a claimed attempt with its exact attempt_id: running; needs_input with one question for your user; shipped with the live published_url, or planned_url once merged (we check it); ready_for_revietyped

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/io-afterlaunch-agentic-growth-marketing.svg)](https://app.agent-xm.com/a/io-afterlaunch-agentic-growth-marketing)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.