Shared core for schema-driven MCP servers over Russian business APIs: catalog, safety gating, HTTP client, credential store
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"schema-mcp-core","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# schema-mcp-core Основа для MCP-серверов над российскими деловыми API. Сам по себе ничего не подключает: сервер приносит каталог методов (`endpoints.yaml`) и тонкий `server.py`, всё остальное берёт отсюда. Так устроены [hh-mcp-ru](https://github.com/ilyautov/hh-mcp-ru), [diadoc-mcp-ru](https://github.com/ilyautov/diadoc-mcp-ru), [sbis-mcp-ru](https://github.com/ilyautov/sbis-mcp-ru), [chestny-znak-mcp-ru](https://github.com/ilyautov/chestny-znak-mcp-ru) и [vk-mcp-ru](https://github.com/ilyautov/vk-mcp-ru). ## Что внутри | модуль | зачем | |---|---| | `registry` | каталог методов из YAML: поиск словами, описание, пагинация | | `safety` | класс доступа read / write / destructive | | `client` | асинхронный HTTP: авторизация, повтор на 429, пагинация, белый список доменов | | `credentials` | ключи на несколько кабинетов, файл вне репозитория с правами 600 | | `tools` | готовый набор инструментов MCP: поиск, описание, вызов, кабинеты | | `doctor` | отчёт «взлетит ли эта установка», список сервисов задаёт вызывающий | | `paginate` | выкачать все страницы одним вызовом, только для чтения | | `entities`, `workflows` | карта сущностей и готовые сценарии, если сервер их приносит | ## Зачем отдельный пакет Ядро это 2 200 строк, а сервер поверх него 66. Пять серверов, живущих отдельными репозиториями, иначе несли бы пять копий одного кода, и правка безопасности в одном месте оставляла бы четыре непочиненных. ## Минимальный сервер ```python from mcp.server.fastmcp import FastMCP from schema_mcp_core.client import MarketplaceClient, ServiceConfig from schema_mcp_core.registry import Catalog from schema_mcp_core.tools import register_generic_tools catalog = Catalog.from_yaml(Path(__file__).parent / "endpoints.yaml") config = ServiceConfig(service="hh", base_url="https://api.hh.ru", ...) mcp = FastMCP("hh-mcp-ru") register_generic_tools(mcp, prefix="hh", catalog=catalog, client_factory=...) ``` Живой пример с авторизацией и кабинетами лежит в любом из пяти серверов выше…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.