mcp-registry/io.github.gingiris-1031/analook · v1.12.4
Also listed as glama/gingiris-1031/analook, mcp-registry/io.github.gingiris/analook
As of 2026-10-19 07:59 UTC, the Gingiris 1031 Analook MCP server is up with a Glimind reliability score of 93/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 8 outages in 90 days, with a median recovery of 3 minutes.
Competitor intelligence for AI agents — SEO, traffic, social, Product Hunt, pricing, AI insights.
Claude Code
claude mcp add --transport http gingiris-1031-analook-mcp-server https://www.analook.com/mcp/
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"gingiris-1031-analook-mcp-server": {
"type": "http",
"url": "https://www.analook.com/mcp/"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
8 of 8 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
11 parameter(s) across 7 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →
1 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →
Handshake + tools/list takes ~2,284 ms.
Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
In the last 30 days: 0 tool(s) removed and 8 schema change(s).
Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 7 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fio.github.gingiris-1031%2Fanalook/fixes
{
"name": "analyze_competitor",
"description": "Submit a competitor analysis job.\n\n Analyzes a competitor's website across 15+ data sources (SEO, traffic,\n social, Product Hunt, GitHub, Wayback Machine history, AI-generated\n insights, etc.) and returns a job_id. Use get_report_status(job_id) to\n poll and get_report(job_id) to retrieve results when status='completed'.\n\n Typical analysis takes 2-5 minutes. Requires authentication (deducts 1\n credit from your Analook balance).\n\n Args:\n url: Competitor website URL (e.g",
"inputSchema": {
"type": "object",
"title": "analyze_competitorArguments",
"required": [
"url",
"context",
"llm_model"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
},
"lang": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lang",
"default": null
},
"context": {
"type": "string",
"description": "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, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\""
},
"llm_model": {
"type": "string",
"description": "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 model identifier with certainty, pass \"unknown\" — never guess."
},
"product_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product Name",
"default": null
},
"conversation_id": {
"type": "string",
"description": "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. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "browse_public_reports",
"description": "Browse Analook's public competitor-intelligence report gallery.\n\n Returns recently published public reports (product name, domain, category,\n and a link). No authentication or credits required — a fast way to discover\n existing analyses before spending a credit on a fresh one.\n\n Args:\n category: Optional filter, e.g. 'AI / Agents', 'Dev Tools',\n 'Crypto / Web3', 'Marketing / SEO', 'SaaS / Other'\n ",
"inputSchema": {
"type": "object",
"title": "browse_public_reportsArguments",
"required": [
"context",
"llm_model"
],
"properties": {
"context": {
"type": "string",
"description": "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, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\""
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category",
"default": null
},
"llm_model": {
"type": "string",
"description": "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 model identifier with certainty, pass \"unknown\" — never guess."
},
"conversation_id": {
"type": "string",
"description": "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. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "get_growth_audit",
"description": "Fetch a Growth Audit's three reports (Executive Summary, Diagnosis,\n Action Plan) as Markdown.\n\n Args:\n job_id: ID from run_growth_audit() (starts with 'ga-')\n\n Returns:\n {status, reports: {executive_summary, diagnosis_report, action_plan}}\n while running, only {status, progress} is returned.\n ",
"inputSchema": {
"type": "object",
"title": "get_growth_auditArguments",
"required": [
"job_id",
"context",
"llm_model"
],
"properties": {
"job_id": {
"type": "string",
"title": "Job Id"
},
"context": {
"type": "string",
"description": "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, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\""
},
"llm_model": {
"type": "string",
"description": "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 model identifier with certainty, pass \"unknown\" — never guess."
},
"conversation_id": {
"type": "string",
"description": "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. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request."
}
}
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/io.github.gingiris-1031/analook"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/io.github.gingiris-1031/analook"}) over MCP.
analyze_competitor ~643 tokensrun_growth_audit ~641 tokensbrowse_public_reports ~589 tokensget_report ~589 tokensget_report_markdown ~546 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fio.github.gingiris-1031%2Fanalook?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fio.github.gingiris-1031%2Fanalook?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.gingiris-1031%2Fanalook.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.gingiris-1031%2Fanalook.svg :target: https://glimind.com/server/mcp-registry%2Fio.github.gingiris-1031%2Fanalook?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:77be7ae44bc850db…, first seen 2026-10-17, included at leaf 10700 of 25,610. Version history · verify what your client received.
Compare: most reliable data servers · most reliable web servers · most reliable productivity servers · most reliable knowledge servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-19 07:59 UTC, the Gingiris 1031 Analook MCP server is up with a Glimind reliability score of 93/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 8 outages in 90 days, with a median recovery of 3 minutes.
Gingiris 1031 Analook MCP server advertises 8 tools, including analyze_competitor, browse_public_reports, get_growth_audit, get_report, get_report_markdown.
Point your MCP client at this streamable-http endpoint: https://www.analook.com/mcp/
Glimind scanned all 8 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.