Skip to main content
Glama
abukreev-dev

keyso-mcp

by abukreev-dev

keyso_get_tools_site_themes

Discover a website's main themes using keyword frequency and position data. Identify competitor focus areas and SEO opportunities from Keys.so site analysis.

Instructions

Главные темы сайта Method: GET Path: /tools/site-themes Пример запроса https://api.keys.so/tools/site-themes?base=msk&site=keys.so&minWs=0&maxWs=999999999&minPos=1&maxPos=50&qbyUrl=1&words=1&like=%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D1%8B&notLike=%D1%82%D0%B5%D0%BC%D0%B0&sort=wsk%7Cdesc&page=1&per_page=25

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
baseNoin: query
likeNoin: query | Похож
pageNoin: query | Порядковый номер страницы результатов
siteYesin: query
sortNoin: query | Сортировка данных по полям.<br><br>Формат: `field|direction`, где<br><br>`field` - имя колонки<br>`direction` - направление сортировки, asc - по возрастанию, desc - по убыванию<br><br>Например: `pos|asc`, либо по двум полям `pos|asc,wsk|desc`
maxWsNoin: query | Частотность не более
minWsNoin: query | Частотность не менее
tokenNoAPI token override (fallback: KEYSO_TOKEN env)
wordsNoin: query | Частотность не более
filterNoin: query | Подробнее про фильтрацию смотрите в разделе [Фильтрация данных](#tag/Filtraciya-dannyh)
maxPosNoin: query | Позиция до
maxWskNoin: query | [!Частотность] не более
minPosNoin: query | Позиция от
minWskNoin: query | [!Частотность] не менее
qbyUrlNoin: query | Запросов с одной страницы
notLikeNoin: query | Не похож
base_urlNoOverride API base URL
per_pageNoin: query | Количество результатов на одной странице

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, but it only reveals that this is a GET request with a sample query. It does not mention response format, required auth, default pagination, error behavior, or what constitutes a 'theme'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, but the single long unbroken example URL is hard to scan and the opening phrase contributes no verb or actionable guidance. It is compact but not optimally structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 18 parameters, no output schema, and no annotations, the description is not complete: it does not explain the returned data, pagination behavior, or even the meaning of 'site themes.' The sample request is the only practical context, which is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all 18 parameters. The example URL adds concrete values and shows parameter combinations, but the description itself adds no semantic meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description consists of the noun phrase 'Главные темы сайта' plus Method and Path, which essentially restates what the tool name already conveys. It identifies the resource (site themes) but lacks a verb such as 'returns' or 'lists' and does not set it apart from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to prefer this endpoint over the many sibling tools (dictionary, keywords, concurents, check_top, etc.). The example request shows how to fill query parameters but never states conditions or use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools