Create complete product launches, not just content.
/ developers / docsGet a key

Populr MCP server

Give your AI coding assistant the SEO changes your team approved in Populr, so it can apply them in your site's code and confirm they're live.

Overview

Populr drafts better page titles, meta descriptions and structured data for a business's website, from what each page actually says, and the owner approves them. Populr can apply approved changes with a one-line script, which Google reads. The MCP server hands the same approved changes to an assistant working in the site's code — so they end up in the HTML as served, which every search engine, AI crawler and link preview reads.

The server speaks the Model Context Protocol over HTTP. Anything that supports remote MCP servers can use it.

Quickstart

  1. Open Access keys in Populr and create one. Copy it — it's shown once — and the setup for your editor appears with the key filled in.
  2. On the same page, set up the SEO autopilot for your site and approve at least one page fix.
  3. Add Populr to your editor (below), then ask your assistant: “Apply my Populr SEO fixes.”
Server URL
https://www.trypopulr.in/api/mcp

Connect your editor

Every client sends the key as Authorization: Bearer <key> — or as X-Populr-Key: <key>, for gateways that can't add the Bearer prefix. Replace YOUR_POPULR_KEY with yours, and keep keys out of version control. Listing the tools works without a key; running one needs it.

One click: Add to VS Code (installs the Populr extension; run Populr: Connect and paste your key — it's kept in VS Code's secret storage), or install the Populr plugin for Cursor (it asks for your key as POPULR_KEY). Right after you create a key, the keys page also offers Add to Cursor with the key filled in.

In your project's terminal:

claude mcp add --transport http populr https://www.trypopulr.in/api/mcp \
  --header "Authorization: Bearer YOUR_POPULR_KEY"

Add --scope project to share it with your team through .mcp.json (keep the key out of version control — use an environment variable).

Other clients: any MCP client that supports the Streamable HTTP transport with a custom header will work. Point it at the server URL above.

VS Code & Cursor extension

The Populr extension registers Populr with your editor's agent, so there's no mcp.json to write. It installs as populr.populr-seo.

  1. Install it:
    • Cursor — search Populr SEO in the Extensions panel (it's on Open VSX).
    • VS Code — search Populr SEO in the Extensions view (it's on the Visual Studio Marketplace). Requires VS Code 1.101 or later. Offline or locked down? Download the .vsix and run Extensions: Install from VSIX…
  2. Run Populr: Connect from the Command Palette and paste your key. It's kept in the editor's secret storage.
  3. Ask the agent. In VS Code, open chat in Agent mode — Populr's tools are in the tools picker. In Cursor, Populr is listed under MCP servers and its tools are available to the agent.

In Cursor, the extension runs a small local relay that adds your key to each request — Cursor's extension API can't send it to a remote server directly. The relay gets the key through its environment, never its command line, and stops when you disconnect.

Commands it adds:

  • Populr: Show SEO status — what's approved and waiting.
  • Populr: Audit a page — on-page problems of any public URL, in the Populr output panel.
  • Populr: Insert structured data — the approved JSON-LD for a page, at the cursor. In .tsx/.jsx files it's written the way React needs it.
  • Populr: Create llms.txt — writes it to your site's public/ folder (or static/, for SvelteKit and Hugo).
  • Populr: Disconnect — forgets the key.

The workflow

  1. seo_status — see what's approved for which pages.
  2. get_seo_fixes — get the exact tags. Apply them in the page <head> or your framework's metadata API (Next.js export const metadata, Nuxt useHead, Astro's <head>). Replace existing tags; don't add duplicates.
  3. Deploy, then verify_page with the live URL — it checks each change is in the served HTML.

To propose a change instead, draft_page_fix drafts one from the page's own text and saves it in Populr for the owner to approve. It never replaces an approved fix.

Tools reference

seo_status read-only

Start here. Shows the site Populr manages for this workspace, which page fixes are approved and ready to apply in code, which are waiting for the owner's approval, and whether the business details for structured data are filled in.

No inputs.

get_seo_fixes read-only

Returns the SEO changes the site owner has approved in Populr — each page's <title>, meta description and JSON-LD structured data — so you can apply them in the site's source code. Pass a path for one page, or omit it for every page.

InputTypeDescription
pathstringA page path such as / or /about. Omit for all pages.

get_structured_data read-only

Returns schema.org JSON-LD for a page, built only from the business details the owner entered in Populr (name, type, contact, address, hours, profiles; FAQs on the home page). Ready to paste into the page's <head>.

InputTypeDescription
pathstringPage path, default /

audit_page read-only

Fetches a live page and checks its on-page SEO: title length, meta description, H1, canonical, viewport, Open Graph and structured data. Returns each problem with why it matters.

InputTypeDescription
url *stringFull public URL, e.g. https://example.com/about

draft_page_fix writes a draft

Reads one page of the managed site and drafts a better <title> and meta description from what the page actually says. The draft is saved in Populr for the owner to approve; nothing changes on the live site.

InputTypeDescription
path *stringPage path on the managed site, e.g. /pricing

generate_llms_txt read-only

Builds an llms.txt for the managed site from the owner's business details and the approved page titles and descriptions — a plain map of the site for AI assistants. Save it at the site root as /llms.txt.

No inputs.

verify_page read-only

Fetches a live page of the managed site and checks that its approved title, description and structured data are present in the HTML as served. Use after deploying.

InputTypeDescription
url *stringLive URL of a page on the managed site

* required

Access keys & security

  • A key belongs to one workspace and opens only its SEO settings. Nothing in a request can name another workspace.
  • Keys start with pop_ so secret scanners can recognise a leaked one. Populr stores only a SHA-256 fingerprint; the key is shown once.
  • Revoke a key in Populr at any time; it stops working immediately. Each key shows when it was last used.
  • Six of the seven tools only read. draft_page_fix saves a draft for approval. No tool publishes, approves, or changes a live site.
  • Pages are fetched only from public addresses, with every redirect re-checked.

Limits

  • 60 requests per minute per key. Over that, the server answers 429 with Retry-After.
  • Up to 10 keys per workspace, and fixes for up to 50 pages.
  • Fetched pages are capped at 3 MB and 15 seconds.

Troubleshooting

401 — “Missing access key” or “isn't valid”
Send the key as Authorization: Bearer pop_…. If it was revoked, create a new one.
“SEO autopilot isn't set up for this workspace”
Set it up on the Access keys page first; the tools read its settings.
get_seo_fixes returns nothing for a page
Only approved fixes are returned. Drafts wait for the owner's approval in Populr.
verify_page says a change is missing after deploying
Check the page isn't served from a stale cache, and that the change is in the server-rendered HTML rather than added later in the browser.
The editor doesn't list Populr's tools
Restart the MCP connection after adding it, and check the client supports remote HTTP servers with headers.

Protocol details

  • Transport: Streamable HTTP. POST JSON-RPC 2.0 to https://www.trypopulr.in/api/mcp; responses are application/json. No server-sent stream (GET returns 405) and no sessions.
  • Protocol versions: 2025-11-25, 2025-06-18, 2025-03-26. An unsupported request gets the latest.
  • Methods: initialize, ping, tools/list, tools/call, prompts/list, prompts/get. Notifications are accepted with 202. Only tools/call needs a key.
  • Prompts: apply_seo_fixes (optional path) and seo_audit (url) — clients that support prompts offer them as commands.
  • Tool failures come back as results with isError: true, so the assistant can read them; protocol problems are JSON-RPC errors.
Try it
curl -s https://www.trypopulr.in/api/mcp \
  -H "Authorization: Bearer $POPULR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'