Goppa MCP
An official MCP server for Goppa that allows AI assistants to check AI visibility, read account data, measure AI naming, and manage SEO fixes for businesses.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://trygoppa.com/mcp/accountWhat you can do with it
- Check if AI assistants name your business
- Read AI visibility and ranking data
- Approve and apply SEO fixes
- Get next steps for AI optimization
Source and maintenance
Protocol and capabilities
- Server
- goppa-account 1.5
- MCP protocol
- 2025-06-18
- Tools
- 24 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- 5 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"listChanged": false
},
"extensions": {
"io.modelcontextprotocol/ui": {}
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
24 advertised
get_account — Read your Goppa account
Your Goppa account: plan, sites, AI measurements used and left this month (and in total, where the account has a total), keyword research left, the next scheduled AI measurement and the next automatic site check.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "Optional: one of your sites in Goppa, by domain (example.com), to also read that site's measurement schedule, automatic check and keyword research. Without it, the account as a whole and its sites."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"plan",
"sites",
"sites_page",
"ai_measurements",
"ai_traffic_window_days",
"google_seo",
"keyword_research_this_month",
"next_scheduled_measurement",
"measurement_schedule",
"automatic_site_check"
]
},
{
"required": [
"error"
]
}
],
"properties": {
"plan": {
"type": "string"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"sites": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"google_seo": {
"type": "object",
"additionalProperties": true
},
"sites_page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"ai_measurements": {
"type": "object",
"additionalProperties": true
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"automatic_site_check": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"measurement_schedule": {
"type": [
"string",
"null"
]
},
"ai_traffic_window_days": {
"type": [
"integer",
"null"
]
},
"next_scheduled_measurement": {
"type": [
"string",
"null"
]
},
"keyword_research_this_month": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": true
}{
"title": "Read your Goppa account",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_ai_visibility — Read whether AI names your site
Whether AI assistants named your site in the latest Goppa measurement, one engine at a time (ChatGPT, Gemini, Google AI Overview, Google AI Mode, Perplexity): named in k of n answers, the market and the date, with earlier measurements of the same questions. A percentage is given only from 10 answers.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"measured",
"engines"
]
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"rule": {
"type": "string"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"engines": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"measured": {
"type": "boolean"
},
"available": {
"type": "boolean"
},
"questions": {
"type": "integer"
},
"named_rule": {
"type": [
"string",
"null"
]
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"measured_at": {
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"named_rule_version": {
"type": [
"integer",
"null"
]
},
"measurement_in_progress": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"history_starts_at_rule_change": {
"type": [
"boolean",
"null"
]
},
"history_starts_at_model_change": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": true
}{
"title": "Read whether AI names your site",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_what_changed — Read what changed in AI answers
What changed between the two latest comparable measurements, with a paired test over the same questions and engines: pairs gained, pairs lost, and whether the change is real or within normal ups and downs.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from gained_pairs.page or lost_pairs.page, to read the next 10 of that list (the other list starts again from its first page)."
},
"lost_cursor": {
"type": "string",
"description": "next_cursor from lost_pairs.page, to read the next 10 lost pairs."
},
"gained_cursor": {
"type": "string",
"description": "next_cursor from gained_pairs.page, to read the next 10 gained pairs."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"verdict",
"state",
"from",
"to",
"pairs",
"gained",
"lost",
"p_value",
"by_engine",
"gained_pairs",
"lost_pairs",
"method"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
},
"lost": {
"type": [
"integer",
"null"
]
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"pairs": {
"type": [
"integer",
"null"
]
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"gained": {
"type": [
"integer",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"method": {
"type": "string"
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"p_value": {
"type": [
"number",
"null"
]
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"verdict": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"by_engine": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"lost_pairs": {
"type": "object",
"additionalProperties": true
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"gained_pairs": {
"type": "object",
"additionalProperties": true
},
"rule_changed": {
"type": "boolean"
},
"model_changed": {
"type": "boolean"
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"named_rule_version": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}{
"title": "Read what changed in AI answers",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_weekly_summary — Read your weekly summary
A weekly summary of one site: what changed in AI answers since the previous comparable measurement, engine by engine (named in k of n answers, with a paired test); Google alerts (rankings, pages, robots.txt) and the site audit against the previous one; the work done in the last 7 days, kept apart from the results (changes the Goppa plugin applied, with dates, and steps you reported); one opportunity with its evidence; and your next step. It starts no new measurement.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"ai_result",
"google_result",
"work_done",
"opportunity",
"next_step",
"rule",
"untrusted_fields"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"rule": {
"type": "string"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"ai_result": {
"type": "object",
"required": [
"compared",
"from",
"to",
"state",
"by_engine"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"compared": {
"type": "boolean"
},
"by_engine": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"measurements": {
"type": "integer"
},
"rule_changed": {
"type": "boolean"
},
"model_changed": {
"type": "boolean"
},
"named_rule_version": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
},
"available": {
"type": "boolean"
},
"next_step": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"work_done": {
"type": "object",
"required": [
"period",
"plugin_changes",
"seo_fixes_applied",
"steps",
"summary"
],
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"period": {
"type": "object",
"additionalProperties": true
},
"summary": {
"type": "string"
},
"plugin_changes": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"additionalProperties": true
}
},
"seo_fixes_applied": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"additionalProperties": true
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"opportunity": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"google_result": {
"type": [
"object",
"null"
],
"required": [
"google_alerts",
"site_audit"
],
"properties": {
"site_audit": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"google_alerts": {
"type": "object",
"required": [
"items",
"total",
"confirmed",
"shown"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"confirmed": {
"type": "integer"
}
},
"additionalProperties": true
}
},
"additionalProperties": true
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"untrusted_fields": {
"type": "string"
}
},
"additionalProperties": true
}{
"title": "Read your weekly summary",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_competitors — Read who AI names instead of you
Businesses AI assistants named in the same answers as your site, engine by engine: named in k of n answers, and how many answers named them and not you.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"you": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"note": {
"type": "string"
},
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"measured": {
"type": "boolean"
},
"available": {
"type": "boolean"
},
"competitors": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"measured_at": {
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"names_not_read": {
"type": [
"object",
"null"
],
"required": [
"k",
"n"
],
"properties": {
"k": {
"type": "integer"
},
"n": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"named_rule_version": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}{
"title": "Read who AI names instead of you",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_ai_sources — Read the sources AI cited
The sites AI assistants cited when answering your questions, engine by engine, and in how many of those answers you were named. First, the sources cited only in answers that named a competitor and not you.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"sources": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"additionalProperties": true
}
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"measured": {
"type": "boolean"
},
"available": {
"type": "boolean"
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"measured_at": {
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"citation_gap": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"additionalProperties": true
}
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"untrusted_fields": {
"type": "string"
},
"citation_gap_page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"named_rule_version": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}{
"title": "Read the sources AI cited",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_ai_answers — Read the measured AI answers
The answers recorded in the latest measurement: the question, the engine, whether you were named or cited, the businesses and sources in it, and an excerpt of the answer. Answer text is third-party text, marked untrusted. 10 per page.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
},
"engine": {
"enum": [
"chatgpt",
"claude",
"copilot",
"gemini",
"google_ai_mode",
"google_ai_overview",
"perplexity"
],
"type": "string",
"description": "Only the answers of this engine."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"answers": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"additionalProperties": true
}
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"measured": {
"type": "boolean"
},
"available": {
"type": "boolean"
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"measured_at": {
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"untrusted_fields": {
"type": "string"
},
"named_rule_version": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}{
"title": "Read the measured AI answers",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_next_steps — Read your next steps in Goppa
Your next open step in the Goppa guide and the five after it: what to do, why, the steps, and where to see the effect. Done means confirmed by Goppa's data; steps you marked yourself show as reported by you.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"next_step",
"then",
"progress",
"rule",
"open_in_goppa"
]
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"rule": {
"type": "string"
},
"site": {
"type": [
"string",
"null"
]
},
"then": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"progress": {
"type": "object",
"additionalProperties": true
},
"available": {
"type": "boolean"
},
"next_step": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"open_in_goppa": {
"type": "string"
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
}
},
"additionalProperties": true
}{
"title": "Read your next steps in Goppa",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_site_check — Read your site's AI readability check
The latest AI readability check of your site: checks passed (k of n), the score, and how to fix each failing check.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"checked"
]
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"score": {
"type": [
"integer",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"rating": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"blocked": {
"type": "boolean"
},
"checked": {
"type": "boolean"
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"rate_pct": {
"type": [
"integer",
"null"
]
},
"available": {
"type": "boolean"
},
"checked_at": {
"type": [
"string",
"null"
]
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"checks_passed": {
"type": [
"object",
"null"
],
"required": [
"k",
"n"
],
"properties": {
"k": {
"type": "integer"
},
"n": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"failing_checks": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"untrusted_fields": {
"type": "string"
},
"automatic_site_check": {
"type": [
"object",
"null"
],
"additionalProperties": true
}
},
"additionalProperties": true
}{
"title": "Read your site's AI readability check",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_ai_traffic — Read real AI use on your site
Real AI use counted on your own site by the Goppa plugin: pages an assistant opened to answer a person, clicks from inside AI answers, and crawler visits, kept separate and never added together.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"read",
"people_asked",
"clicks_from_ai_answers",
"crawler_visits"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"read": {
"type": "boolean"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"pages": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"by_engine": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"people_asked": {
"type": [
"integer",
"null"
]
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"crawler_visits": {
"type": [
"integer",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"untrusted_fields": {
"type": "string"
},
"counted_by_plugin": {
"type": "boolean"
},
"clicks_from_ai_answers": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}{
"title": "Read real AI use on your site",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_google_rankings — Read your Google rankings
Your tracked Google searches: the position range (Top 3, 4-10, 11-20, 21-30, not in top 30), the change since the last check, monthly searches, and ranking alerts.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"country",
"keywords"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"rule": {
"type": "string"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"alerts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"ranges": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"country": {
"type": [
"string",
"null"
]
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"keywords": {
"type": [
"array",
"object"
]
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"next_check": {
"type": [
"string",
"null"
]
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"country_name": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"google_update": {
"type": "string"
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"not_checked_yet": {
"type": "integer"
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
}
},
"additionalProperties": true
}{
"title": "Read your Google rankings",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_site_audit — Read your Google site audit
Your page-by-page site audit: pages without errors (k of n), each problem with how many pages have it and why it matters, and what changed since the previous audit.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"audited",
"next_audit"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"audited": {
"type": "boolean"
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"complete": {
"type": "boolean"
},
"language": {
"type": [
"string",
"null"
]
},
"problems": {
"type": [
"array",
"object"
]
},
"rate_pct": {
"type": [
"integer",
"null"
]
},
"available": {
"type": "boolean"
},
"audited_at": {
"type": [
"string",
"null"
]
},
"next_audit": {
"type": [
"string",
"null"
]
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"orphan_pages": {
"type": [
"object",
"null"
],
"required": [
"k",
"n"
],
"properties": {
"k": {
"type": "integer"
},
"n": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"pages_without_errors": {
"type": [
"object",
"null"
],
"required": [
"k",
"n"
],
"properties": {
"k": {
"type": "integer"
},
"n": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
},
"since_previous_audit": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": true
}{
"title": "Read your Google site audit",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_google_overview — Read your Google search overview
Your site on Google and Bing beyond rankings: Search Console clicks and impressions over the last 28 days with the top searches and pages, the pages in Google's index, Bing clicks, the visibility index week by week, what shows in the searches you track (AI Overview, People also ask, shopping), mobile speed, and orders by channel.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"country",
"country_name",
"search_console",
"bing",
"visibility_index",
"search_results_features",
"searches_where_you_appear_in_top_100",
"mobile_speed",
"orders_by_channel",
"alerts",
"untrusted_fields"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"bing": {
"type": "object",
"additionalProperties": true
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"alerts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"country": {
"type": [
"string",
"null"
]
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"country_name": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"mobile_speed": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"google_update": {
"type": "string"
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"search_console": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"untrusted_fields": {
"type": "string"
},
"visibility_index": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"orders_by_channel": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"search_results_features": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"searches_where_you_appear_in_top_100": {
"type": [
"object",
"null"
],
"additionalProperties": true
}
},
"additionalProperties": true
}{
"title": "Read your Google search overview",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_keyword_ideas — Read your keyword ideas
Your latest Google keyword research: quick wins (searches where you already rank 4 to 20), keyword ideas with monthly searches, difficulty and intent, the research left this month, and the keyword gap: searches your Google competitors rank for and you do not.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"country"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"ideas": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"saved": {
"type": "boolean"
},
"seeds": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"country": {
"type": [
"string",
"null"
]
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"quick_wins": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"researched": {
"type": "boolean"
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"keyword_gap": {
"type": "object",
"additionalProperties": true
},
"next_action": {
"type": [
"string",
"null"
]
},
"country_name": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"researched_at": {
"type": [
"string",
"null"
]
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"already_ranking": {
"type": [
"integer",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"research_this_month": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": true
}{
"title": "Read your keyword ideas",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_google_competitors — Read your Google competitors
The sites that rank on Google for the most of the same searches as you: keywords in common, their size, and in how many of your tracked keywords they rank above you. Large portals are listed apart.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"note": {
"type": "string"
},
"read": {
"type": "boolean"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"country": {
"type": [
"string",
"null"
]
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"read_at": {
"type": [
"string",
"null"
]
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"competitors": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"country_name": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"large_portals_left_out": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"your_keywords_in_top_100": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}{
"title": "Read your Google competitors",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_backlinks — Read your backlinks
The sites that link to yours: linking sites, backlinks and broken backlinks, new and lost month by month, and the link gap: sites that link to your Google competitors and not to you.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"read",
"link_gap"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"note": {
"type": "string"
},
"read": {
"type": "boolean"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"read_at": {
"type": [
"string",
"null"
]
},
"summary": {
"type": "string"
},
"by_month": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"language": {
"type": [
"string",
"null"
]
},
"link_gap": {
"type": "object",
"additionalProperties": true
},
"available": {
"type": "boolean"
},
"backlinks": {
"type": [
"integer",
"null"
]
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"linking_sites": {
"type": [
"integer",
"null"
]
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"broken_backlinks": {
"type": [
"integer",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
}
},
"additionalProperties": true
}{
"title": "Read your backlinks",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_seo_fixes — Read your SEO fixes
The SEO fixes Goppa prepared for your pages (titles, meta descriptions, image text): the ones waiting for your approval with the current and proposed text, the ones applied on your site, and the product questions. Read-only: approving happens in Goppa.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"counts",
"waiting_for_your_approval",
"page",
"recently_applied",
"pages_read_from_your_site",
"fixes_paused_by_you",
"left_this_month",
"product_questions",
"open_in_goppa"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"rule": {
"type": "string"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"counts": {
"type": "object",
"additionalProperties": true
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"open_in_goppa": {
"type": "string"
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"left_this_month": {
"type": "object",
"additionalProperties": true
},
"recently_applied": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"untrusted_fields": {
"type": "string"
},
"product_questions": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"fixes_paused_by_you": {
"type": "boolean"
},
"pages_read_from_your_site": {
"type": [
"integer",
"null"
]
},
"waiting_for_your_approval": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"additionalProperties": true
}{
"title": "Read your SEO fixes",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}run_site_check — Run a new AI readability check
Run a new AI readability check on one of your sites now and save it to your Goppa account. It reads your public pages; nothing on your site changes. Up to 10 per hour per account.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"saved"
]
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"score": {
"type": [
"integer",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"rating": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"report": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"blocked": {
"type": "boolean"
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"rate_pct": {
"type": [
"integer",
"null"
]
},
"available": {
"type": "boolean"
},
"checked_at": {
"type": [
"string",
"null"
]
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"checks_passed": {
"type": [
"object",
"null"
],
"required": [
"k",
"n"
],
"properties": {
"k": {
"type": "integer"
},
"n": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"failing_checks": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"untrusted_fields": {
"type": "string"
}
},
"additionalProperties": true
}{
"title": "Run a new AI readability check",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}add_site — Add a site to your Goppa account
Add one of your websites to your Goppa account, so Goppa can check, measure and track it. It counts toward the sites your account includes. Goppa reads the site's home page to see its platform; nothing on the site changes. Adding a site that is already in the account changes nothing.
{
"type": "object",
"required": [
"site"
],
"properties": {
"site": {
"type": "string",
"description": "The website address to add, like yourstore.com."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"added",
"already_in_account",
"sites_in_account"
]
},
{
"required": [
"error"
]
}
],
"properties": {
"site": {
"type": [
"string",
"null"
]
},
"added": {
"type": "boolean"
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"platform": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"next_steps": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"already_in_account": {
"type": "boolean"
}
},
"additionalProperties": true
}{
"title": "Add a site to your Goppa account",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}run_ai_measurement — Measure whether AI names your site
Measure whether AI assistants (ChatGPT, Gemini, Google AI Overview, Google AI Mode, Perplexity) name one of your sites, with real answers. Called without approval it returns a preview that runs nothing: the questions, the market, the engines and an approval code. Show the questions to the user and call it again with that approval only after they agree: the measurement then runs in the background for a few minutes and counts as one of the AI measurements your account includes. get_ai_visibility shows the result. Nothing on your site changes.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"market": {
"type": "string",
"description": "Where to ask, as a country code (uk, us, de, fr…) or a region (eu, global). Without it, the market of the site's earlier measurements or the one Goppa detected."
},
"approval": {
"type": "string",
"description": "The approval code from the preview, sent only after the user agreed to the questions. Without it, only the preview."
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 12,
"description": "The products or services to ask about, like 'running shoes' (3 to 35 characters each). Without it, the categories on the site. Categories saved in Goppa's settings come first."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"started"
]
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"engines": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"preview": {
"type": "boolean"
},
"started": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"approval": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"questions": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"times_each": {
"type": "integer"
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"market_name": {
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"requested_at": {
"type": [
"string",
"null"
]
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"already_running": {
"type": "boolean"
},
"approval_changed": {
"type": "boolean"
},
"ready_in_minutes": {
"type": [
"integer",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"answers_per_engine": {
"type": "integer"
},
"already_measured_today": {
"type": "boolean"
},
"measurements_this_month": {
"type": [
"object",
"null"
],
"additionalProperties": true
}
},
"additionalProperties": true
}{
"title": "Measure whether AI names your site",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_fixes_to_apply — Get the approved SEO fixes to apply
The SEO fixes the user already approved in Goppa for one site, ready to apply on the site with the tools you have there (the site's code, its builder or its own app): the page, the field (title, meta description, image alt text), where it goes, the current text and the new text, exactly, and an llms.txt for a site that has none. Show the fixes to the user and apply them only with their go-ahead; then call report_fixes_applied. Reading this changes nothing.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous page, to read the next 10 items."
},
"include_site_files": {
"type": "boolean",
"description": "Also suggest an llms.txt built from the pages Goppa read (default true)."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"fixes",
"page",
"plugin_applies_the_rest",
"site_files",
"how_to_report",
"rule",
"open_in_goppa"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"page": {
"type": [
"object",
"null"
],
"properties": {
"shown": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"rule": {
"type": "string"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"fixes": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
},
"site_files": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"how_to_report": {
"type": "string"
},
"open_in_goppa": {
"type": "string"
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
},
"untrusted_fields": {
"type": "string"
},
"plugin_applies_the_rest": {
"type": "boolean"
}
},
"additionalProperties": true
}{
"title": "Get the approved SEO fixes to apply",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}report_fixes_applied — Report the SEO fixes you applied
Record in Goppa which approved SEO fixes from get_fixes_to_apply were applied on the site (applied), could not be applied (not_applied, with a reason), or were undone (undone, kept). Goppa's next site audit then checks each page. It changes nothing on the site.
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "One of your sites in Goppa, by domain (example.com). Required when the account has more than one site: without it, the answer lists the sites to choose from. With a single site it can be left out."
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"fix_id",
"status"
],
"properties": {
"fix_id": {
"type": "string",
"description": "fix_id from get_fixes_to_apply."
},
"reason": {
"enum": [
"page_not_found",
"cannot_edit",
"text_changed",
"field_not_empty"
],
"type": "string",
"description": "Why it was not applied (with not_applied)."
},
"status": {
"enum": [
"applied",
"not_applied",
"undone",
"kept"
],
"type": "string",
"description": "applied or not_applied for a fix to apply; undone or kept for an undo."
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1,
"description": "One entry per fix handled, up to 50 per call."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"site",
"market",
"language",
"as_of",
"period",
"data_status",
"sample",
"evidence_ids",
"summary",
"next_action",
"workspace_url",
"partial",
"missing",
"recorded",
"not_recorded",
"rule",
"open_in_goppa"
]
},
{
"required": [
"available",
"reason"
],
"properties": {
"available": {
"const": false
}
}
},
{
"required": [
"site_required",
"sites_in_account",
"summary"
],
"properties": {
"site_required": {
"const": true
}
}
},
{
"required": [
"error"
]
}
],
"properties": {
"rule": {
"type": "string"
},
"site": {
"type": [
"string",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"saved": {
"type": "boolean"
},
"state": {
"type": [
"string",
"null"
]
},
"market": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"object",
"null"
],
"properties": {
"to": {
"type": [
"string",
"null"
]
},
"from": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
"reason": {
"type": "string"
},
"sample": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"partial": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"language": {
"type": [
"string",
"null"
]
},
"recorded": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"available": {
"type": "boolean"
},
"data_status": {
"enum": [
"demo",
"limited_by_plan",
"disconnected",
"measuring",
"failed",
"not_measured",
"not_comparable",
"stale",
"measured_zero",
"measured",
null
],
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"evidence_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"not_recorded": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"open_in_goppa": {
"type": "string"
},
"site_required": {
"type": "boolean"
},
"workspace_url": {
"type": [
"string",
"null"
]
},
"sites_in_account": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
}
}
},
"additionalProperties": true
}{
"title": "Report the SEO fixes you applied",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}scan_site — Check a website's AI readability
Score any website 0-100 on how readable it is to AI assistants: crawler access, structured data, discovery files and agent protocols. Returns the score and the failing checks. Public information only, no account needed.
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Website address, e.g. example.com"
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"domain",
"score",
"failing_checks",
"report",
"note"
]
},
{
"required": [
"error"
]
}
],
"properties": {
"note": {
"type": "string"
},
"error": {
"type": "string"
},
"score": {
"type": [
"number",
"null"
]
},
"domain": {
"type": [
"string",
"null"
]
},
"rating": {
"type": [
"string",
"null"
]
},
"report": {
"type": [
"string",
"null"
]
},
"platform": {
"type": [
"string",
"null"
]
},
"site_type": {
"type": [
"string",
"null"
]
},
"failing_checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"check": {
"type": [
"string",
"null"
]
},
"how_to_fix": {
"type": "string"
},
"lost_points": {
"type": "integer"
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
}{
"title": "Check a website's AI readability",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_study — Read Goppa's AI readiness study
Return findings from Goppa's 2026 Q3 study of 176 businesses that already rank on page one of Google: how many returned nothing to an identified crawler, which checks fail most, and how technical readiness related to being mentioned by AI assistants.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"required": [
"edition",
"measured_on",
"sites_attempted",
"sites_scored",
"markets",
"headline_finding",
"report",
"caveats"
]
},
{
"required": [
"error"
]
}
],
"properties": {
"error": {
"type": "string"
},
"report": {
"type": "string"
},
"caveats": {
"type": "array",
"items": {
"type": "string"
}
},
"dataset": {
"type": "string"
},
"edition": {
"type": "string"
},
"markets": {
"type": "array",
"items": {
"type": "string"
}
},
"measured_on": {
"type": "string"
},
"sites_scored": {
"type": "integer"
},
"sites_attempted": {
"type": "integer"
},
"headline_finding": {
"type": "string"
},
"top_failures_pct": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"returned_nothing_to_crawler_pct": {
"type": "number"
}
},
"additionalProperties": true
}{
"title": "Read Goppa's AI readiness study",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
5 advertised
improve_first — What should I improve first?
The one thing to improve first on your site, with its evidence and the next step from your Goppa guide.
- site
- One of your sites in Goppa, by domain (example.com). Needed when the account has more than one site.
who_appeared_instead — Who appeared instead of me?
The businesses AI assistants named in answers where your site was not named, engine by engine.
- site
- One of your sites in Goppa, by domain (example.com). Needed when the account has more than one site.
sources_citing_competitors — Which sources cited competitors?
The sites AI assistants cited in answers that named a competitor and not you, engine by engine.
- site
- One of your sites in Goppa, by domain (example.com). Needed when the account has more than one site.
what_changed_this_week — What changed since last week?
What changed in AI answers since the previous comparable measurement, engine by engine, and the work done in the last week, kept apart.
- site
- One of your sites in Goppa, by domain (example.com). Needed when the account has more than one site.
client_update — Write a short update for my client.
A short update on one site to send to your client: the work done and the results, kept apart.
- site
- One of your sites in Goppa, by domain (example.com). Needed when the account has more than one site.
Resources
1 advertised
goppa-card — Goppa card
Goppa's visual card for AI visibility, competitors, what changed and SEO fixes.
ui://goppa/card-85da18497e.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1925 ms
- 95th percentile latency
- 1925 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1925 ms · metadata changed · 24 tool(s), 1 resource(s), 0 resource template(s), 5 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http goppa-mcp https://trygoppa.com/mcp/accountCodex
codex mcp add goppa-mcp --url https://trygoppa.com/mcp/accountCursor
{
"mcpServers": {
"goppa-mcp": {
"url": "https://trygoppa.com/mcp/account"
}
}
}Cline
{
"mcpServers": {
"goppa-mcp": {
"type": "streamableHttp",
"url": "https://trygoppa.com/mcp/account",
"disabled": false
}
}
}VS Code
{
"servers": {
"goppa-mcp": {
"type": "http",
"url": "https://trygoppa.com/mcp/account"
}
}
}Gemini CLI
gemini mcp add --transport http goppa-mcp https://trygoppa.com/mcp/accountClaude Desktop
{
"mcpServers": {
"goppa-mcp": {
"url": "https://trygoppa.com/mcp/account"
}
}
}Windsurf
{
"mcpServers": {
"goppa-mcp": {
"serverUrl": "https://trygoppa.com/mcp/account"
}
}
}Let your agent find its tools
Find servers like Goppa MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other ai and machine learning servers
Do you run Goppa MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.