Analook — Competitor Intelligence
Server Details
Competitor intelligence for AI agents — SEO, traffic, social, Product Hunt, pricing, AI insights.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Gingiris-1031/Competitor-analysis-tool
- GitHub Stars
- 105
- Server Listing
- Analook
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 8 of 8 tools scored.
Each tool has a clearly distinct purpose: separate tools for submitting analysis, polling status, retrieving results in two formats, listing own reports, browsing public reports, and running/retrieving a different growth audit. No two tools overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., analyze_competitor, get_report_status, run_growth_audit). There are no deviations or mixed conventions.
With 8 tools, the surface is well-scoped for a competitor intelligence service. It covers submission, polling, two retrieval formats, listing, browsing, and a separate audit workflow—no unnecessary clutter.
The tool set covers the full lifecycle for both analyses: submit, poll, retrieve, and list. The only minor gap is lack of a cancel/delete job tool, but this is not essential for the core workflow. Browsing public reports adds value.
Available Tools
8 toolsanalyze_competitorAInspect
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 retrieve results when status='completed'.
Typical analysis takes 2-5 minutes. Requires authentication (deducts 1
credit from your Analook balance).
Args:
url: Competitor website URL (e.g. 'https://linear.app' or 'lovable.dev')
product_name: Optional product name override (defaults to domain)
lang: Report language, 'en' (default) or 'zh' for Chinese output
Returns:
{job_id: str, status: 'started', poll_url: str} on success
{error: str, hint?: str} on auth/validation failure
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| lang | No | ||
| product_name | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description fully handles behavioral disclosure. It reveals the asynchronous nature, typical duration, authentication requirement, credit cost, success and error return formats. It could add rate limits or other side effects, but coverage is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise, front-loading the core action. The argument listing is clear though not strictly formatted. Every sentence adds value, but minor trim could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of an async job with polling, the description covers the flow, return types, and error handling. It references sibling tools for result retrieval. It could briefly mention how results are used later, but it's sufficiently complete for this tool's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description provides thorough explanations for all three parameters: url with example, product_name as optional override, lang with default and options. This compensates well beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool submits a competitor analysis job, analyzes a website across many sources, returns a job_id, and instructs to use get_report_status and get_report for results. It distinguishes itself from sibling tools that are for retrieving or browsing reports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use (to analyze a competitor website) and the follow-up polling process. It mentions authentication and credit deduction. However, it does not explicitly contrast with sibling tools like browse_public_reports or run_growth_audit, but the usage flow is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browse_public_reportsAInspect
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.
Args:
category: Optional filter, e.g. 'AI / Agents', 'Dev Tools',
'Crypto / Web3', 'Marketing / SEO', 'SaaS / Other'
| Name | Required | Description | Default |
|---|---|---|---|
| category | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description mentions no auth/credits required and returns specific fields, but does not disclose pagination, rate limits, or behavior with invalid category. Moderate behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise (two short paragraphs) and clearly structured with main purpose followed by parameter details. Could be more front-loaded, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description adequately hints at return fields (product name, domain, category, link). For a simple browse tool with one optional param, it's sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter 'category' with examples like 'AI / Agents', 'Dev Tools'. Schema has 0% description coverage, but the tool description lists example values, adding useful context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it browses a public report gallery, listing recently published reports with product name, domain, category, and link. Distinguishes from siblings like get_report (specific report) and analyze_competitor (generate analysis).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says it's a fast way to discover existing analyses before spending a credit on a fresh one, implying use before creating new reports. Does not explicitly exclude cases, but context helps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_growth_auditAInspect
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 returned.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
In absence of annotations, description discloses that while running only status+progress is returned, and lists three reports upon completion. No destructive behavior implied, but no mention of error states or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise three sections (summary, Args, Returns). Every sentence adds value. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch with one parameter and no output schema, description covers purpose, usage, return format, and status during execution. Could mention polling behavior or error codes but sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (job_id). Schema has no description; description adds meaning: 'ID from run_growth_audit() (starts with 'ga-')'. This clarifies expected format and source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Fetch a Growth Audit's three reports... as Markdown', clearly identifying verb+resource. Differentiates from siblings like run_growth_audit and get_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: job_id comes from run_growth_audit() and starts with 'ga-'. Also explains return behavior during execution (only progress returned), telling when the tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reportAInspect
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
playbooks, and more.
Args:
job_id: ID from analyze_competitor(); status must be 'completed'
Returns:
The full report dict (nested structure), or {error} if not found / not ready.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully bears the weight of behavioral disclosure. It transparently describes the return structure ('full report dict (nested structure), or {error} if not found / not ready'), which covers key error scenarios. No destructive or rate-limiting traits are relevant for a fetch operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a one-sentence purpose followed by a bullet-like list of report contents, then clear 'Args' and 'Returns' sections. Every sentence adds value with zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single simple parameter, no output schema, and no annotations, the description provides a thorough list of report contents and return types. It lacks details on potential size limits or nesting depth, but for a report retrieval tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines 'job_id' with only a title 'Job Id', covering 0% of semantic meaning. The description compensates perfectly by specifying the source ('ID from analyze_competitor()') and a precondition ('status must be 'completed''), adding crucial context the schema alone lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch the full competitor analysis report as structured JSON' and lists specific data categories (website snapshot, Wayback Machine history, SEO/traffic data, etc.), making the tool's purpose highly specific and distinct from siblings like 'get_report_status' or 'get_report_markdown'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the prerequisite 'job_id: ID from analyze_competitor(); status must be 'completed'', providing clear when-to-use guidance. However, it does not mention when not to use this tool or suggest alternatives, missing an opportunity for full usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_report_markdownAInspect
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: str}
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description indicates a read operation (fetch) and return type. Could mention non-destructive nature or rate limits, but adequate for a simple fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise: one sentence for purpose, one for use case, then args/returns. No unnecessary words. Front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter, no output schema, and no annotations, the description covers purpose, usage, parameter meaning, and return format. Error handling implied but not detailed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description fully explains job_id: provenance (from analyze_competitor()) and precondition (status must be 'completed').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Fetch', resource 'competitor analysis report', and format 'human-readable Markdown'. It distinguishes from likely JSON sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes suitability: text-pipe or display. Specifies prerequisite: job_id from analyze_competitor() and status 'completed'. Does not explicitly exclude other contexts but implies it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_report_statusAInspect
Poll an analysis job's status.
Args:
job_id: ID returned from analyze_competitor()
Returns:
{status: 'running'|'completed'|'failed', progress?: str, report_url?: str}
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It details the return type ({status, progress, report_url}) but does not discuss side effects, idempotency, or rate limits. The polling nature is implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with minimal lines. It includes Args/Returns structure without fluff, making it easy to read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 1-parameter tool with no output schema, the description provides the return format and usage context. Missing details like error handling or timeout, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description adds meaning by specifying that job_id is the ID returned from analyze_competitor(). This links the parameter to a parent tool, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Poll an analysis job's status,' which is a specific verb and resource. It distinguishes itself from sibling tools like get_report or browse_public_reports by explicitly linking job_id to analyze_competitor().
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells when to use this tool: after calling analyze_competitor() to get job_id. It does not explicitly state when not to use it or mention alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_my_reportsAInspect
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, status}, ...]}
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses authentication needed, return fields (id, url, product_name, created_at, status), and the 50-report limit. No annotations exist, so description carries burden; it covers key behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact three-sentence description with a structured Returns section, no redundant text, front-loaded with main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description fully explains what the tool returns and how to proceed for details, making it self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema coverage is trivial. Description adds value by detailing output fields, meeting baseline for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List your recent competitor analysis reports (up to 50)', specifying the verb (list), resource (reports), and limit, clearly distinguishing it from siblings like get_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance to use get_report for full report details, implies authentication requirement, but does not explicitly exclude scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_growth_auditAInspect
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. Best for 'how do I
grow THIS product' rather than 'what is this competitor doing'.
Takes ~4-6 minutes. Requires authentication and deducts 10 credits. Poll
with get_growth_audit(job_id) until status='completed'.
Args:
url: Product website URL to audit
product_name: Optional product name override (defaults to domain)
lang: Report language, 'en' (default) or 'zh'
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| lang | No | ||
| product_name | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: takes 4-6 minutes, requires authentication, deducts 10 credits, and is asynchronous (poll with get_growth_audit). This is excellent transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: starts with the main purpose, contrasts with sibling, states time/credits, then lists parameters. Every sentence is valuable and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description covers what the tool produces (three reports), its async nature, and how to retrieve results (poll with get_growth_audit). This is complete given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explains each parameter: url as product website URL, product_name as optional override defaulting to domain, lang as 'en' or 'zh' with default 'en'. This adds complete meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs a full Growth Audit producing three reports. It contrasts with sibling tool analyze_competitor, which is a single snapshot, making the purpose distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Best for how do I grow THIS product rather than what is this competitor doing', providing context for when to use. While it doesn't explicitly say when not to use, the contrast with analyze_competitor serves as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceCompetitive intelligence platform with 24 tools. Monitor competitor pricing, content, positioning, tech stacks, and AI visibility — track how ChatGPT, Claude, and Gemini rank your brand.Last updated332MIT
- AlicenseAqualityBmaintenanceCompetitive intelligence for AI agents — analyze any URL or company description and get structured JSON with positioning, pain points, competitors, and unique market angles. Payments via x402 protocol ($0.05 USDC on Base mainnet), no accounts required.Last updated41MIT
- Flicense-qualityCmaintenanceProvides AI agents with tools to detect Shopify apps, WordPress plugins, DNS/email/SaaS footprint, and estimate SaaS spend for competitive intelligence and vendor research.Last updated
- Alicense-qualityDmaintenanceGive your AI agent access to 8,400+ software tools — search, compare, get pricing, find alternatives, and discover the best tool for any use case.Last updated202MIT
Your Connectors
Sign in to create a connector for this server.