SEO Intellect MCP
This server lets MCP clients (Codex, Claude Desktop, etc.) run the full Engine SEO Intellect API surface as 22 unified SEO tools, with asynchronous task handling and flexible local/remote hosting.
Keyword research: LSI words, search suggestions, Yandex Wordstat frequencies, competitor semantics, lemmatization, and n-grams.
SERP and competitor analysis: top-10 exports, competitor discovery, relevant pages, competitor text sizes, and H1-H6 parsing.
Content and copywriting: copywriter brief generation, keyword/lemma/strict occurrence checks, text analysis, and overoptimization risk estimates.
Site auditing and indexing: page index checks, Yandex SQI, site age, technical site crawling, link/backlink checks, and multi-domain or single-domain position tracking.
Task lifecycle control: wait for results, set polling intervals and timeouts, or submit without waiting and resume later using a returned
task_id.Deployment options: local stdio for desktop MCP hosts, or remote Streamable HTTP with BYOK per-caller tokens, static-token mode, Docker, and health-check endpoints.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SEO Intellect MCPGet the top 10 search results for "best running shoes""
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Engine SEO Intellect
engine.seointellect.ru (affiliate link)
Русская инструкция · English installation guide
Open-source MCP server for the complete Engine SEO Intellect API surface. One MCP server exposes 22 SEO tools and handles the upstream asynchronous task lifecycle (set → check → get).
The project supports:
local
stdiotransport for Codex, Claude Desktop, and other MCP hosts;remote Streamable HTTP transport;
BYOK hosting: every remote caller supplies their own Engine SEO Intellect token;
structured tool results, input validation, polling, and resumable
task_idvalues;Node.js 20+, Docker, and horizontal stateless HTTP deployment.
Live API verification
On September 1, 2026, 21 of the 22 tools were exercised against the live Engine SEO Intellect API with minimal inputs and returned final status: ok results. site_scanner was intentionally excluded to avoid launching a crawl. No API token or private result payload is stored in this repository.
Live verification also established two upstream constraints reflected in the schemas: clustering requires at least two keywords, and keywords_checker requires all three keyword groups.
The project is an independent community integration and is not an official Engine SEO Intellect product.
Related MCP server: MCP Ahrefs
Tools
MCP tool | Engine SEO Intellect API tool | Purpose |
|
| LSI words and n-grams |
|
| Competitor text sizes and page text |
|
| First known indexing date |
|
| Search result export |
|
| Yandex and Google index checks |
|
| Keyword clustering |
|
| Lemmatization and n-grams |
|
| Multi-domain position checks |
|
| H1-H6 collection |
|
| Search competitor discovery |
|
| Search suggestions |
|
| Yandex site quality index |
|
| Copywriter brief compliance |
|
| Text-filter risk |
|
| Keyword positions |
|
| Donor-link checks |
|
| Relevant page discovery |
|
| Wordstat frequency collection |
|
| Competitor semantics |
|
| Technical site crawl |
|
| Content brief generation |
|
| Text and competitor analysis |
All 22 tools accept three optional execution fields:
wait_for_result— wait for the final result; defaults totrue;poll_interval_ms— polling interval;timeout_ms— maximum wait time.
When a task outlives the timeout, the response contains task_id. Pass only that task_id to the same MCP tool to continue waiting. Set wait_for_result=false to submit without polling.
Local setup (stdio)
git clone https://github.com/arseniigruzdev/engine-seointellect-mcp.git
cd engine-seointellect-mcp
npm ci
npm run buildSet the token in the environment, then start the server:
SEOINTELLECT_API_TOKEN=your-token npm startPowerShell:
$env:SEOINTELLECT_API_TOKEN = "your-token"
npm startCodex configuration
Codex supports both stdio and Streamable HTTP MCP servers. Keep the token in the process environment and allow Codex to forward it instead of writing it into config.toml:
[mcp_servers.engine-seointellect-mcp]
command = "node"
args = ["C:/absolute/path/to/engine-seointellect-mcp/dist/index.js"]
env_vars = ["SEOINTELLECT_API_TOKEN"]
tool_timeout_sec = 180
default_tools_approval_mode = "writes"The same MCP configuration is shared by Codex CLI, the IDE extension, and the ChatGPT desktop app on a Codex host. Restart the client after adding the server.
Remote hosting (Streamable HTTP)
The recommended public mode is BYOK. The MCP endpoint treats the caller's bearer token as their Engine SEO Intellect API token, forwards it only to Engine SEO Intellect, and does not persist it.
MCP_TRANSPORT=http \
HOST=0.0.0.0 \
PORT=3000 \
MCP_HTTP_AUTH_MODE=byok \
MCP_ALLOWED_HOSTS=mcp.example.com \
npm startEndpoints:
POST/GET/DELETE /mcp— Streamable HTTP MCP;GET /health— health check;GET /— server metadata.
Remote Codex configuration:
[mcp_servers.engine-seointellect-mcp]
url = "https://mcp.example.com/mcp"
bearer_token_env_var = "SEOINTELLECT_API_TOKEN"
tool_timeout_sec = 180
default_tools_approval_mode = "writes"Docker
docker build -t engine-seointellect-mcp .
docker run --rm -p 3000:3000 \
-e MCP_TRANSPORT=http \
-e HOST=0.0.0.0 \
-e MCP_HTTP_AUTH_MODE=byok \
-e MCP_ALLOWED_HOSTS=localhost \
engine-seointellect-mcpFor Coolify or Dokploy:
deploy this repository with its
Dockerfile;expose container port
3000;set
MCP_TRANSPORT=http,HOST=0.0.0.0, andMCP_HTTP_AUTH_MODE=byok;set
MCP_ALLOWED_HOSTSto the public MCP hostname;proxy HTTPS to
/mcpand use/healthfor health checks.
In BYOK mode, do not set SEOINTELLECT_API_TOKEN on the server.
Private static-token mode
Static mode uses one Engine SEO Intellect account and therefore must not be exposed publicly. It requires a separate MCP access token:
MCP_TRANSPORT=http \
MCP_HTTP_AUTH_MODE=static \
SEOINTELLECT_API_TOKEN=upstream-token \
MCP_ACCESS_TOKEN=random-private-access-token \
npm startDevelopment
npm run check
npm auditTests use an in-memory MCP connection and mocked Engine SEO Intellect responses. They do not consume API limits.
Security and privacy
Tokens are never logged or included in request bodies.
BYOK tokens are held only in memory for the current MCP request.
Every tool can consume Engine SEO Intellect account limits, so all tools are marked non-read-only and non-idempotent.
HTTP deployment validates allowed hosts and requires bearer authentication.
Do not paste real tokens into issues, logs, screenshots, or committed configuration.
See SECURITY.md for vulnerability reporting.
License
MIT
Available Tools
22 toolsclusteringKeyword clusteringA
Cluster a semantic core using search-result overlap. Upstream API tool: clustering. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the operation may consume SEO Intellect account limits, which is a meaningful operational trait not captured by the annotations. However, it does not mention the asynchronous behavior visible in the schema, such as returning a task_id or polling, which limits full 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 short and front-loaded with the core purpose. The phrase 'Upstream API tool: clustering' is somewhat redundant with the tool's name and adds little value, but the overall structure is 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?
The tool has a complex anyOf schema with two modes (starting a clustering task and continuing with a task_id) and async polling parameters, but the description does not explain these modes or what the tool returns. With no output schema, the description should provide more operational context to be 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?
Schema description coverage is 100%, so the schema already documents the parameters and their meanings. The description does not add parameter-level semantics, but the baseline of 3 applies because the schema carries the full burden.
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 states a specific verb ('Cluster'), a resource ('a semantic core'), and the method ('using search-result overlap'). This clearly distinguishes it from the sibling tools, none of which target clustering.
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 implies the tool is used for clustering keywords by search-result overlap, but it does not explicitly state when to use it versus alternatives or when not to use it. The 'may consume account limits' warning hints at cost-conscious usage but provides no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
competitorsCompetitor searchB
Find organic-search competitors for a keyword set. Upstream API tool: competitors. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds one useful behavioral trait beyond annotations: 'This operation may consume SEO Intellect account limits.' However, it does not disclose async/polling behavior or result shape, and the redundant 'Upstream API tool: competitors' provides no additional value.
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 short and front-loaded with the main purpose in the first sentence. The second sentence is mostly useful for the account-limits warning, though 'Upstream API tool: competitors' is largely redundant with the tool name.
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 tool with an anyOf schema supporting both direct keyword queries and task_id continuation, the description is thin. It does not describe return values or async behavior, though the schema's inline parameter descriptions cover some of that ground.
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 contributes no parameter-level meaning. Per the context signals, schema description coverage is 100%, so the schema carries the parameter-documentation burden; the description meets the baseline but does not compensate for anything.
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 states a clear verb and resource: 'Find organic-search competitors for a keyword set.' It is specific enough to separate this from semantic siblings like lsi or relevant_pages, though it does not explicitly name an alternative tool.
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?
No guidance is given on when to choose this tool over sibling tools, nor any exclusions or prerequisites. The only context is the upstream API mapping and an account-limits warning, neither of which helps an agent decide between alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
copywriter_briefCopywriter briefB
Build a content brief from SERP competitors and keyword signals. Upstream API tool: copyrighters. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description adds one useful behavioral note: the operation may consume SEO Intellect account limits. However, it does not disclose the async task pattern visible in the schema—first call can return a task_id, and the second variant resumes waiting—which is important for a non-readonly operation. No contradiction with the annotations.
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 short and front-loads the primary purpose in the first sentence. The 'Upstream API tool: copyrighters' sentence adds little actionable value, but the overall length is appropriate and there is no fluff.
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 tool with a two-mode async schema and no output schema, the description is too thin: it omits that a task_id can be returned and later reused, what the return value looks like, and which inputs are required. An agent would need to inspect the schema closely to invoke this tool correctly, and even then several parameters are not described.
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 only loosely maps to parameters: 'keyword signals' hints at keywords, and 'SERP competitors' hints at SERP-related inputs, but it does not explain required inputs like se, region, or the task_id continuation mode. Since the schema provides some parameter descriptions for timeout_ms, wait_for_result, poll_interval_ms, and task_id, the baseline is acceptable, but the description adds little over 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 states a specific action—'Build a content brief'—and names the inputs ('SERP competitors and keyword signals'), which clearly identifies the tool's resource and output. It does not explicitly contrast with sibling tools, but the content-brief deliverable is distinctive enough among the listed siblings.
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 purpose implies the tool should be used when a content brief is needed from SERP and keyword data, but there is no explicit when-to-use versus alternatives or any exclusion guidance. Despite many sibling SEO tools, the description does not say when to prefer this over related tools like competitors or lsi.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
headersH1-H6 parserB
Collect page headings from SERP competitors. Upstream API tool: headers. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnly=false and idempotent=false, and the description adds a concrete operational consequence: it may consume SEO Intellect account limits. This is useful context and does not contraddict annotations, but it could go further in describing async/task behavior.
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?
Three short sentences with purpose front-loaded and no filler. The account-limits caveat is operationally relevant and earns its place.
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 an async task API with two anyOf modes and no output schema, the description omits the task_id continuation workflow and return behavior. An agent cannot fully understand how to invoke the tool correctly from the description alone, despite a rich schema.
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 itself explains no parameters; schema descriptions cover wait_for_result, timeout_ms, poll_interval_ms, task_id, and variant. Required fields like keywords/se/region/depth are mostly inferable from context, though depth remains ambiguous. This lands at the baseline for a well-described 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?
States a specific verb ('Collect') and resource ('page headings from SERP competitors'), and the title 'H1-H6 parser' clarifies the output scope. It is readily distinguishable from sibling tools like relevant_pages or top_10.
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?
No guidance on when to prefer headers over alternatives, no exclusions, and no mention of the two invocation modes (start a new task vs. resume waiting via task_id). The 'Upstream API tool: headers' line is provenance, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
keywords_checkerCopywriter brief checkerB
Check strict, lemmatized, and additional keyword occurrences in text. Upstream API tool: keywords-checker. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide safety hints, and the description adds a useful cost/quota warning: 'This operation may consume SEO Intellect account limits.' However, it omits the significant async/task behavior, such as returning a task_id when wait_for_result is false and later polling with that task_id.
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 and front-loaded with the main purpose. The second sentence adds an important quota warning, though the 'Upstream API tool: keywords-checker' detail is mildly redundant for tool selection purposes.
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?
The tool has two distinct invocation modes (submit text vs. poll an existing task) and no output schema, but the description does not explain the task lifecycle, wait_for_result behavior, or timeout semantics. An agent could incorrectly treat this as a simple synchronous text-checking call.
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 some semantic mapping by connecting 'strict', 'lemmatized', and 'additional' to the strict_words/strict_count, lemma_words/lemma_count, and add_words/add_count parameter families. Given the reported high schema description coverage, this meets the baseline, though the description does not explain how counts and words interact or when task_id/timeout parameters are relevant.
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 states a clear action and resource: 'Check strict, lemmatized, and additional keyword occurrences in text.' It names three specific modes, which helps distinguish it from generic text-analysis siblings, but it does not explicitly differentiate it from the closely related copywriter_brief tool, so it stops short of a 5.
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?
There is no guidance about when to use this tool instead of siblings like copywriter_brief, text_analyze, or lemma. The description also does not mention the two invocation modes visible in the schema: submitting text versus polling an existing task_id with timeout parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lemmaLemmatizerA
Lemmatize text and optionally build n-grams. Upstream API tool: lemma. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a useful behavioral warning: 'This operation may consume SEO Intellect account limits,' which is beyond what the annotations provide. It also identifies the upstream API dependency. It doesn't describe the async task workflow, but the schema already exposes timeout and task_id parameters.
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 brief and front-loaded with the core purpose. The account-limits warning is valuable. The sentence 'Upstream API tool: lemma' is somewhat redundant with the tool name and adds limited agent-facing value, preventing a top score.
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 the schema covering parameters well, the description does not explain the task-based workflow, how results are returned, or what a lemmatized output looks like. Since there is no output schema, an agent is left without enough context to confidently handle async behavior or interpret responses.
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 meaning by clarifying that 'ngrammes' refers to n-grams, which helps interpret that parameter. However, most parameter semantics, especially task_id and polling behavior, are already covered by the input schema, so the description adds only marginal value.
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 states the specific action 'Lemmatize text and optionally build n-grams,' making the tool's purpose immediately clear. This strongly differentiates it from the sibling tools, none of which are explicitly lemmatizers.
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 gives no guidance about when to choose this tool over alternatives or when not to use it. It does not mention any prerequisites or exclusions, so an agent must infer usage solely from the action name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_checkerBacklink checkerA
Check donor pages for links to acceptor URLs and optional indexation. Upstream API tool: linkchecker. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the annotations by warning that 'this operation may consume SEO Intellect account limits,' which is useful behavioral context for a non-read-only operation. It also names the upstream API tool. It does not contradict the annotations; readOnlyHint=false is consistent with a cost-consuming 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?
Three short sentences, each earning its place: purpose, upstream API provenance, and cost warning. It is front-loaded with the core operation and contains no filler or redundant restatement of the tool name.
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?
The description is adequate for identifying the core operation and cost side effect, and the schema is rich with parameter descriptions. However, the tool's two-mode schema (new request vs. continuing by task_id) and asynchronous behavior are not mentioned, and with no output schema the return semantics are left unspecified. These are clear gaps for a tool of this 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 100%, so the baseline is 3 even without parameter details in the description. The description does add conceptual mapping by mentioning 'donor pages' and 'acceptor URLs' and 'optional indexation,' but it does not explain the parameters beyond that. The schema carries the main burden here.
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 states a clear verb ('Check') and a specific resource ('donor pages for links to acceptor URLs') plus an optional secondary concern ('indexation'). It is distinct from sibling SEO tools, which focus on keywords, positions, or text, so an agent can identify what this tool does even before opening the schema.
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 first sentence gives a direct use case: checking donor pages for links to acceptor URLs and indexation. It does not name alternatives or exclusion criteria, but the context is clear enough that an agent can infer when to select this tool. The account-limit warning also adds practical usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lsiLSI wordsB
Collect LSI unigrams and bigrams from search results. Upstream API tool: lsi. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The warning that the operation 'may consume SEO Intellect account limits' is useful non-obvious behavior beyond the annotations. The description does not contradict annotations (readOnly=false, openWorld=true, idempotent=false, destructive=false), but it also does not disclose task-creation or polling behavior, which is left to the schema.
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 short sentences, front-loaded with the core purpose. The 'Upstream API tool: lsi' clause is somewhat redundant with the tool name, but the account-limit warning earns its place.
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 tool with a dual-mode schema (start a task vs continue waiting on task_id) and no output schema, the description is thin: it names the result concept but not the two calling modes or expected return shape. The rich schema partially compensates, so the description is adequate but not 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?
Schema description coverage is 100%, so the schema already explains parameters like timeout_ms, wait_for_result, and task_id. The description adds no parameter-level meaning; baseline 3 is appropriate.
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 uses a specific verb ('Collect') and states the exact deliverable ('LSI unigrams and bigrams') and source ('search results'), so an agent knows what the tool produces. It does not explicitly differentiate it from sibling tools like 'semantic' or 'lemma', but the output type is distinct enough.
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?
No guidance is given about when to choose this tool over siblings such as semantic, lemma, or keywords_checker, nor about which of the two schema variants (initial request vs task_id polling) to use. The only contextual hint is 'Upstream API tool: lsi,' which is not a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
overoptimization_filterOveroptimization filterB
Estimate possible Yandex text-filter or overoptimization risk. Upstream API tool: filter. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds one useful operational caveat: it may consume SEO Intellect account limits. It does not contradict the annotations, but it does not disclose return shape, failure behavior, or the async polling model beyond what the schema already embeds.
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 short and front-loaded; the first sentence states the core purpose. The 'Upstream API tool: filter' phrase is of marginal value but not bloated, and the account-limits warning is a useful, concise addition.
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 two-mode async tool with no output schema, this is thin: it never explains what the returned result looks like, that a task_id continuation mode exists, or how this tool relates to sibling risk tools. The schema covers parameters, but the description alone would not equip an agent to interpret the response or choose the correct entry mode.
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 100%, with task_id, wait_for_result, timeout_ms, and poll_interval_ms already documented in the schema. The description adds no parameter-level meaning, so the baseline 3 is appropriate.
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 opens with a specific verb ('Estimate') and a concrete object ('possible Yandex text-filter or overoptimization risk'), so an agent can infer this is a risk-assessment tool. It does not explicitly distinguish itself from siblings like sqi or text_analyze, so it stops short of a 5.
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 gives no criterion for when to use this tool instead of the many sibling tools, and it does not mention the two invocation modes (new request vs. task_id continuation). The only usage hint is the upstream API name 'filter', which is not actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_indexPage indexingB
Check whether URLs are indexed in Yandex and Google. Upstream API tool: pageindex. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds one useful behavioral trait beyond annotations: 'This operation may consume SEO Intellect account limits,' which warns about quota usage. However, it omits the asynchronous behavior visible in the schema, such as the ability to return a pending task_id on timeout and later poll for results, so the description is only partially transparent.
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 short and front-loaded with the primary purpose, followed by upstream provenance and a quota warning. Every sentence contributes useful information, though the omission of the async/task_id behavior makes it feel incomplete rather than efficiently comprehensive.
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?
The tool is moderately complex due to the anyOf schema supporting both new URL submissions and task_id polling, yet the description only covers the high-level check behavior. Without an output schema, an agent is left unaware that the operation may return a task_id instead of a final result, making the description insufficient for correct invocation.
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 input schema already provides descriptions for most parameters, including timeout_ms, wait_for_result, and poll_interval_ms, so the description does not need to repeat them. The description itself adds little parameter-level meaning beyond identifying URLs as the core input, which is sufficient given the schema coverage.
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 identifies the action ('Check whether URLs are indexed') and the resource (URLs) across two specific engines (Yandex and Google). It is specific enough to distinguish from most sibling SEO tools, though it does not explicitly contrast with nearby options like relevant_pages or keywords_checker.
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 provides no guidance on when to choose this tool over alternatives, nor does it state exclusions or prerequisites. The only added context is 'Upstream API tool: pageindex' and a quota warning, neither of which helps an agent decide between page_index and a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
positionsKeyword positionsB
Check a site's positions and optional Wordstat/SERP signals. Upstream API tool: positions. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does add one behavioral trait beyond the annotations: 'This operation may consume SEO Intellect account limits,' which is important given readOnlyHint=false. However, it does not disclose the asynchronous task behavior implied by task_id, wait_for_result, timeout_ms, and poll_interval_ms in the schema, so transparency is 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 short and front-loaded with the main capability. The second sentence, 'Upstream API tool: positions,' is essentially redundant with the tool name and does little work, but the overall description is compact.
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?
This is a complex tool with two request variants in the schema and no output schema, yet the description does not explain the create-vs-poll flow or what the response looks like. An agent would need to infer the task_id polling workflow solely from parameter names, which is a meaningful gap.
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 reported at 100%, so the schema carries the parameter documentation and the baseline is 3. The description only generically refers to 'optional Wordstat/SERP signals,' which adds no concrete meaning beyond the schema's ws_* parameter names.
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 opens with a concrete verb and object: 'Check a site's positions,' and adds that Wordstat/SERP signals are optional, so an agent understands the core function. It does not distinguish this tool from sibling positions_multi or keywords_checker, which keeps it just shy of a 5.
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?
There is no explicit statement of when to prefer positions over the many sibling keyword/position tools, and no exclusion criteria. The phrase 'optional Wordstat/SERP signals' implies a use case, but the description gives no guidance about positions_multi or polling variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
positions_multiMulti-domain positionsA
Check keyword positions for several sites or pages. Upstream API tool: positions-multi. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are sparse, so the description's warning that the operation 'may consume SEO Intellect account limits' adds a genuinely useful operational consequence. It does not mention the async task/polling flow, but the schema's timeout_ms, wait_for_result, and task_id descriptions already reveal that behavior.
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?
Three short sentences with the purpose front-loaded. The 'Upstream API tool: positions-multi' sentence is near-redundant with the tool name, but the cost warning is valuable and there is no filler.
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?
The schema is rich enough to convey the two call modes (create vs. continue by task_id) and polling controls, but the description alone does not summarize that workflow or describe a successful response, and there is no output schema. Still, the expected result (keyword positions) is fairly obvious from the name and first sentence.
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 context signal reports 100% schema description coverage, so the schema is the primary parameter source; the description adds only the high-level 'several sites or pages' notion that maps to moreurls/keywords. That is enough for a baseline 3 but no richer semantic guidance.
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 names a concrete action ('Check keyword positions') and a scope ('several sites or pages'), and the title 'Multi-domain positions' reinforces it. This makes it easy to distinguish from the sibling 'positions' tool, which is presumably single-domain.
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 scope phrase implies this is for multi-site/multi-page position checks, but it never explicitly says when to prefer this tool over the sibling positions tool or any alternative. No exclusions or conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
relevant_pagesRelevant pagesB
Find the most relevant site page for each keyword. Upstream API tool: relevant. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false and idempotentHint=false, so the description's warning that the operation 'may consume SEO Intellect account limits' adds useful behavioral context. However, the description does not disclose the task-based async behavior, such as returning a task_id, which is only visible in the schema. It adds some value but leaves the async/polling behavior to inference from schema descriptions.
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 three short sentences with no filler. The main action is stated first, and the account-limit warning is a useful addition. The middle sentence about the upstream API tool is somewhat incidental but not harmful; overall, the description is concise and 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?
The schema explains the two invocation modes (start a task with keywords/url/se/region, or continue waiting with task_id) and has parameter descriptions for timeout and polling. Because there is no output schema, the description does not need to explain return values. Still, the description omits usage guidance, limits, and any mention of the async task workflow, leaving the agent to infer context from schema structure alone.
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 provides detailed descriptions for key parameters such as timeout_ms, wait_for_result, poll_interval_ms, and task_id, so the description does not need to repeat them. The description adds no parameter-specific meaning, but the input schema already carries high-coverage parameter documentation. The presence of well-documented polling and task-id parameters supports a solid baseline.
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 states a specific verb and resource: 'Find the most relevant site page for each keyword.' This clearly identifies what the tool does and distinguishes it from sibling tools focused on positions, competitors, or page analysis. It does not explicitly name a sibling for comparison, but the core purpose is 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 provides no guidance on when to use this tool versus alternatives such as positions, top_10, or site_scanner. It does not mention use cases, exclusions, or prerequisite conditions. The only context is a mention of the upstream API and account limit consumption, which does not help decide when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
semanticCompetitor semanticsB
Analyze a domain's visible keyword semantics. Upstream API tool: semantic. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds one useful behavioral detail: the operation may consume SEO Intellect account limits, and it names the upstream API. However, it does not disclose async/task behavior, quota specifics, or what side effects occur beyond the annotation's readOnlyHint=false.
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 and front-loaded with the core purpose. The account-limits warning is valuable, though 'Upstream API tool: semantic' adds only marginal information beyond the tool name itself.
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 tool with an async task/poll pattern and no output schema, the description is too sparse: it never mentions that a task_id can be submitted, that results may arrive asynchronously, or what a successful response looks like. The schema carries most of the burden, leaving the agent without enough standalone 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?
The schema already documents the key parameters such as timeout_ms, wait_for_result, poll_interval_ms, and task_id, with 100% schema description coverage reported. The description adds no parameter-level meaning, so the baseline score applies; the two invocation modes are only discoverable from 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 states a specific operation ('Analyze a domain's visible keyword semantics') with a clear resource, and the title 'Competitor semantics' reinforces intent. It does not explicitly distinguish this from sibling tools like lsi or wordstat, so it falls just short of a perfect score.
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?
There is no explicit guidance on when to use this tool versus alternatives, and no sibling tools are named. The phrase 'domain's visible keyword semantics' implies a use case, but it does not clarify when to choose this over similar analysis tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seo_textSEO text analysisB
Measure competitor text sizes and collect page text from the SERP. Upstream API tool: seo-text. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral context beyond the annotations by warning that the operation may consume SEO Intellect account limits and by identifying the upstream API. It does not describe the task lifecycle, whether results are returned synchronously or via task_id, or any other side effects, so the coverage is only partial.
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 two short sentences with the core purpose front-loaded. The upstream API note and account-limit warning are useful operational context and do not add unnecessary bulk.
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?
The schema is complex, with an anyOf that supports both starting a task and polling an existing task, and there is no output schema. The description does not explain how results are returned, when an agent should use the task_id variant, or what the typical response shape is, leaving important invocation context 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?
The input schema already has descriptive coverage for all parameters, including wait_for_result, timeout_ms, poll_interval_ms, and task_id. The tool description adds no parameter-level meaning, so the baseline 3 applies.
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 action ('Measure') and the resource ('competitor text sizes') and identifies the SERP as the data source, so an agent can infer the core function. It does not explicitly differentiate this from sibling tools like text_analyze or competitors, but the function is concrete enough to be recognizable.
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?
There is no guidance on when to choose this tool over its siblings, and no alternative tools are named. The only operational note is that it may consume account limits, which is a caution rather than a usage criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_ageSite or page ageB
Find the first known indexing date for URLs. Upstream API tool: site-age. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly warns that the operation 'may consume SEO Intellect account limits,' which is a valuable behavioral caveat beyond what annotations state. It also identifies the upstream API tool, though it does not describe other side effects; the annotations already indicate no destructive behavior.
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?
Three short sentences with the core purpose front-loaded and the account-limit warning placed last. The 'Upstream API tool: site-age' sentence is mildly useful provenance but not essential; otherwise every sentence earns its place.
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?
The description does not explain the async/task_id flow or the shape of the returned indexing date, relying on rich schema descriptions for parameters. With no output schema, a bit more detail about result semantics would make it complete, but the main behavior is clear.
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 tool description adds no parameter-specific semantics, but the schema descriptions cover 100% of the properties, including timeout, wait_for_result, poll_interval_ms, and task_id. Baseline 3 is appropriate because the schema carries the parameter documentation burden.
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 names a specific action and resource: 'Find the first known indexing date for URLs.' This is clear and distinguishes the tool's core purpose from many siblings, though it does not explicitly contrast it with tools like page_index or positions.
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 provides no explicit guidance on when to use this tool versus alternatives, and no when-not-to-use conditions. The only implied usage is 'use it to find a URL's first indexing date.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_scannerSite scannerA
Crawl a website and return technical SEO findings. Upstream API tool: site-scanner. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the operation is not read-only and not destructive. The description goes beyond this by warning that it 'may consume SEO Intellect account limits,' which is valuable quota/rate-limit context. It does not contradict any annotation, though it could further explain async or background behavior.
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 two sentences with no filler. The primary purpose is front-loaded, and the second sentence adds the critical account-limits caveat. Every part earns its place.
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?
The tool has a fairly complex anyOf schema supporting both new crawl and polling an existing task, and there is no output schema. The description only vaguely states 'technical SEO findings' without explaining the async/task_id flow or the shape of results. The schema covers parameter mechanics, but the description leaves output and workflow details implicit.
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 no parameter-specific meaning, but the schema already provides rich descriptions for key parameters like timeout_ms, wait_for_result, poll_interval_ms, and task_id. With schema description coverage indicated at 100%, the baseline of 3 applies and the description does not need to compensate.
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 states a specific action and resource: 'Crawl a website and return technical SEO findings.' This clearly distinguishes the tool from sibling tools like site_age or wordstat, which target different, narrower functions. The mention of 'technical SEO findings' gives a concrete outcome.
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 implies when to use the tool—when a site-wide technical SEO audit is needed—but it does not explicitly name alternatives or exclusion conditions. The account-limits warning hints at cost-conscious use but stops short of providing direct guidance on when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sqiYandex SQIC
Fetch Yandex site quality index and related public site signals. Upstream API tool: sqi. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a useful behavioral warning about consuming SEO Intellect account limits, which goes beyond the annotations. However, it does not disclose the task-based asynchronous behavior implied by parameters like task_id, wait_for_result, and timeout_ms, so the behavioral picture remains 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 short and front-loaded, but the clause 'Upstream API tool: sqi' is redundant and does not earn its place. The cost warning adds value, but overall the phrasing includes an unnecessary self-reference.
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?
With no output schema and a non-trivial anyOf schema supporting both new-task and task-resume flows, the description should explain the async/polling behavior or expected result shape. It only gives a high-level fetch description, leaving an agent without enough context to anticipate the task_id and wait_for_result workflow from prose alone.
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 no parameter-level meaning; all parameter semantics are carried by the schema's anyOf branches, which describe urls, timeout_ms, wait_for_result, task_id, and poll_interval_ms with full coverage. The schema already provides what an agent needs, so this is adequate but not enhanced.
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 identifies the resource ('Yandex site quality index') and the action ('Fetch'), with a useful extension to 'related public site signals.' It does not explicitly compare against siblings, but the named resource is distinctive enough among the listed SEO 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?
No guidance is given about when to choose this tool over alternatives, nor are exclusions or prerequisites stated. The only usage-oriented detail is the account-limits warning, which is a cost caveat rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggestSearch suggestionsB
Collect Yandex or Google search suggestions. Upstream API tool: suggest. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a useful behavioral note: 'This operation may consume SEO Intellect account limits.' This goes beyond the annotations, which only say readOnlyHint=false and destructiveHint=false. However, it omits the dual request-mode behavior (new task vs. polling by task_id) and the asynchronous timeout semantics, which are significant behavioral traits.
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 and front-loaded with the main purpose. The phrase 'Upstream API tool: suggest' adds little value and is somewhat redundant, but the overall length is appropriate and easy to parse.
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?
This is a relatively complex tool with two anyOf input modes, many parameters, and no output schema. The description does not mention the task_id polling flow, return semantics, or the meaning of several suggest_* parameters. The schema carries some weight, but the description is not complete enough for reliable selection and invocation.
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 reported as 100%, so the baseline is 3 even though the tool description adds little parameter-level detail. The description does not explain opaque parameters like suggest_cyr, suggest_lat, or stoplist, but the schema is credited with carrying that burden.
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 states a specific verb and resource: 'Collect Yandex or Google search suggestions.' This is clear and matches the title. It does not explicitly contrast with sibling tools like wordstat or lsi, but the focus on search suggestions is reasonably 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?
No guidance is given about when to use this tool versus sibling alternatives such as wordstat, lsi, or relevant_pages. The account-limit warning is a caution, not a usage condition, and there are no exclusions or workflow hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_analyzeText analyzerC
Analyze text or competitor pages against a keyword set. Upstream API tool: text-analyze. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a useful behavioral warning not present in annotations: the operation may consume SEO Intellect account limits. However, it does not disclose the asynchronous task/polling behavior or the two invocation modes (new task vs task_id continuation), leaving the agent to infer these from the schema.
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 only two sentences, front-loads the purpose, and contains no filler. The 'Upstream API tool' line adds provenance but little selection value, so it is slightly less useful than fully purposeful copy.
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?
The schema is complex—anyOf with two modes, async control parameters, and no output schema—yet the description explains only the top-level purpose and a cost warning. It doesn't describe how to start a new task versus continue waiting on a task_id, what the parameters mean, or what a successful result looks like, so an agent lacks enough context for confident invocation.
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 gives high-level meaning for the core inputs—text and competitor pages are analyzed against a keyword set—but it does not explain mode, variant, task_variant, url, or the task_id continuation path. Since the schema itself lacks descriptions for most of these fields, the description does not adequately compensate.
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 opens with a specific verb ('Analyze') and identifies the resource: text or competitor pages are analyzed against a keyword set. This conveys the core function and distinguishes it from unrelated siblings like 'positions' or 'top_10', though it does not explicitly name a competing sibling.
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?
There is no guidance on when to use this tool versus sibling tools such as 'semantic' or 'competitors'. The cost warning implies agents should be cautious, but it does not state alternatives, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_10Search TOP resultsB
Export search results for the supplied keywords. Upstream API tool: top-10. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the useful behavioral warning that the operation may consume SEO Intellect account limits, which is not present in annotations. However, it does not disclose the asynchronous task_id/wait_for_result behavior, polling, or timeout semantics, which are significant for a non-read-only 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 short and front-loaded with the main purpose. The 'Upstream API tool: top-10' sentence adds some technical context but is somewhat redundant with the tool name; overall it remains concise and readable.
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?
The tool has a complex schema with two invocation modes, async behavior, polling, and timeout parameters, but no output schema. The description does not explain the task_id continuation flow, when to wait vs. poll, or what the result shape looks like, leaving important operational context 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?
Schema coverage is high and several parameters already have descriptions. The description only adds that keywords are supplied, which is minimal extra meaning beyond the schema. It does not explain the two invocation branches (new task vs. existing task_id) or parameters like se, region, and depth.
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 action ('Export search results') and the core input ('supplied keywords'). The title 'Search TOP results' and tool name 'top_10' clarify that this targets top search results, though the description does not explicitly distinguish it from sibling search-related 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?
No guidance is provided about when to choose this tool over siblings like positions, relevant_pages, or suggest. The only additional operational note is that it may consume account limits, but there is no when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wordstatYandex WordstatB
Collect supported Wordstat frequencies for keywords. Upstream API tool: wordstat. This operation may consume SEO Intellect account limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as non-read-only and non-idempotent; the description adds a useful operational warning that it may consume SEO Intellect account limits. It does not disclose the asynchronous task/polling behavior implied by wait_for_result and task_id.
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 short sentences with the key action first and a relevant operational warning second. There is no filler or repetition of schema details.
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?
The schemas reveal two invocation modes (keywords+region and task_id continuation) and async polling options, but the description only covers the keyword-fetching mode. With no output schema, an agent is left without guidance on what the result looks like or how the task lifecycle works.
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 reported as high, so the baseline applies. The description names keywords as the input and frequencies as the output, but adds no semantics for region, device, variant, or the ws_* flags beyond what the schema already provides.
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 names a clear action ('Collect ... frequencies') and a resource ('Wordstat frequencies for keywords'), which distinguishes it from unrelated SEO tools at a high level. It does not explicitly differentiate from siblings like suggest or lsi, but the verb+resource pairing is specific enough.
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?
No guidance is given about when to use this tool versus sibling tools, nor any exclusions or alternative routing. The only operational hint is the account-limits warning, which is a constraint, not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools target clearly distinct SEO functions, such as positions vs positions_multi or text_analyze vs keywords_checker. A few pairs are closely related (positions/positions_multi, lsi/suggest) but descriptions are specific enough to guide selection.
All names are snake_case and descriptive, with consistent patterns such as noun_noun (link_check_er, site_scanner) or noun_verb (text_analyze). There are some single-word names (lsi, sqi, lemma) and noun-only names, but no mixing of camelCase or chaotic conventions.
22 tools is above the ideal 3-15 range, but each tool maps to a distinct SEO capability and earns its place in a comprehensive SEO suite. The count feels slightly heavy but not bloated or redundant.
The tool set covers the major SEO workflows: keyword research, SERP analysis, position tracking, content optimization, technical crawling, indexing checks, and link checking. No critical dead-ends are apparent for the stated domain.
Maintenance
Related MCP Connectors
SEO Intelligence MCP — 13 tools: keyword research, SERP, domain audits, competitors.
5 pay-per-call SEO tools over MCP. Free discovery, tool calls settle in USDC on Base via x402.
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides SEO automation with tools for keyword research, SERP analysis, and competitor analysis through Google Ads API integration, enabling AI assistants to access these capabilities via MCP.51
- AlicenseBqualityFmaintenanceEnables integration with Ahrefs SEO tools and services through MCP protocol. Provides automated exception handling, comprehensive logging, and parallel processing capabilities for SEO data analysis and operations.6MIT
- FlicenseAqualityDmaintenanceExposes the OctoBoost SEO API as MCP tools so agents can audit websites with compact, structured results instead of fetching and parsing raw HTML.476
- FlicenseBqualityCmaintenanceEnables SEO analysis and data retrieval through DataForSEO API, including keyword research, backlinks, competitor analysis, and on-page audits.24
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arseniigruzdev/engine-seointellect-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server