io.ppc/postclick-landing-page-cro

Postclick by PPC.io: Landing Page CRO

Landing-page CRO: audit pages, rewrite copy, answer buyer objections, design and build via MCP.

Endpointhttps://mcp.ppc.io (streamable-http)
Registry version0.3.3
Now21 tools · grade B (81) · pin ts_7aee7e80af49fb321dccc039ff44f428 · protocol 2025-06-18
First / last listed2026-11-08 01:54 UTC / 2026-11-08 01:54 UTC
Grade over time2026-11-08: B (81), 21 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-11-08 01:54 UTC
21 tools, grade B (81)

Tools: list_cro_skills run_cro_skill check_balance audit_page get_audit get_audit_report get_competitors ask_audit generate_concepts get_concepts build_page get_build share_page export_page describe search fetch get_asset publish_page save_note get_notes

Current tools (21)

list_cro_skillsFind Postclick methods for prioritising page fixes, ad-to-page message match, buyer objections, copy edits and client test briefs. Returns starter requests and portable skill downloads. No account needed.
params: none
run_cro_skillUse when the user wants page fixes, message match, buyer objections, copy rewrites or a client test brief. In your answer, never add free, guarantees, ratings or performance claims unless the source explicitly confirms them. Audit suggestions are not verified facts. Finished copy must not contain placeholders such as $X; choose a useful change supported by the original page. A quote form alone doe
params: skill*, latest, page, audit_id, section, context
check_balanceRead the current plan, page allowance and purchase prices. Check coverage before starting a new page or when the user asks about cost. Work on a covered page does not have separate audit, design and build prices. Quote only returned prices; a missing price or allowance is unknown.
params: none
audit_pageStart a new landing-page audit when requested. Use check_balance for page coverage and follow the user's permission. First search for existing work when the request concerns a prior audit. Pass campaign context already supplied. Returns an audit_id; use get_audit with wait:25, then run_cro_skill for the requested deliverable. Does not design or build a page.
params: url*, context
get_auditRead audit status, changed progress, server elapsed time and ranked findings with typed edits. Use wait:25 while running. A failed, cancelled or stalled run is not a finished report. Once complete, use run_cro_skill or ask_audit for the relevant buyer, copy or offer evidence. Reading does not authorise a redesign.
params: audit_id*, wait
get_audit_reportRead the complete stored audit as markdown for a full review. It can be long: use topic or ask_audit for one question, or run_cro_skill for a specific deliverable. Missing and withheld sections remain unknown. Buyer journeys are modelled, not customer research.
params: audit_id*, topic
get_competitorsCosts nothing. Returns the competitor layer of a finished audit: the rivals bidding on the same clicks, the live ads Google is serving for each of them with the keyword, search volume and CPC behind every one, the landing pages those ads click to, which rival advertises most, the advertisers currently on this page's own keyword, and the customer's own paid keyword count. The ad and keyword numbers
params: audit_id*
ask_auditFree. Answers one question from a completed audit by returning that part of it in full: small enough to give the user whole, unlike the entire report. THIS IS THE TOOL FOR ANY FOLLOW-UP QUESTION about a page you have already audited. Never answer a question about an audited page from your own summary of it — the audit holds far more than any summary kept, and this is how to get the part that answe
params: audit_id*, topic*
generate_conceptsGenerate visual design directions for an existing audit when requested. Use check_balance for page coverage and follow the user's permission. Returns a run to resume with get_concepts; show the images already available before asking the user to choose. Never start a build without their choice.
params: audit_id*, count, direction
get_conceptsFree. Returns every concept rendered for an audit, each with its image URLs and a link to view it full size, and a runs.active count of how many are still rendering. A pack takes 3 to 8 minutes. While runs.active is above zero, call it with wait set to 300: it holds the connection open and comes back the instant a design lands, the stage moves, or the pack finishes, instead of returning the same h
params: audit_id*, concept_id, wait
build_pageBuild the design the user selected into a complete HTML page when requested and covered by their plan. Use check_balance for coverage and quote only returned purchase prices when a purchase is needed. Returns build_run_id. Use get_build with wait:25; completion requires artifact_ready. Do not publish or share the page without the user asking.
params: audit_id*, concept_id*, direction
get_buildFree. Returns the build's status and, once finished, the complete page. A build takes 15 to 25 minutes, so poll it with wait set to 300: the call holds open and returns the moment the stage moves or the page is ready, which turns a twenty-minute build from dozens of identical reads into a handful of calls that each have something to report. When a call comes back with the same stage you already me
params: build_run_id*, include_html, wait
share_pageFree. Mints a public no-login link that anyone can open, including someone with no account. THIS IS THE TOOL FOR 'send me the designs' or 'I want to forward this to my client'. Never hand over a dashboard or app link for that: the recipient hits a login wall and sees nothing. Pass concept_id to share a DESIGN, which comes back as one page with every band stacked in order, so it reads as a whole de
params: build_run_id, concept_id, audit_id, section
export_pageFree. Packages a finished page as a zip that runs on any static host: index.html with every image it uses pulled into assets/, plus a README and metadata.json. Returns a download link. This is the one for a user who wants the files. share_page is the one for a user who wants something to look at. It also returns implementation_prompt: step by step instructions for putting this page live on the use
params: build_run_id*, platform
describeList what is in the account when the user asks to see their work. For a page fix, copy rewrite or designer brief, call run_cro_skill directly; no account overview is needed first.
params: none
searchFree. Finds anything in this workspace by words: a domain, a page URL, a client's name, a design's caption, a project. Returns an address for each hit that you pass straight to `fetch`. Use this the moment somebody refers to work they have already done — "the zoomdrain page", "last month's audit", "the report I made for Acme". Leave the words empty to list the most recent of everything. Use kind=a
params: query, kind, since, limit
fetchFree. Reads any single thing by its address, which looks like postclick://audit/<id> and comes from `search`, from `describe`, or from any other tool's answer. A plain id works too if that is all you have. `expand` is what makes this worth calling: pass `*` and you get everything attached in one go, which for an audit means the findings, the buyers and their walkthroughs, the competitor scan, the
params: id, uri, expand, fields
get_assetFree. Every design, page capture and logo has an asset_id on the field that holds it. Pass it here. Which form you ask for depends entirely on where the picture is going, and getting it wrong is expensive. `as: "url"` is the DEFAULT AND USUALLY RIGHT one: a public link, no login, full size. Use it for anything you publish with publish_page, and for showing somebody a design. `as: "bytes"` returns
params: asset_id*, as, max_width
publish_pageFree. Takes HTML you wrote and hosts it at postclick.ppc.io/r/<name>, public, no login, ready to send to a client. A client gets a plain web page, not a link into a chat. We do not template the page, style it or add anything to it: it is exactly the report you wrote. USE PLAIN IMAGE LINKS HERE, from `get_asset` with `as: "url"`. A page we host loads our pictures at full size, so there is no reason
params: html*, title, slug, subject_uri
save_noteFree. Attaches anything you like to any record: who the client is, what they were charged, which findings they have already fixed, when you last sent them a report. Any name, any value. We never look inside it and the audit engine never reads it, so it cannot change what Postclick does. It is there so the work you do around these audits survives between conversations. Saving the same name again re
params: subject_uri*, key*, value
get_notesFree. Returns the notes saved against one record, or every note in the workspace when no address is given. Worth calling at the start of a repeat job, so a monthly report picks up whatever the last one left behind.
params: subject_uri

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.