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
- 103
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.5/5 across 8 of 8 tools scored. Lowest: 3.9/5.
All eight tools have clearly distinct purposes. analyze_competitor and run_growth_audit submit different types of analyses, each with dedicated retrieval tools (get_report/get_report_markdown vs get_growth_audit). Public and personal report browsing are separate. No overlap or ambiguity.
Tool names follow a consistent verb_noun pattern in snake_case (e.g., analyze_competitor, get_report_status, list_my_reports). Minor variations like browse_public_reports versus list_my_reports are still within the same convention. No mixing of styles.
With 8 tools, the server is well-scoped for competitor intelligence. It covers both main workflows (competitor analysis and growth audit) without redundancy. Each tool earns its place, and the count is neither too few nor excessive.
Core workflows are complete: submit, poll, retrieve (in JSON and Markdown), list personal reports, and browse public ones. The growth audit has its own fetch tool. Missing: credit balance query and job cancellation, but these are minor gaps that agents can work around.
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?
With no annotations, the description fully discloses behavior: it's an async job submission taking 2-5 minutes, requires authentication, deducts 1 credit, and returns specific response structures on success or failure. This is comprehensive for a mutation tool.
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: a brief intro, then behavior details, then parameter explanations, then return types. Every sentence adds value, and it is front-loaded with the purpose. No wasted 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?
Given no annotations or output schema, the description is remarkably complete. It covers purpose, workflow, parameters, return types, error handling, and integration with sibling tools. Nothing essential is missing.
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 explains all three parameters clearly: url is required with examples, product_name is optional with default behavior, and lang is optional with valid values. This fully compensates for the lack of schema descriptions.
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 submits a competitor analysis job, analyzes a website across 15+ data sources, and returns a job_id. It distinguishes itself from sibling tools like get_report_status and get_report, which are for polling and retrieving results.
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 when to use this tool (to start analysis) and when to use others (get_report_status, get_report). It mentions typical analysis time, authentication, and credit deduction, providing clear guidance on using the tool in context.
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, so description carries burden. It discloses no auth or credits needed, and that it returns public reports. No hidden side effects documented, but appropriate for a read-only tool.
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?
Two concise paragraphs with an Args section. Efficiently conveys purpose, usage, and parameter details without waste.
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 browsing tool with one optional parameter and no output schema, the description fully covers what the tool does, what it returns, and when to use it.
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 only parameter (category) has no schema description, but the tool description provides example categories, adding value beyond the schema. Examples make the parameter clear.
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 'browses Analook's public competitor-intelligence report gallery' and lists what is returned (product name, domain, category, link). It distinguishes from credit-consuming tools like 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?
Explicitly says 'a fast way to discover existing analyses before spending a credit on a fresh one' and mentions no authentication or credits required, guiding agents to use this before credit-based tools.
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?
With no annotations, the description carries the full burden. It discloses that while running only {status, progress} is returned, which is helpful. But it does not mention other behaviors like error handling, authentication requirements, or idempotency. The running state note is a positive but incomplete.
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, front-loading the primary purpose and then providing argument/return details in a structured docstring format. Every sentence adds value with no wasted 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?
Given the tool's simplicity (1 parameter, no enums, no output schema), the description covers the essential behavior: input format, return structure, and the running state. It is sufficiently complete for an agent to use correctly, though error cases are omitted.
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 description adds significant meaning beyond the schema: it specifies the source of job_id (from run_growth_audit) and its format ('starts with ga-'). This compensates for the schema's minimal title-only description. The single parameter is well-explained.
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 fetches three specific reports (Executive Summary, Diagnosis, Action Plan) as Markdown, with a clear verb and resource. It distinguishes from siblings like get_report and get_report_status by specifying the exact context of a growth audit job.
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 mentions the input comes from run_growth_audit(), providing context for when to use. However, it lacks explicit exclusions or alternatives, such as indicating that get_report_status should be used for progress updates or that the tool is for completed audits only.
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 carries the full burden. It clearly discloses that the tool returns the full report or an error if not found/not ready. This covers the key behavioral aspects for a read-only retrieval tool, though it could add details on error types.
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-line summary, a list of report contents, and clearly labeled Args/Returns sections. Every sentence adds value with no redundancy. Well-structured for quick parsing.
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 tool with one parameter and no output schema, the description covers purpose, parameter, expected return structure (list of data types), and error condition. It provides sufficient context for an AI agent to use the tool correctly, despite not referencing sibling tools.
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 single parameter job_id has 0% schema description coverage. The description adds meaning by specifying it as the ID from analyze_competitor() and requiring 'completed' status. This effectively explains the parameter's purpose and constraints beyond the schema's bare 'Job Id'.
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 fetches the full competitor analysis report as structured JSON, listing a comprehensive set of data fields. It distinguishes from sibling tools like analyze_competitor (initiates analysis) and get_report_markdown (different format), making the tool's role unambiguous.
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 specifies the prerequisite: job_id from analyze_competitor() and that status must be 'completed'. This guides when to use the tool. However, it does not explicitly mention alternatives or when not to use it, but the precondition implies that get_report_status should be used first.
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, so description carries full burden. It discloses return format (markdown string or error) and status prerequisite. However, it does not explicitly state that the operation is read-only, nor cover potential side effects, authentication, or rate limits. For a simple fetch, the basics are covered but additional context would be helpful.
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: one sentence for purpose, one for recommendation, then structured param and return specs. No fluff, front-loaded with key information.
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 tool's simplicity (one param, no annotations, no output schema), the description covers purpose, usage, parameter prerequisites, and return format. It references sibling tool analyze_competitor for context. Could briefly mention how to obtain job_id or error scenarios, but overall complete enough.
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 adds meaning by explaining job_id is 'ID from analyze_competitor()' and that status must be 'completed'. This is valuable context beyond the schema's type string, helping agents select and invoke correctly.
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 clearly states it fetches a competitor analysis report as Markdown, distinguishing it from the get_report sibling (which returns structured JSON). The verb 'fetch' and resource 'competitor analysis report as Markdown' are specific, and the output format is explicitly mentioned.
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 suitability for end-user display or agents preferring text over JSON, implying when to use over get_report. It also specifies prerequisites: job_id must be from analyze_competitor and status must be 'completed'. Lacks explicit 'when not to use', but context is clear.
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 discloses the return format (status, progress, report_url). It adequately describes the polling behavior, though it does not mention error cases 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?
The description is very concise and front-loaded, with clear sections for invocation and returns. Every sentence is necessary and informative.
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 simplicity of the tool (one required parameter, no output schema), the description covers everything needed: parameter source and response shape. It is complete for effective use.
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 has no description for job_id (0% coverage), but the description adds critical context: 'ID returned from analyze_competitor().' This clarifies the parameter's origin and ensures correct usage.
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,' with a specific verb and resource. It distinguishes well from sibling tools: analyze_competitor starts jobs, get_report and get_report_markdown retrieve reports, and list_my_reports lists 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 specifies that the job_id comes from analyze_competitor(), giving clear context for when to use. No explicit exclusions or alternatives are stated, but the usage is well implied.
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?
With no annotations, description carries full burden. It discloses authentication, 50-item limit, lightweight nature, and returned fields. Does not mention if operation is read-only or any side effects, but these are implicit.
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?
Two concise paragraphs with front-loaded purpose. Every sentence adds value: purpose, auth requirement, return format, sibling reference. No wasted 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?
Given no parameters and no output schema, description fully specifies return structure (fields, limit). References sibling tool for extended functionality, completing context.
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 exist; schema coverage is 100% vacuously. Baseline for 0 parameters is 4. Description adds no parameter info because none needed.
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 clearly states 'List your recent competitor analysis reports (up to 50).' Verb 'List' and resource 'competitor analysis reports' are specific. Distinguishes from siblings by noting lightweight list vs. full report via 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?
Explicitly mentions 'Requires authentication.' Advises when to use (list needs) and directs to get_report for full details, providing clear guidance against using this tool for full report retrieval.
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?
The description discloses important behavioral traits: the tool is asynchronous (takes ~4-6 minutes), requires authentication, deducts 10 credits, and needs polling via get_growth_audit. No annotations are provided, so the description carries the full burden and does so effectively.
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 clear and well-structured, using paragraphs and a bulleted args section. However, it could be slightly more concise by integrating the args into the flow, but overall it is effectively organized.
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 tool's complexity (asynchronous, credits, output of three reports), the description is complete. It mentions the polling method and the nature of the output. There is no output schema, but the description adequately explains what the tool produces.
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 in detail: url is the product website URL, product_name is optional override, lang is report language. This compensates fully for the lack of schema descriptions.
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 that the tool runs a full Growth Audit producing three specific reports. It also distinguishes itself from the sibling tool 'analyze_competitor' by detailing the differences in output and use case.
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?
Explicit guidance is provided on when to use this tool versus 'analyze_competitor' ('Best for how do I grow THIS product rather than what is this competitor doing'). It also includes information on duration, authentication, credit deduction, and polling instructions.
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!