roistat-mcp
This server provides Roistat marketing analytics tools to query traffic, leads, revenue, costs, and integrations.
get_analytics: Fetch aggregate metrics (visits, leads, revenue, ROI) by dimensions like source for a date range.
get_visits: Retrieve detailed visit lists with source and UTM parameters, supporting pagination and source filtering.
get_leads: Get lead (request) lists filtered by status, with pagination.
get_channels: Compare advertising channel performance (visits, leads, revenue, cost, ROI).
get_costs: Get advertising costs grouped by day, week, or month.
get_integrations: List connected integrations (CRM, analytics, ad accounts).
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., "@roistat-mcpWhat were the top channels by ROI last month?"
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.
🗄 Репозиторий заархивирован
Разработка переехала в theYahia/WWmcp — монорепозиторий MCP-серверов для незападных API: СНГ, MENA, Африка, LATAM, Юго-Восточная Азия. Общее ядро
@theyahia/mcp-core, единый CI, единый релизный конвейер.Актуальная версия того, что лежало здесь:
servers/roistat/Пакет в npm прежний —
@theyahia/roistat-mcp, ставится и работает как раньше. Здесь больше ничего не обновляется. Задачи и pull request'ы — в WWmcp.Archived — development moved to theYahia/WWmcp, a monorepo of MCP servers for non-Western APIs. The current version of this package now lives at
servers/roistat/. The npm package@theyahia/roistat-mcpis unchanged. Please open issues and pull requests there.
Roistat MCP — сквозная аналитика и стоимость лида в диалоге с нейросетью
Если вы искали, как спросить у ИИ, сколько стоит лид с каждого канала, свести расходы на рекламу с продажами или выгрузить лиды Roistat без ручных отчётов — это оно. 6 инструментов поверх API Roistat: лиды, рекламные каналы, затраты, аналитика и интеграции. Требуется API-ключ и ID проекта.
Related MCP server: calltouch-mcp
Установка
Claude Desktop
{
"mcpServers": {
"roistat": {
"command": "npx",
"args": ["-y", "@theyahia/roistat-mcp"],
"env": {
"ROISTAT_API_KEY": "ваш_ключ",
"ROISTAT_PROJECT_ID": "ваш_id_проекта"
}
}
}
}Claude Code
claude mcp add roistat \
-e ROISTAT_API_KEY=ваш_ключ \
-e ROISTAT_PROJECT_ID=ваш_id_проекта \
-- npx -y @theyahia/roistat-mcpStreamable HTTP
npx @theyahia/roistat-mcp --http --port 3000
# POST /mcp — MCP endpoint
# GET /health — health checkSmithery
Конфиг в smithery.yaml. Требуемые параметры: ROISTAT_API_KEY, ROISTAT_PROJECT_ID.
Авторизация
Переменная | Обязательна | Описание |
| Да | API-ключ проекта Roistat |
| Да | ID проекта в Roistat |
Base URL: https://cloud.roistat.com/api/v1/
Инструменты (6)
Инструмент | Описание |
| Аналитика: визиты, заявки, выручка, ROI по источникам |
| Список визитов с источниками и UTM-метками |
| Лиды (заявки) с фильтрацией по статусам |
| Эффективность рекламных каналов: ROI, CPL, выручка |
| Затраты на рекламу с группировкой по периодам |
| Список подключённых интеграций (CRM, аналитика) |
Скиллы (Prompts)
Скилл | Описание |
| Аналитика за период — сводка по ключевым метрикам с топ-3 источниками |
| Эффективность рекламных каналов — сравнение ROI, рекомендации по бюджету |
Примеры запросов
Какой ROI у рекламных каналов за последний месяц?
Покажи визиты за сегодня
Сколько лидов пришло за неделю?
Какие интеграции подключены?
Сравни затраты по каналам за мартРеферальная программа Roistat
Тип | Комиссия |
Юридические лица | 25% от оплат клиента |
ИП | 50% от оплат клиента |
Подробнее: roistat.com/referral
Разработка
npm install
npm test # Vitest
npm run dev # stdio (tsx)
npm run start:http # HTTP-серверЛицензия
MIT
Telegram: @vhodvai
Available Tools
6 toolsget_analyticsC
Получение аналитики Roistat по источникам трафика за период. Метрики: визиты, заявки, выручка, ROI.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Дата конца периода (YYYY-MM-DD) | |
| from | Yes | Дата начала периода (YYYY-MM-DD) | |
| limit | No | Максимум строк в ответе | |
| metrics | No | Метрики: visitCount, leadCount, orderCount, revenue, visits2leads, visits2orders и т.д. | |
| dimensions | No | Группировки: marker (источник), landing_page, region, keyword и т.д. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the purpose and metrics but does not indicate whether it is read-only, requires authentication, has rate limits, or pagination behavior. The lack of such details makes behavioral transparency low.
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 (one sentence plus a list) and front-loaded. However, the list of metrics repeats information already in the schema. It is concise but lacks structured presentation like bullet points, which would improve scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description is incomplete. It does not cover output format, pagination behavior, error handling, or authentication requirements. For a data retrieval tool, these are significant gaps.
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. The description adds a human-readable list of metrics in Russian, which provides some additional context beyond the schema but does not explain parameter usage or format beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Roistat analytics by traffic sources for a given period, listing specific metrics. It is a specific verb+resource combination, and while it does not explicitly differentiate from siblings, the metrics list implies it is aggregate analytics rather than raw data like get_visits or get_leads.
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 like get_visits or get_channels. There is no mention of prerequisites, context, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_channelsB
Эффективность рекламных каналов: визиты, заявки, выручка, затраты, ROI по каждому каналу.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Дата конца периода (YYYY-MM-DD) | |
| from | Yes | Дата начала периода (YYYY-MM-DD) | |
| metrics | No | Метрики: visitCount, leadCount, revenue, cost, roi |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully communicate behavioral traits. It lists the metrics returned but does not indicate whether the tool is read-only, requires authentication, or has any side effects. It adds minimal information beyond what the parameter names imply.
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 a single, focused sentence. It is concise and front-loads the key purpose. However, it is somewhat terse and lacks structural elements like bullet points or explicit sections.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description should provide more context about the returned data structure and behavior. While it lists the metrics, it does not explain the format or any constraints. The tool has 3 parameters with full schema coverage, so completeness is adequate but not thorough.
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 covers all three parameters with descriptions (100% coverage). The description does not add new parameter semantics but lists the metrics, which are also described in the 'metrics' parameter's default values. 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 clearly states the tool's function: providing effectiveness metrics (visits, leads, revenue, costs, ROI) for advertising channels. The verb 'get' is implied by the name, and it distinguishes from sibling tools like get_visits (likely only visits) and get_analytics (more general).
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 explicit guidance on when to use this tool versus siblings. The description does not mention alternatives or specific conditions, leaving the agent to infer usage without support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_costsB
Затраты на рекламу по каналам с группировкой по дням/неделям/месяцам.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Дата конца периода (YYYY-MM-DD) | |
| from | Yes | Дата начала периода (YYYY-MM-DD) | |
| group_by | No | Группировка: day, week, month | day |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states the basic purpose (costs by channels grouped by time) but omits behavioral traits such as whether data is real-time, auth requirements, rate limits, or if any mutation occurs.
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?
Single sentence in Russian, concise and front-loaded. Every word is necessary but could be expanded to include output format or filtering options.
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?
No output schema exists, yet the description does not explain what the returned data looks like (e.g., list per channel, aggregated totals). With 3 parameters and no output schema, more detail is needed for completeness.
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 covers 100% of parameters with descriptions. The tool description adds no additional meaning beyond what the schema already provides, so baseline score of 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?
Description clearly states it returns advertising costs by channels, grouped by days/weeks/months. This distinguishes it from sibling tools like get_analytics, get_visits, get_leads which address different metrics.
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 explicit guidance on when to use this tool vs alternatives. The description implies it is for advertising costs but does not specify when not to use it or mention any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_integrationsB
Список подключённых интеграций проекта Roistat (CRM, аналитика, рекламные кабинеты).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the full burden of behavioral disclosure. It only states the tool returns a list, without mentioning read-only nature, authentication needs, rate limits, or response format. This is insufficient for a tool with no 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 a single, efficient sentence with no wasted words. It is front-loaded with the key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the simple functionality of listing integrations with no parameters. It could mention return format or pagination, but it is complete enough for a zero-parameter tool.
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 has zero parameters and schema coverage is 100%. Baseline is 3. The description adds minimal meaning beyond the schema by specifying what is listed (integrations), but no parameter details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a list of connected integrations for a Roistat project, specifying categories (CRM, analytics, advertising). The verb 'list' and resource 'integrations' are specific, and the tool is well-distinguished from sibling tools like get_analytics or get_visits.
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. It does not mention prerequisites or context for the integrations data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_leadsA
Получение списка лидов (заявок) из Roistat за период с фильтрацией по статусам.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Дата конца периода (YYYY-MM-DD) | |
| from | Yes | Дата начала периода (YYYY-MM-DD) | |
| limit | No | Максимум лидов в ответе | |
| offset | No | Смещение для пагинации | |
| statuses | No | Фильтр по статусам заявок |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description covers basic retrieval and filtering but omits details on pagination, rate limits, or handling of empty results, leaving behavioral gaps.
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?
Single sentence that is efficient, front-loaded with key information, containing no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple list tool, but missing details on pagination (limit/offset), response format, and error scenarios given the absence of output schema and annotations.
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 100% with parameter descriptions; the description only summarizes filtering without adding new semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a list of leads from Roistat with period and status filtering, distinguishing it from sibling tools that handle analytics, visits, channels, costs, and integrations.
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?
Implies usage for fetching leads with filters, but lacks explicit guidance on when to use this tool versus alternatives, nor does it specify when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_visitsA
Список визитов на сайт из Roistat за период с источниками и UTM-метками.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Дата конца периода (YYYY-MM-DD) | |
| from | Yes | Дата начала периода (YYYY-MM-DD) | |
| limit | No | Максимум визитов в ответе | |
| offset | No | Смещение для пагинации | |
| source | No | Фильтр по источнику трафика |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states it's a list of visits, but does not mention read-only nature, authentication needs, rate limits, or error handling. This is insufficient for a mutation-free tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core purpose. Every word adds value, with no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description mentions output includes sources and UTM labels, providing some context. However, with no output schema, it lacks details on output structure, pagination behavior, or error handling, making it minimally 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?
The input schema has 100% description coverage, so the baseline is 3. The tool description adds that the list includes sources and UTM labels, but this does not significantly enhance parameter semantics 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 clearly states it returns a list of visits with sources and UTM labels. Sibling tools (get_analytics, get_leads, etc.) cover different data, so the tool's purpose is distinct and well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the tool is for visit data for a period with source/UTM info, implying usage context. Sibling tools cover other data types, so usage is clear, but no explicit when-not-to-use or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.1.0- First observed
get_analytics - First observed
get_channels - First observed
get_costs - First observed
get_integrations - First observed
get_leads - First observed
get_visits
TDQS
Each tool targets a distinct data type: analytics summary, visits, leads, channels, costs, and integrations. No overlap in purpose.
All tools follow the consistent pattern of 'get_' + noun (e.g., get_analytics, get_visits). No deviations.
6 tools is well-scoped for a marketing analytics server, covering core reporting needs without excess.
Covers all major read operations for Roistat data (analytics, visits, leads, channels, costs, integrations). Lacks write operations but that aligns with typical analytics use cases.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Marketing intelligence MCP server providing campaign performance data and analytics tools.
Hosted MCP server for Google Ads and LinkedIn Ads analysis.
Marketing-measurement MCP: dashboards, cross-channel queries, integrations, and knowledge files.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server for integrating with Roistat marketing analytics platform, enabling AI agents to analyze statistics, manage leads, track calls and channels.-
- AlicenseBqualityFmaintenanceMCP server for Calltouch API to retrieve calls, leads, sources, tags, and statistics, enabling call tracking and analysis.752MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Yandex Direct, Metrika, Wordstat, and Webmaster APIs, providing 132 tools to manage advertising campaigns, analytics, keyword research, and reporting through any MCP-compatible client.59MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for RedTrack affiliate tracking API, enabling querying campaigns, clicks, conversions, and reports from any MCP-compatible client.451MIT
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/theYahia/roistat-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server