FUTIA
SEO answers for AI agents: Search Console reads free, plus competitor, keyword, backlink, SERP data.
Should I use this
Quality & Safety
Findings (2)
- LOWin query_match
- LOWin serp_position
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"seo": {
"url": "https://futia.io/api/mcp"
}
}
}Remote endpoints
https://futia.io/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
⚪index_coverage(site, urls)
Has Google seen your pages? Works with zero traffic data, so it is useful from a site's first day. Returns which URLs are indexed, which were crawled but not indexed, which were never discovered, and where Google picked a different canonical than you declared.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "Search Console property, e.g. sc-domain:example.com"
},
"urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional. Defaults to URLs found in the site's sitemap."
}
},
"required": [
"site"
]
}🟢page_yield(site, days)
Which of your pages are dead, why, and which to fix first. Splits pages into no_demand, title_not_earning and ranking_too_low, then orders the fix list by recoverable clicks using the site's own click-through curve rather than borrowed industry averages.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "Search Console property"
},
"days": {
"type": "number",
"description": "Lookback window, 7 to 180. Defaults to 90."
}
},
"required": [
"site"
]
}🟢query_match(site, days)
Which queries are one step away, and which were never yours. Returns queries stuck at ranks 11-20 with real volume, queries you rank well for but nobody clicks (intent mismatch), and queries several of your pages compete for without earning clicks.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "Search Console property"
},
"days": {
"type": "number",
"description": "Lookback window, 7 to 180"
}
},
"required": [
"site"
]
}🟡competitor_gap(site, competitor)
Topics a real competitor ranks for and you do not. Competitors are chosen by how much of their keyword set overlaps with yours, not by raw overlap count: raw count returns social networks that rank for everything. Gap keywords are filtered against your existing vocabulary.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "Search Console property"
},
"competitor": {
"type": "string",
"description": "Optional. If omitted we pick one by overlap ratio."
}
},
"required": [
"site"
]
}🟢keyword_volume(site, keywords)
Search volume and difficulty for keywords you name, each with a verdict on whether this particular site can realistically reach it. The verdict is measured against the difficulty of keywords the site already ranks for, not a universal threshold.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "Search Console property"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "Up to 100 keywords"
}
},
"required": [
"site",
"keywords"
]
}⚪backlink_profile(site)
Referring domains, link count, domain rank and a reading of what they mean. Deliberately does not return the raw link list: a thousand rows of links fills an agent's context without producing a decision.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "Search Console property"
}
},
"required": [
"site"
]
}⚪serp_position(site, keywords)
For queries you name: who is on the results page, where you sit among them, and which domains are consistently above you.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "Search Console property"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "Up to 10 queries"
}
},
"required": [
"site",
"keywords"
]
}🟢account_status
Free and instant: remaining monthly budget, credit balance, when the budget resets, and which endpoints stay free. Check this before a paid call if you are unsure the budget covers it.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}Community
Evidence