Google Search Console integration for Model Context Protocol (MCP)
Postclick by PPC.io: Landing Page CRO is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Landing-page CRO: audit pages, rewrite copy, answer buyer objections, design and build via MCP.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http postclick-by-ppc-io-landing-page-cro-mcp https://mcp.ppc.io
# 2 — ask your agent for something these tools do
# list_cro_skills, run_cro_skill, check_balance and 18 more
Postclick by PPC.io: Landing Page CRO costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http postclick-by-ppc-io-landing-page-cro-mcp https://mcp.ppc.ioReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
21 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Find 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 or credits needed.
No parameter schema on file.
Use 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| skill | string | yes | Choose postclick-fix-first for the first fix; postclick-copy-rewrite for replacement words; postclick-experiment-brief for a designer note or handoff; postclick-message-match for comparing an ad; post |
| latest | boolean | no | Use true only when the user explicitly asks for their latest or most recent audit. May be combined with page to find its latest audit. |
| page | string | no | Page URL, domain or client name. Leave out when audit_id is known or the user explicitly requested latest. |
| audit_id | string | no | An audit ID returned by Postclick or extracted from the user’s /dashboard/a/<audit_id> link. For that link use audit_id, not page or latest. Never ask the user to find an ID. |
| section | string | no | For copy rewrites, defaults to opening (headline, supporting line and button). Use page when the user asks for other sections or the whole page. |
| context | string | no | The user's ad copy, audience, constraints or desired output. Pass known context; do not require an interview. |
Read the current account balance, billing mode and live audit/build/pack prices. Use before a new paid step or when the user asks about cost. Quote only returned prices; a missing price is unknown.
No parameter schema on file.
Start a new landing-page audit after the user authorises its live price from check_balance. 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The live landing page URL to audit. |
| context | string | no | Optional, up to 500 characters. What the page is for, in the user's own words: the offer, who it is aimed at, the campaign sending traffic to it. Pass what they have ALREADY told you rather than inter |
Read 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| audit_id | string | yes | — |
| wait | integer | no | Seconds to wait for a material change. Use 25 for broad client compatibility; longer waits are available for hosts that support them. A timeout preserves the run; resume by ID instead of starting agai |
Read 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| audit_id | string | yes | — |
| topic | string | no | Optional. Return only this part of the report instead of all of it. The same keys ask_audit takes: buyers, the_pitch, trust, competitors, copy, leaks, the_page, technical. |
Costs 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| audit_id | string | yes | — |
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| audit_id | string | yes | — |
| topic | string | yes | Which part of the audit answers the question. buyers · the_pitch · trust · competitors · copy · leaks · the_page · technical. |
Generate visual design directions for an existing audit after the user requests designs and authorises the current pack quote. Use check_balance for current pack costs. 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| audit_id | string | yes | — |
| count | integer | no | How many distinct directions the user wants, up to 12. Leave it out for the standard pack of 2. Higher costs more, so quote the total back before agreeing to it. Directions that already exist are coun |
| direction | string | no | Optional plain-English creative steer. Honoured above other design choices. |
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| audit_id | string | yes | — |
| concept_id | string | no | Optional. Given one, returns that design as its full stack of bands in page order instead of one opening screen per design. |
| wait | integer | no | Seconds to wait for a material change. Use 25 for broad client compatibility; longer waits are available for hosts that support them. A timeout preserves the run; resume by ID instead of starting agai |
Build the design the user selected into a complete HTML page after approval of the live quote. 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| audit_id | string | yes | — |
| concept_id | string | yes | From get_concepts. |
| direction | string | no | Optional plain-English steer for the build. |
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| build_run_id | string | yes | — |
| include_html | boolean | no | Return the full page HTML. Large. Default false. |
| wait | integer | no | Seconds to wait for a material change. Use 25 for broad client compatibility; longer waits are available for hosts that support them. A timeout preserves the run; resume by ID instead of starting agai |
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| build_run_id | string | no | Share a finished built page. From build_page or get_build. |
| concept_id | string | no | Share a design. From get_concepts. This is the one to use when someone wants to show designs to a client. |
| audit_id | string | no | Share an AUDIT. From audit_page or get_audit. Use this when someone wants to forward the findings themselves rather than a design or a built page. |
| section | string | no | Which part of the audit the link opens. Only with audit_id. competitors opens on who is bidding against the page, for forwarding that one answer. Defaults to full. |
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| build_run_id | string | yes | — |
| platform | string | no | Where the user's site lives. Omit if unknown and the instructions will assume nothing. |
List 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.
No parameter schema on file.
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Words to match: a domain, part of a URL, a client name, a caption. Leave it out to list the most recent work instead of searching. |
| kind | string | no | Narrow to a kind such as audit, concept, build or project. Leave it out to search everything at once, which is usually what you want. |
| since | string | no | Only things newer than this date, as YYYY-MM-DD. |
| limit | integer | no | How many to return. 20 by default. |
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | no | Source ID returned by search. Alias of uri for ChatGPT retrieval. |
| uri | string | no | The address, like postclick://audit/<id>. A bare id works too and will be looked up. |
| expand | string | no | Comma separated names of things to pull in with it, or * for all of them. Every answer lists what else is available under available_links, so you can always go deeper without guessing. |
| fields | string | no | Comma separated field names, when you only need a few. Left out, you get the useful ones. |
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset_id | string | yes | The id from a picture field, like concept:<id>:image. |
| as | string | no | url for a link, which is right for anything you publish and is the default. bytes only for a document that cannot load a picture from another website. |
| max_width | integer | no | How wide the picture comes back when you ask for bytes. 1024 by default, which is readable in a report. Smaller is cheaper. |
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| html | string | yes | The whole page with inline CSS. Use image URLs from get_asset; avoid embedding large image data. |
| title | string | no | What the report is called. |
| slug | string | no | The last part of the address, like acme-october-review. Taken from the title when left out. Pass the same one again to update a report you already sent. |
| subject_uri | string | no | The address of the audit or project it was built from, if there is one. |
Free. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject_uri | string | yes | The address of the thing this is about, like postclick://audit/<id>. |
| key | string | yes | Your own name for this field. |
| value | string/number/boolean/object/array/null | no | Anything: a string, a number, a list, an object. |
Free. 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject_uri | string | no | Limit to one record's notes. Leave it out for all of them. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Postclick by PPC.io: Landing Page CRO or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.3.3.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Postclick by PPC.io: Landing Page CRO can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.