Haloscan MCP Server
An MCP server for interacting with the Haloscan SEO API.
Haloscan MCP Server
A Model Context Protocol (MCP) server for interacting with the Haloscan SEO API.
This server allows easy integration with Claude for Desktop, N8N, and other MCP-compatible clients.
Features
- Exposes Haloscan SEO API functionality through MCP tools
- Provides prompts for common SEO tasks
- Easy integration with workflow automation tools like N8N
Tools
1. User Tools
- get_user_credit
- Retrieves the remaining credit for the user identified by the provided API key.
- Retrieves the remaining credit for the user identified by the provided API key.
2. Keyword Explorer Tools
-
get_keywords_overview
- Retrieves an overview of a specific keyword, providing key performance indicators such as search volume, competition level, and trends over time.
- Inputs:
keyword(string): Requested keyword.requested_data(string[]): Any combination of [keyword_match, related_search, related_question, similar_category, similar_serp, top_sites, similar_highlight, categories, synonyms, metrics, volume_history, serp ].
- Retrieves an overview of a specific keyword, providing key performance indicators such as search volume, competition level, and trends over time.
-
get_keywords_match
- Retrieves keyword data based on an exact match search, providing detailed insights into how the specific keyword performs in search engines.
- Input:
keyword(string): Requested keyword.
- Retrieves keyword data based on an exact match search, providing detailed insights into how the specific keyword performs in search engines.
-
get_keywords_similar
- Retrieves the list of keywords that are semantically or topically similar to a given keyword.
- Input:
keyword(string): Requested keyword.
- Retrieves the list of keywords that are semantically or topically similar to a given keyword.
-
get_keywords_highlights
- Retrieves the key performance highlights from a given keyword.
- Input:
keyword(string): Requested keyword.
- Retrieves the key performance highlights from a given keyword.
-
get_keywords_related
- Retrieves the list of keywords that are contextually or topically related to a given keyword.
- Input:
keyword(string): Requested keyword.
- Retrieves the list of keywords that are contextually or topically related to a given keyword.
-
get_keywords_questions
- Retrieves a list of question-based keywords related to a given keyword.
- Input:
keyword(string): Requested keyword.
- Retrieves a list of question-based keywords related to a given keyword.
-
get_keywords_synonyms
- Retrieves a list of synonyms related to a given keyword.
- Input:
keyword(string): Requested keyword.
- Retrieves a list of synonyms related to a given keyword.
-
get_keywords_find
- Retrieves comprehensive data for a given keyword or list of keywords, including search volume, competition, and trend analysis.
- Inputs:
keyword(string): Requested keyword.keywords(string[]): Requested keywords.keywords_sources(string[]): Which strategies to use to find keywords from input (Any combination of [match, serp, related, highlights, categories, questions]).
- Retrieves comprehensive data for a given keyword or list of keywords, including search volume, competition, and trend analysis.
-
get_keywords_site_structure
- Retrieves the site structure data for a given domain, including the keywords associated with the site's pages, hierarchical organization, and relevant metadata for SEO optimization.
- Input:
keyword(string): Requested keyword.
- Retrieves the site structure data for a given domain, including the keywords associated with the site's pages, hierarchical organization, and relevant metadata for SEO optimization.
-
get_keywords_serp_compare
- Retrieves a comparison of search engine results pages (SERP) for two or more keywords, providing insights into how they perform in search rankings.
- Inputs:
keyword(string): Requested keyword.period(string): The comparison period for SERPs (1 month, 3 months, 6 months, 12 months, custom).
- Retrieves a comparison of search engine results pages (SERP) for two or more keywords, providing insights into how they perform in search rankings.
-
get_keywords_serp_availableDates
- Retrieves the available dates for historical SERP data of a given keyword at a given period.
- Input:
keyword(string): Requested keyword.
- Retrieves the available dates for historical SERP data of a given keyword at a given period.
-
get_keywords_serp_pageEvolution
- Retrieves the evolution of SERP rankings for a specific keyword over time, showing how a page's position in search results has changed.
- Inputs:
keyword(string): Requested keyword.first_date(string): Date in YYYY-MM-DD format.second_date(string): Date in YYYY-MM-DD format.url(string)
- Retrieves the evolution of SERP rankings for a specific keyword over time, showing how a page's position in search results has changed.
-
get_keywords_bulk
- Retrieves keyword data for multiple keywords at once in a bulk request.
- Input:
keywords(string[]): Array containing the requested keywords.
- Retrieves keyword data for multiple keywords at once in a bulk request.
-
get_keywords_scrap
- Retrieves keyword data by scraping the search engine results pages (SERP) for a given keyword.
- Input:
keywords(string[]): Array containing the requested keywords.
- Retrieves keyword data by scraping the search engine results pages (SERP) for a given keyword.
3. Site Explorer Tools
-
get_domains_overview
- Retrieves a comprehensive SEO performance summary for a specific domain.
- Inputs:
input(string): Requested url, domain or root domain.requested_data(string[]): Requested data for the given url or domain, corresponding to the content of different sections of the haloscan overview page.
- Retrieves a comprehensive SEO performance summary for a specific domain.
-
get_domains_positions
- Retrieves the search engine ranking positions of a specified domain for one or more keywords.
- Input:
input(string): Requested url, domain or root domain.
- Retrieves the search engine ranking positions of a specified domain for one or more keywords.
-
get_domains_top_pages
- Retrieves the top-performing pages of a specified domain based on organic search metrics such as traffic, number of ranking keywords, and visibility.
- Input:
input(string): Requested url, domain or root domain.
- Retrieves the top-performing pages of a specified domain based on organic search metrics such as traffic, number of ranking keywords, and visibility.
-
get_domains_history_positions
- Retrieves historical ranking positions for a specific domain across selected keywords.
- Inputs:
input(string): Requested url or domain.date_from(string): Date in YYYY-MM-DD format.date_to(string): Date in YYYY-MM-DD format.
- Retrieves historical ranking positions for a specific domain across selected keywords.
-
get_domains_history_pages
- Retrieves historical SEO performance data for the top pages of a specified domain.
- Inputs:
input(string): Requested url or domain.date_from(string): Date in YYYY-MM-DD format.date_to(string): Date in YYYY-MM-DD format.
- Retrieves historical SEO performance data for the top pages of a specified domain.
-
get_page_best_keywords
- Retrieves the top-performing keywords for a specific URL, showing which search queries drive the most traffic and visibility to that page.
- Input:
input(string[]): Requested urls.
- Retrieves the top-performing keywords for a specific URL, showing which search queries drive the most traffic and visibility to that page.
-
get_domains_keywords
- Retrieves all the keywords a domain ranks for in organic search results, along with their associated metrics such as ranking position, traffic, and search volume.
- Inputs:
input(string): Requested url or domain.keywords(string[]): Array containing the requested keywords.
- Retrieves all the keywords a domain ranks for in organic search results, along with their associated metrics such as ranking position, traffic, and search volume.
-
get_domains_bulk
- Retrieves SEO performance metrics for multiple domains in a single request.
- Input:
inputs(string[]): Array containing the requested urls or domains.
- Retrieves SEO performance metrics for multiple domains in a single request.
-
get_domains_competitors
- Retrieves a list of organic search competitors for a given domain based on overlapping keywords.
- Input:
input(string): Requested url or domain.
- Retrieves a list of organic search competitors for a given domain based on overlapping keywords.
-
get_domains_competitors_keywords_diff
- Compares the keyword differences between a given domain and its competitors, highlighting keywords that one domain ranks for but the other does not.
- Inputs:
input(string): Requested url or domain.competitors(string[]): List of competitors to compare the input to.
- Compares the keyword differences between a given domain and its competitors, highlighting keywords that one domain ranks for but the other does not.
-
get_domains_competitors_best_pages
- Retrieves the best-performing pages of competitors for a given domain.
- Inputs:
input(string): Requested url or domain.competitors(string[]): List of competitors to compare the input to.
- Retrieves the best-performing pages of competitors for a given domain.
-
get_domains_competitors_keywords_best_positions
- Retrieves the best-ranking keywords for a given domain compared to its competitors.
- Inputs:
competitors(string[]): List of competitor domains or root domains.keywords(string[]): List of keywords to look for.
- Retrieves the best-ranking keywords for a given domain compared to its competitors.
-
get_domains_visibility_trends
- Retrieves the visibility trend for a specific domain over time, showing how its search engine visibility has evolved.
- Input:
input(string[]): Array containing the requested urls or domains.
- Retrieves the visibility trend for a specific domain over time, showing how its search engine visibility has evolved.
-
get_domains_expired
- Retrieves the visibility trend for a specific domain over time, showing how its search engine visibility has evolved.
- Retrieves the visibility trend for a specific domain over time, showing how its search engine visibility has evolved.
Configuration
- Sign up for an Haloscan account.
- Choose a plan.
- Generate your API key from Configuration API page.
- Use the API key for the Haloscan server in the Claude Desktop configuration file.
Usage with Claude Desktop
Add this server to your Claude Desktop configuration file claude_desktop_config.json:
NPX
{
"mcpServers": {
"haloscan": {
"command": "npx",
"args": [
"-y",
"@occirank/haloscan-server",
"start"
],
"env": {
"HALOSCAN_API_KEY": "YOUR API KEY"
}
}
}
}
License
MIT
関連サーバー
Ubersuggest
Perform AI-assisted SEO analysis using Neil Patel's Ubersuggest platform.
Custom Elasticsearch
A simple MCP server for Elasticsearch, designed for cloud environments where your public key is already authorized.
Crossref MCP Server
Search and access academic paper metadata from Crossref.
Serper Search and Scrape
Web search and webpage scraping using the Serper API.
ClinicalTrials MCP Server
Search and access clinical trial data from ClinicalTrials.gov.
Google Web Search (Gemini)
Provides Google Web Search functionality using the Gemini API. Requires a Google API Key or OAuth credentials.
BGPT MCP
Search scientific papers with structured experimental data extracted from full-text studies. Returns 25+ fields per paper including methods, results, sample sizes, limitations, and quality scores.
RedNote MCP
Search and retrieve content from the Xiaohongshu (Red Book) platform.
Lancelot-MCP
A containerized MCP server for LanceDB vector search, featuring hybrid processing with Gemini and Ollama.
ExploitDB MCP Server
Query security exploits and vulnerabilities from the ExploitDB database.