Populr SEO
Apply the SEO fixes you approve in Populr — titles, descriptions, JSON-LD, llms.txt — in your code.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"seo": {
"url": "https://www.trypopulr.in/api/mcp"
}
}
}Remote-Endpunkte
https://www.trypopulr.in/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (7)
🟢seo_status
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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ready",
"not_set_up"
]
},
"message": {
"type": "string",
"description": "Why the status isn't the usual one, in a sentence."
},
"site": {
"type": "string"
},
"business": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"name": {
"type": "string"
}
},
"description": "Present once the business details for structured data are filled in."
},
"faqCount": {
"type": "integer"
},
"approvedPages": {
"type": "array",
"items": {
"type": "string"
},
"description": "Pages with approved fixes, ready to apply in code."
},
"waitingPages": {
"type": "array",
"items": {
"type": "string"
},
"description": "Pages with drafts waiting for the owner's approval in Populr."
},
"snippet": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"seenOnPages": {
"type": "integer"
}
}
}
},
"required": [
"status"
]
}🟢get_seo_fixes(path)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "A page path such as / or /about. Omit for all pages."
}
},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"not_set_up",
"unknown_page"
]
},
"message": {
"type": "string",
"description": "Why the status isn't the usual one, in a sentence."
},
"site": {
"type": "string"
},
"pages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"jsonld": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"path",
"jsonld"
]
},
"description": "Approved changes per page. A missing title or description means no approved change."
}
},
"required": [
"status"
]
}🟢get_structured_data(path)
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>.
Eingabe-Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Page path, default /"
}
},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"not_set_up",
"needs_business_details"
]
},
"message": {
"type": "string",
"description": "Why the status isn't the usual one, in a sentence."
},
"path": {
"type": "string"
},
"jsonld": {
"type": "array",
"items": {
"type": "object"
},
"description": "schema.org JSON-LD objects for the page."
}
},
"required": [
"status"
]
}🟢audit_page(url)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full public URL, e.g. https://example.com/about"
}
},
"required": [
"url"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok"
]
},
"message": {
"type": "string",
"description": "Why the status isn't the usual one, in a sentence."
},
"url": {
"type": "string"
},
"signals": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
},
"verdict": {
"type": "string",
"enum": [
"pass",
"warn",
"fail"
]
}
},
"required": [
"label",
"value",
"verdict"
]
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"severity": {
"type": "string",
"enum": [
"warning",
"error"
]
},
"title": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"severity",
"title",
"detail"
]
}
}
},
"required": [
"status"
]
}⚪draft_page_fix(path)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Page path on the managed site, e.g. /pricing"
}
},
"required": [
"path"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"saved",
"not_saved_already_approved",
"not_set_up"
]
},
"message": {
"type": "string",
"description": "Why the status isn't the usual one, in a sentence."
},
"path": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"before": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
}
},
"description": "What the live page has now."
}
},
"required": [
"status"
]
}🟢generate_llms_txt
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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"not_set_up",
"needs_business_details"
]
},
"message": {
"type": "string",
"description": "Why the status isn't the usual one, in a sentence."
},
"site": {
"type": "string"
},
"content": {
"type": "string",
"description": "The llms.txt file. Save it at the site root (public/llms.txt in most frameworks)."
}
},
"required": [
"status"
]
}🟢verify_page(url)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Live URL of a page on the managed site"
}
},
"required": [
"url"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"live",
"missing_changes",
"no_approved_fixes",
"not_set_up"
]
},
"message": {
"type": "string",
"description": "Why the status isn't the usual one, in a sentence."
},
"url": {
"type": "string"
},
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"ok": {
"type": "boolean"
}
},
"required": [
"label",
"ok"
]
}
},
"missing": {
"type": "integer",
"description": "How many approved changes aren't in the served HTML yet."
}
},
"required": [
"status"
]
}Community
Nachweis