gingiris-1031 avatar

Analook — Competitor Intelligence

gingiris-1031/competitor-analysis-tool

Built by the former COO of AFFiNE, this server turns competitor research into a set of MCP tools your AI agent can call directly. It exposes five operations: analyze_competitor kicks off a multi-module pipeline that hits DataForSEO for traffic data, Apify for Twitter scraping, Product Hunt's GraphQL API for launch history, and Wayback Machine for domain age. The other four tools let you poll status, fetch the full JSON report, render it as markdown, or list past analyses. Requires an Analook API token. Useful when you're prototyping in a space and want to pull structured intel on a competitor without leaving your chat window or building your own scraper chain.

tools
8
transport
HTTP
last updated
May 31, 2026

Install

From registry metadata
$ npx add-mcp https://www.analook.com/mcp/ --name analook

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http analook https://www.analook.com/mcp/

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 8 tools

Verified live against the running server on Nov 6, 2026.

analyze_competitorSubmit a competitor analysis job. Analyzes a competitor's website across 15+ data sources (SEO, traffic, social, Product Hunt, GitHub, Wayback Machine history, AI-generated insights, etc.) and returns a job_id. Use get_report_status(job_id) to poll and get_report(job_id) to re...6 params

Submit a competitor analysis job. Analyzes a competitor's website across 15+ data sources (SEO, traffic, social, Product Hunt, GitHub, Wayback Machine history, AI-generated insights, etc.) and returns a job_id. Use get_report_status(job_id) to poll and get_report(job_id) to re...

Parameters* required
context*string
Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include...
conversation_idstring
Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. K...
langvalue
llm_model*string
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your mod...
product_namevalue
url*string
get_report_statusPoll an analysis job's status. Args: job_id: ID returned from analyze_competitor() Returns: {status: 'running'|'completed'|'failed', progress?: str, report_url?: str}4 params

Poll an analysis job's status. Args: job_id: ID returned from analyze_competitor() Returns: {status: 'running'|'completed'|'failed', progress?: str, report_url?: str}

Parameters* required
context*string
Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include...
conversation_idstring
Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. K...
job_id*string
llm_model*string
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your mod...
get_reportFetch the full competitor analysis report as structured JSON. Reports contain: website snapshot, Wayback Machine history, SEO/traffic data (DataForSEO), social media presence, Product Hunt launches, GitHub stats, pricing, funding, AI-generated business insights, growth playboo...4 params

Fetch the full competitor analysis report as structured JSON. Reports contain: website snapshot, Wayback Machine history, SEO/traffic data (DataForSEO), social media presence, Product Hunt launches, GitHub stats, pricing, funding, AI-generated business insights, growth playboo...

