Skip to main content
Glama

Server Details

SEO for AI agents: keywords, SERPs, backlinks, rank tracking, audits, Search Console, Analytics

Ownership verified

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
78.5% over 42 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Repository
winsley-jeune/harborrank-skills
GitHub Stars
0
ChatGPT
HarborRank
Claude
HarborRank SEO

TDQS

A3.6/5.0

Scored across 41 tools

Disambiguation4/5

Each tool has a distinct resource+action, and descriptions explicitly cross-reference siblings (e.g. get_domain_overview vs get_domain_keyword_suggestions vs get_ranked_keywords; get_serp_results vs get_local_serp_results vs find_serp_competitors). The overlapping SERP/domain/keyword family is the main risk area, but the guidance text largely disambiguates it.

Naming Consistency4/5

Nearly all tools follow a snake_case verb_noun pattern (get_, list_, create_, delete_, save_, set_, run_, research_, prospect_, inspect_, update_). Only `whoami` breaks the convention, with minor variance in verb choice (research_ vs get_ vs find_), so the set remains highly predictable.

Tool Count2/5

At 41 tools this is well past the 25+ threshold and is heavy for an agent to scan and select from in a single context. The breadth spans several genuinely separate sub-domains (projects, leads/teardowns, audits, analytics, keywords, backlinks, billing), so splitting would help, but the flat surface is over-large.

Completeness4/5

