xiaoflow mcp server
XiaoFlow MCP Server connects LLMs to XiaoFlow AI SEO and keyword intelligence tools for keyword research, domain analytics, and search trend analysis.
Discover keywords from keyword, URL, or domain seeds, with related-keyword pagination and legacy discovery aliases.
Retrieve exact keyword metrics and monthly history for single keywords or bulk lists up to 1,000 keywords, with 1–48 month history.
Start and poll asynchronous round-based keyword expansion using include/exclude rules, min search volume, and iteration limits.
Analyze URL/site search visibility and get domain-level stats, organic traffic trends, and keyword distributions.
List paginated domain or brand keywords and get keyword details for 12, 24, or 48 month windows.
Compare search volume, CPC, competition, intent, and historical trends.
Authenticate via OAuth 2.1/PKCE web login, environment variable, Bearer token, or legacy query parameter.
Use remote Streamable HTTP or stdio via npx/Docker; tools are read-only except asynchronous expansion task creation.
Provides Etsy market intelligence, including deep search across shops, product listings, and market trends, as well as listing performance metrics and sales estimates.
XiaoFlow MCP Server (xiaoflow-mcp-server)
Official Model Context Protocol (MCP) server for XiaoFlow AI SEO and keyword intelligence tools.
Connect Large Language Models (LLMs) such as Claude Desktop, Cursor, Windsurf, and VS Code directly to XiaoFlow's search engine optimization, keyword discovery, and domain analytics.
Remote endpoint: https://mcp.xiaoflow.com/mcp
Transport: MCP Streamable HTTP with OAuth 2.1 / PKCE, plus stdio through the npm package
Safety: Read-only research tools, except asynchronous expansion task creation; no destructive tools
Official listings
Related MCP server: keyword-steroids-70
✨ Features & Capabilities
🔍 Keyword Discovery: Generate high-intent search keywords and SEO ideas from keyword, URL, or domain seeds.
📊 Domain Analytics: Analyze domain-level search performance, organic traffic metrics, and keyword distributions.
📈 Search Trend Analysis: Compare keyword demand, competition, CPC, and historical trends.
🔒 Flexible Authentication: Supports API Key authentication via query parameters (
?key=), Bearer tokens, environment variables, or Web OAuth login.
⚡ Quick Start
1. Run via npx (stdio)
Run the server directly using npx:
npx -y xiaoflow-mcp-serverPass your XiaoFlow API key via environment variable:
XIAOFLOW_API_KEY="YOUR_API_KEY" npx -y xiaoflow-mcp-server2. Connect via Streamable HTTP with web login (recommended)
Use the canonical remote endpoint in clients that support remote MCP. The client discovers XiaoFlow OAuth automatically and opens the browser for login and consent:
https://mcp.xiaoflow.com/mcpLegacy clients can still use https://mcp.xiaoflow.com/sse?key=YOUR_API_KEY.
💻 Client Integration Guides
Cursor Setup
Add XiaoFlow MCP to Cursor:
Name:
xiaoflowType:
httpURL:
https://mcp.xiaoflow.com/mcp
Or click Add to Cursor directly on the XiaoFlow MCP Portal.
Claude Desktop Setup
Add the following entry to your claude_desktop_config.json:
{
"mcpServers": {
"xiaoflow": {
"command": "npx",
"args": ["-y", "xiaoflow-mcp-server"],
"env": {
"XIAOFLOW_API_KEY": "YOUR_API_KEY"
}
}
}
}Windsurf, VS Code, and other remote clients
Use native HTTP configuration where available:
{
"mcpServers": {
"xiaoflow": {
"type": "http",
"url": "https://mcp.xiaoflow.com/mcp"
}
}
}For stdio-only clients, bridge to the OAuth-enabled remote endpoint:
{
"mcpServers": {
"xiaoflow": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.xiaoflow.com/mcp"]
}
}
}🛠️ Available MCP Tools
MCP Tool | Description | Key Input Parameters |
| Exact metrics and monthly history for one keyword |
|
| Related keywords with metrics/history and unlimited pagination |
|
| Complete exact metrics, automatically batched in groups of 1,000 |
|
| Start round-based expansion from one or more seeds |
|
| Poll an expansion task and retrieve results |
|
| Analyze page or domain search visibility |
|
| Overview search metrics & traffic trends for a domain |
|
| Retrieve paginated list of domain keywords |
|
| Retrieve keyword metrics for a 12, 24, or 48 month window |
|
Every tool publishes:
descriptions for every input parameter;
a named JSON output schema, including success and error fields;
MCP safety annotations (
readOnlyHint,destructiveHint,idempotentHint, andopenWorldHint);a human-readable tool title for MCP clients and directories.
Example prompts
Get US English metrics and 24 months of history for "AI SEO tools".Find every related keyword for "standing desk", 200 per page, and continue
until has_more is false. Return search volume, CPC, competition, intent, and history.Compare these 1,000 keywords over 48 months and rank them by search volume growth.Expand "home office" for four rounds, keep terms with at least 100 monthly
searches, and poll the task until it is complete.🔑 Authentication
Obtain your API key from the XiaoFlow MCP Dashboard.
Supported authentication methods:
Web Login OAuth (recommended): connect to
https://mcp.xiaoflow.com/mcp; compatible clients discover OAuth, PKCE, and dynamic client registration automatically.Environment Variable: set
XIAOFLOW_API_KEYwhen running vianpx.Authorization Header: send
Authorization: Bearer YOUR_API_KEY.Legacy Query Parameter: append
?key=YOUR_API_KEYto the legacy SSE URL.
🐳 Docker / Glama
The repository includes a production multi-stage Dockerfile for directory
build verification and stdio deployment:
docker build -t xiaoflow-mcp .
docker run --rm -i \
-e XIAOFLOW_API_KEY="YOUR_API_KEY" \
xiaoflow-mcpThe image runs as the unprivileged Node user, excludes local secrets and build state, and writes MCP protocol messages only to stdout.
🔐 Security and data handling
OAuth login occurs only on
www.xiaoflow.com; MCP clients never receive your password.API keys and OAuth tokens are sent only to the configured XiaoFlow API endpoint.
The server does not scan or upload project files.
Tool calls query external XiaoFlow/Google Ads-backed data and may consume account credits.
No tool deletes or modifies keyword or domain data.
Report vulnerabilities privately through the repository owner or the XiaoFlow contact page. Do not include tokens or customer data in public issues.
✅ Quality and compatibility
MCP protocol: Streamable HTTP and stdio
Authentication: OAuth 2.1 with PKCE, Bearer API key
Tool schemas: parameter descriptions, structured output schemas, annotations
Optional discovery methods: resources and prompts return valid empty lists
Runtime: Node.js 18+ (
node:20-alpinein Docker)Continuous endpoint:
https://mcp.xiaoflow.com/mcp
📄 License
MIT © XiaoFlow
Complete bulk results and files
bulk_keyword_metrics return all queried rows (up to 1,000 per request), rather than a 12-row report preview. Hosted MCP responses include CSV and JSON resource links plus structuredContent.exports. Download links are unguessable, valid for 24 hours, and return an attachment without requiring a separate API query. Historical trends are disabled by default; set with_history: true to request them. CSV contains the requested keyword metrics; JSON preserves the entire original result. Save the download itself to keep every row, regardless of the chat client's display limits.
The stdio server returns the full structured result and embedded text/csv and application/json resources, which clients can save locally. A remote MCP server cannot choose a path on your computer; the client saves the downloaded/resource file at your chosen location.
Regression checks: npm run build && node --test tests/keyword-export.test.mjs. To exercise hosted export storage and downloads locally, run Wrangler on port 8799 with XIAOFLOW_API_URL=http://127.0.0.1:8899, then node tests/worker-export.integration.mjs.
MCP results are now raw JSON, without chart images or dashboard widgets. Bulk metrics have no MCP total-keyword ceiling: requests are split into API batches, and discovery/domain keyword listings follow every reported result page. Exports preserve all rows, monthly histories and additional metric fields. The previous 8 MB export cap is removed. Upstream data availability, account credits and platform transport/storage limits still apply; these are not silently bypassed.
Available Tools
11 toolsanalyze_urlAnalyze URL or SiteARead-onlyIdempotent
Domain/site keyword discovery via /api/v1/websites (requires brand=0|1). Use site for full domain mapping; use url for a single page via /api/v1/keywords.
Inputs: url, site, brand, language, +1 more. Returns: Domain visibility metrics or keyword results.
bulk_keyword_lookupBulk Keyword Lookup (Legacy)ARead-onlyIdempotent
Bulk volume/CPC for up to 1,000 keywords.
Inputs: keywords (required), language, location. Returns: Successful keyword result page.
bulk_keyword_metricsGet Bulk Keyword MetricsARead-onlyIdempotent
Get exact-match base metrics and 1-48 months of history for up to 1,000 keywords.
Inputs: keywords (required), language, location, history_months. Returns: Successful keyword result page.
discover_keywordsDiscover Keywords (Legacy)ARead-onlyIdempotent
Legacy alias for related keyword discovery. Returns paginated keyword metrics and monthly history.
Inputs: url, site, keyword, language, +1 more. Returns: Successful keyword result page.
get_domain_statsGet Domain StatisticsARead-onlyIdempotent
Website overview metrics and traffic history. GET /api/v1/websites/:domain?brand=0|1
Inputs: brand (required), domain (required), language, location. Returns: Domain visibility metrics or keyword results.
get_keyword_detailsGet Keyword DetailsARead-onlyIdempotent
Historical volume for a keyword slug.
Inputs: slug (required), language, location, time_range. Returns: Successful keyword result page.
get_keyword_expansion_statusGet Keyword Expansion StatusARead-onlyIdempotent
Poll a round-based expansion task and optionally return its results.
Inputs: task_id (required), include_results. Returns: Current state and optional results for an expansion task.
get_keyword_metricsGet Keyword MetricsARead-onlyIdempotent
Get exact-match base metrics and 1-48 months of monthly history for one keyword.
Inputs: keyword (required), language, location, history_months. Returns: Successful keyword result page.
list_domain_keywordsList Domain KeywordsARead-onlyIdempotent
Paginated keyword list for a domain. GET /api/v1/websites/:domain/keywords?brand=0|1
Inputs: brand (required), domain (required), page, language, +2 more. Returns: Domain visibility metrics or keyword results.
start_keyword_expansionStart Keyword ExpansionB
Start an asynchronous breadth-first/round-based keyword expansion.
Inputs: seeds (required), language_id, location_id, exclude_rules, +3 more. Returns: Asynchronous keyword-expansion task creation result.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Tools are mostly distinct, but discover_keywords is a legacy alias for related keyword discovery, overlapping with get_related_keywords. Also, bulk_keyword_metrics and get_keyword_metrics serve similar purposes at different scales, causing slight ambiguity.
Naming follows snake_case with verb_noun mostly, but analyze_url deviates from the pattern of having 'keyword' in the name. Additionally, there is inconsistency between 'bulk' and 'get' prefixes for similar operations.
11 tools is well-scoped for a keyword research server, covering discovery, metrics, bulk operations, expansion, and domain analysis without being overwhelming.
The tool set covers major keyword research workflows: discovery, metrics, bulk operations, expansion, and domain analysis. Minor gaps exist, such as keyword trend data or comparison tools, but core needs are addressed.
Maintenance
Related MCP Connectors
Google Ads Keyword Planner data without an Ads account: search volume, CPC, bid range, competition.
Keyword search volume, CPC, competition, keyword ideas, ranking keywords, traffic and backlinks.
Keyword volume, live SERP ranks, domain traffic, ranked keywords, backlinks, Google Trends, YouTube.
Bulk keyword search volume, CPC, competition and difficulty, plus an optional Google Trends summary.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides search volume and keyword difficulty data via DataForSEO Labs, enabling AI agents to perform SEO keyword research through natural language queries.295 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables keyword research across 70 languages without API keys, providing Google Suggest autocomplete, People Also Ask, related searches, Jaccard clustering, and language-specific intent tags via MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceEnables multilingual keyword research in 70 languages using Google Suggest autocomplete, People Also Ask, related searches, and intent tagging without requiring API keys.MIT

keyword-researchofficial
FlicenseNot gradedqualityBmaintenanceEnables keyword idea and question discovery for any seed term, with search volume, difficulty, and SERP intent data.1-