scanbase-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SCANBASE_API_KEY | Yes | Your `sb_live_…` key (required). | |
| SCANBASE_API_BASE | No | API base URL. Default `https://scanbase.ru/wp-json/scanbase-api/v1`. | https://scanbase.ru/wp-json/scanbase-api/v1 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| scan_siteA | Scan a LIVE website for compliance with the Russian personal data law 152-FZ and related laws (ads 38-FZ, recommender systems 408-FZ, education 273-FZ, medicine 323-FZ). Use when the user is launching/reviewing a site for the Russian market or asks about 152-ФЗ, персональные данные, privacy, cookies, согласие, Роскомнадзор. Returns a 0–100 compliance score, violations with potential fines (rubles), machine-actionable fix instructions to apply as code changes, and document/cookie/tracker analysis. The site must be publicly reachable (not localhost). After applying fixes, call scan_site again to verify. // Проверка живого сайта на 152-ФЗ: балл, нарушения со штрафами, инструкции «как исправить» для правок кода. |
| get_scanA | Retrieve a previously saved ScanBase scan result by its scan_id (uuid from scan_site or list_scans). Use to re-read findings without spending a new scan. Only scans of this account; gated by the key's current tier. // Сохранённый результат скана по scan_id — перечитать находки, не тратя новый скан. |
| list_scansB | List this account's ScanBase scan history (last ≤100): scan_id, url, domain, score, violations count, date. Use to find a past scan_id, compare scores over time, or check scans across multiple projects. // История сканов аккаунта: найти прошлый scan_id, сравнить динамику балла. |
| list_checksA | List all compliance checks ScanBase performs (currently ~45): id, name, category, law article, max fine in rubles. Call this BEFORE writing site code for the Russian market to build it compliant from the start, or to explain to the user what will be verified. Requires no scan and spends no quota. // Справочник всех проверок (статья закона, штраф) — чтобы строить сайт сразу правильно, не тратя скан. |
| accountA | ScanBase account status for the configured API key: tier (free/package/subscription), remaining scan quota and reset time. Call before large scan batches or when a scan fails with a quota error. // Статус аккаунта: тариф и остаток квоты сканов. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: list_scans (history), get_scan (retrieve one scan by id), scan_site (perform a scan), list_checks (reference catalog), and account (quota/tier status). The potential overlap between list_scans and get_scan is well resolved by descriptions (list returns ids/summaries, get returns full saved findings).
Four of five tools follow a consistent verb_noun snake_case pattern (list_scans, list_checks, scan_site, get_scan). The lone outlier is 'account', a bare noun that breaks the verb_noun convention, but readability remains high.
Five tools is a tight, well-scoped set for a single-purpose compliance scanning service with no redundant tools. It is on the lean side, but every tool earns its place and none feels bloated.
Core lifecycle is covered: perform a scan, retrieve it, list history, see available checks, and check quota. Minor gaps exist (no delete/cleanup of stored scans, no explicit compare-scans or batch-scan operation), but agents can work around these via list_scans plus get_scan.