Core lifecycles are covered: audits have run/status/issues/pages, leads have prospect/list/update/teardown/set-operations, and projects/reports have create+list+delete. Minor gaps exist — no update_project or get_project, no delete_saved_keywords (save without remove), and rank trackers are read-only (creation is dashboard-only) — but these are workable around.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedget_keyword_metrics1 field changed
      • changedInput schema / properties / includeMonthlyTrends / description
        Previous value: -"Include monthly search-volume trend rows. Defaults to true."New value: +"Include the last 12 months of search volume per keyword, for seasonality. Defaults to false: trends are long, so ask for them only when the answer needs them."
    • Changedget_local_serp_results16 fields changed
      • changedOutput schema / properties / results / items / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / results / items / properties / address
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / category
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / cid
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / domain
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / isClaimed
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / latitude
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / longitude
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / phone
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / placeId
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / rank
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / rating
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / reviews
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / title
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / url
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / required
        Added value: +[
        +  "rank",
        +  "title",
        +  "domain",
        +  "url",
        +  "category",
        +  "rating",
        +  "reviews",
        +  "phone",
        +  "address",
        +  "isClaimed",
        +  "placeId",
        +  "cid",
        +  "latitude",
        +  "longitude"
        +]
    • Changedget_ranked_keywords11 fields changed
      • changedOutput schema / properties / keywords / items / additionalProperties
        Previous value: -{}New value: +false
      • addedOutput schema / properties / keywords / items / properties / cpc
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / keywords / items / properties / difficulty
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / keywords / items / properties / intent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / keywords / items / properties / keyword
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / keywords / items / properties / rank
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / keywords / items / properties / resultType
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / keywords / items / properties / traffic
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / keywords / items / properties / url
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / keywords / items / properties / volume
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / keywords / items / required
        Added value: +[
        +  "keyword",
        +  "rank",
        +  "volume",
        +  "difficulty",
        +  "cpc",
        +  "intent",
        +  "traffic",
        +  "url",
        +  "resultType"
        +]
  2. 3 tool updates
    • Addedcreate_share_report
    • Addeddelete_share_report
    • Addedlist_share_reports
  3. 3 tool updates
    • Changedget_keyword_metrics1 field changed
      • changedInput schema / properties / includeClickstreamData / description
        Previous value: -"Refine search volumes with clickstream data, which disaggregates Google Ads' grouped close-variant volumes (plurals/misspellings). DOUBLES the credit cost of the call. Default false. No effect for countries served from Google Ads data."New value: +"Refine search volumes with clickstream data, which disaggregates Google Ads' grouped close-variant volumes (plurals/misspellings). Use only when plural or misspelling variants need separate volumes. Default false. No effect for countries served from Google Ads data."
    • Changedresearch_keywords1 field changed
      • changedInput schema / properties / includeClickstreamData / description
        Previous value: -"Refine search volumes with clickstream data, which disaggregates Google Ads' grouped close-variant volumes (plurals/misspellings). DOUBLES the credit cost of each seed. Default false (standard Google-Ads-derived volumes). No effect for countries served from Google Ads data."New value: +"Refine search volumes with clickstream data, which disaggregates Google Ads' grouped close-variant volumes (plurals/misspellings). Use only when plural or misspelling variants need separate volumes. Default false (standard Google-Ads-derived volumes). No effect for countries served from Google Ads data."
    • Changedresearch_lead1 field changed
      • changedInput schema / properties / includeAudit / description
        Previous value: -"Start a 10-page crawl of the lead's site (free; its findings land on the lead when it finishes). Defaults to true."New value: +"Start a 10-page crawl of the lead's site (its findings land on the lead when it finishes). Defaults to true."
  4. 3 tool updates
    • Addedget_ai_referral_traffic
    • Addedget_analytics_report
    • Addedget_landing_page_performance
  5. 2 tool updates
    • Addedget_upgrade_link
    • Changedwhoami6 fields changed
      • addedOutput schema / properties / lowCredits
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / monthlyCredits
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / paidPlan
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / plan
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / upgradeUrl
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "userId",
        -  "userEmail",
        -  "organizationId",
        -  "scopes",
        -  "mode",
        -  "creditsRemaining"
        -]New value: +[
        +  "userId",
        +  "userEmail",
        +  "organizationId",
        +  "scopes",
        +  "mode",
        +  "creditsRemaining",
        +  "plan",
        +  "paidPlan",
        +  "monthlyCredits",
        +  "lowCredits",
        +  "upgradeUrl"
        +]
  6. 2 tool updates
    • Addedget_lead_teardown
    • Addedresearch_lead
  7. 1 tool update
    • Changedrun_site_audit1 field changed
      • changedInput schema / properties / runLighthouse / description
        Previous value: -"Run Lighthouse on a sample of up to 10 representative pages (default true)."New value: +"Run Lighthouse on a sample of up to 10 representative pages (default true). Paid plans only; ignored on the Free plan."
  8. 32 tool updates
    • First observedcreate_project
    • First observeddelete_project
    • First observedfind_serp_competitors
    • First observedget_audit_issues
    • First observedget_audit_pages
    • First observedget_audit_status
    • First observedget_backlinks_overview
    • First observedget_backlinks_profile
    • First observedget_domain_keyword_suggestions
    • First observedget_domain_overview
    • First observedget_google_business_questions
    • First observedget_keyword_metrics
    • First observedget_local_serp_results
    • First observedget_rank_tracker
    • First observedget_ranked_keywords
    • First observedget_search_console_performance
    • First observedget_serp_results
    • First observedinspect_urls
    • First observedlist_business_categories
    • First observedlist_leads
    • First observedlist_projects
    • First observedlist_saved_keywords
    • First observedprospect_leads
    • First observedresearch_keywords
    • First observedrun_site_audit
    • First observedsave_keywords
    • First observedsearch_local_businesses
    • First observedset_lead_competitors
    • First observedset_lead_serp_checks
    • First observedset_lead_top_issues
    • First observedupdate_lead
    • First observedwhoami

Publisher details

Operator
HarborRank (harborrank.com), the company that builds and runs the HarborRank SEO platform and this MCP endpoint. · Publisher source
Vendor relationship
First-party · Publisher source
Trust center
Not available
Restrictions
Requires a HarborRank account on a paid plan (from $29/month; no free plan). Sign-in is OAuth 2.0 with Dynamic Client Registration, no custom OAuth app needed. Research tools spend the plan's monthly credits; Search Console tools need a Google Search Console property connected in the HarborRank app. · Publisher source

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects AI agents to live SEO data and hosted tools for site audits, keyword research, competitor analysis, local SEO, and link prospecting, with guided workflows for structured search optimization.
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to access self-hosted SEO data and workflows, including keyword research, rank tracking, competitor insights, backlinks, site audits, and AI visibility.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to run SEO audits and reporting over a user's own Search Console, Google Analytics, Bing, and keyword/competitor provider data, including page/index status, traffic comparisons, backlinks, and local crawl/internal-link analysis.
    2,800 npm
    606
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Agent-first SEO toolkit with 24 MCP tools for keyword research, rank tracking, site audits up to 50k pages, competitor analysis, content gap detection, domain reputation, backlink intelligence, Google Search Console integration, and AI-powered strategy generation with Claude, GPT, and Ollama. SQLite-backed and bring-your-own-key.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.