Parameters* required
context*string
Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include...
conversation_idstring
Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. K...
job_id*string
llm_model*string
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your mod...
get_report_markdownFetch the competitor analysis report as human-readable Markdown. Suitable for piping into agents that prefer text over structured JSON, or for direct display to end users. Args: job_id: ID from analyze_competitor(); status must be 'completed' Returns: {markdown: str} or {error...4 params

Fetch the competitor analysis report as human-readable Markdown. Suitable for piping into agents that prefer text over structured JSON, or for direct display to end users. Args: job_id: ID from analyze_competitor(); status must be 'completed' Returns: {markdown: str} or {error...

Parameters* required
context*string
Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include...
conversation_idstring
Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. K...
job_id*string
llm_model*string
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your mod...
list_my_reportsList your recent competitor analysis reports (up to 50). Requires authentication. Returns a lightweight list (id, url, product_name, created_at, status) — use get_report(job_id) to fetch the full report for any of them. Returns: {reports: [{id, url, product_name, created_at, s...3 params

List your recent competitor analysis reports (up to 50). Requires authentication. Returns a lightweight list (id, url, product_name, created_at, status) — use get_report(job_id) to fetch the full report for any of them. Returns: {reports: [{id, url, product_name, created_at, s...

Parameters* required
context*string
Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include...
conversation_idstring
Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. K...
llm_model*string
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your mod...
run_growth_auditRun a full Growth Audit — three linked strategic reports for a product. Unlike analyze_competitor (a single 15-signal intelligence snapshot), a Growth Audit produces an Executive Summary + a Diagnosis Report + a 30-day Action Plan, grounded in real channel/tactic playbooks. Be...6 params

Run a full Growth Audit — three linked strategic reports for a product. Unlike analyze_competitor (a single 15-signal intelligence snapshot), a Growth Audit produces an Executive Summary + a Diagnosis Report + a 30-day Action Plan, grounded in real channel/tactic playbooks. Be...

Parameters* required
context*string
Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include...
conversation_idstring
Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. K...
langvalue
llm_model*string
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your mod...
product_namevalue
url*string
get_growth_auditFetch a Growth Audit's three reports (Executive Summary, Diagnosis, Action Plan) as Markdown. Args: job_id: ID from run_growth_audit() (starts with 'ga-') Returns: {status, reports: {executive_summary, diagnosis_report, action_plan}} while running, only {status, progress} is r...4 params

Fetch a Growth Audit's three reports (Executive Summary, Diagnosis, Action Plan) as Markdown. Args: job_id: ID from run_growth_audit() (starts with 'ga-') Returns: {status, reports: {executive_summary, diagnosis_report, action_plan}} while running, only {status, progress} is r...

Parameters* required
context*string
Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include...
conversation_idstring
Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. K...
job_id*string
llm_model*string
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your mod...
browse_public_reportsBrowse Analook's public competitor-intelligence report gallery. Returns recently published public reports (product name, domain, category, and a link). No authentication or credits required — a fast way to discover existing analyses before spending a credit on a fresh one. Arg...4 params

Browse Analook's public competitor-intelligence report gallery. Returns recently published public reports (product name, domain, category, and a link). No authentication or credits required — a fast way to discover existing analyses before spending a credit on a fresh one. Arg...

Parameters* required
categoryvalue
context*string
Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include...
conversation_idstring
Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. K...
llm_model*string
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your mod...

Sponsors

Readme

Analook Logo

Analook — 竞品情报分析工具

30 秒看透任何竞品 · AI-powered competitor intelligence for indie hackers & growth teams

License: MIT Website Skills on ClawHub Deployed on Railway

English | 中文 · 🤖 MCP Server · 📖 Docs

🤖 Remote MCP Server

Analook is available as a Remote MCP server — use it from Claude Desktop, Cursor, or any MCP-compatible client. No install, no local process.

{
  "mcpServers": {
    "analook": {
      "url": "https://www.analook.com/mcp",
      "headers": { "Authorization": "Bearer <YOUR_ANALOOK_TOKEN>" }
    }
  }
}

View the full README on GitHub

Details

Repository
github.com/gingiris-1031/competitor-analysis-tool
Website
www.analook.com
Categories
Sales & Marketing, Media & Entertainment
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026

Related Sales & Marketing MCP servers

View all
1datalishq avatarZuckerBot — Meta Ads MCP Serverdatalishq/zuckerbot60+ Meta Ads tools for AI agents: audits, campaign management, audiences and CAPI tracking.13stars
2ashev87 avatarPropstack Mcpashev87/propstack-mcpConnect AI assistants to your Propstack real estate CRM (contacts, properties, deals).9stars
3theastraway avatarMINDtheastraway/mind-mcp-serverMIND knowledge-graph memory for agents. 44 tools: CRM, Life, MoneyMIND, Budget, Sheets, Email, Sign.7stars
4douglac avatarConta Azul MCPdouglac/contaazul-mcpConta Azul ERP MCP — sales, customers, finance and NF-e via OAuth 2.0. Read + write, 35 tools.6stars
5stewyboy1990 avatarCompanyscope Mcpstewyboy1990/companyscope-mcp11 company intelligence tools — financials, tech stack, competitors, patents, jobs, news. Free.4stars
6verygoodplugins avatarEasy Digital Downloadsverygoodplugins/mcp-eddMCP server for Easy Digital Downloads REST API - sales, customers, products, analytics4stars