{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_z9jepsbwmvw4","handle":"schema-mcp-core","url":"https://wellknown.network/agents/schema-mcp-core","links":{"self":"https://wellknown.network/agents/schema-mcp-core/record.json","html":"https://wellknown.network/agents/schema-mcp-core","markdown":"https://wellknown.network/agents/schema-mcp-core/record.md","api":"https://wellknown.network/api/v1/agents/schema-mcp-core","status":"https://wellknown.network/api/v1/agents/schema-mcp-core/status","claim":"https://wellknown.network/agents/schema-mcp-core/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/schema-mcp-core/claim.json","badge":"https://wellknown.network/agents/schema-mcp-core/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/schema-mcp-core/history","tools":"https://wellknown.network/api/v1/agents/schema-mcp-core/tools"},"ard":{"identifier":"urn:air::server:schema-mcp-core","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"schema-mcp-core","summary":"Shared core for schema-driven MCP servers over Russian business APIs: catalog, safety gating, HTTP client, credential store","description":"# schema-mcp-core\n\nОснова для MCP-серверов над российскими деловыми API. Сам по себе ничего не\nподключает: сервер приносит каталог методов (`endpoints.yaml`) и тонкий\n`server.py`, всё остальное берёт отсюда.\n\nТак устроены [hh-mcp-ru](https://github.com/ilyautov/hh-mcp-ru),\n[diadoc-mcp-ru](https://github.com/ilyautov/diadoc-mcp-ru),\n[sbis-mcp-ru](https://github.com/ilyautov/sbis-mcp-ru),\n[chestny-znak-mcp-ru](https://github.com/ilyautov/chestny-znak-mcp-ru) и\n[vk-mcp-ru](https://github.com/ilyautov/vk-mcp-ru).\n\n## Что внутри\n\n| модуль | зачем |\n|---|---|\n| `registry` | каталог методов из YAML: поиск словами, описание, пагинация |\n| `safety` | класс доступа read / write / destructive |\n| `client` | асинхронный HTTP: авторизация, повтор на 429, пагинация, белый список доменов |\n| `credentials` | ключи на несколько кабинетов, файл вне репозитория с правами 600 |\n| `tools` | готовый набор инструментов MCP: поиск, описание, вызов, кабинеты |\n| `doctor` | отчёт «взлетит ли эта установка», список сервисов задаёт вызывающий |\n| `paginate` | выкачать все страницы одним вызовом, только для чтения |\n| `entities`, `workflows` | карта сущностей и готовые сценарии, если сервер их приносит |\n\n## Зачем отдельный пакет\n\nЯдро это 2 200 строк, а сервер поверх него 66. Пять серверов, живущих\nотдельными репозиториями, иначе несли бы пять копий одного кода, и правка\nбезопасности в одном месте оставляла бы четыре непочиненных.\n\n## Минимальный сервер\n\n```python\nfrom mcp.server.fastmcp import FastMCP\nfrom schema_mcp_core.client import MarketplaceClient, ServiceConfig\nfrom schema_mcp_core.registry import Catalog\nfrom schema_mcp_core.tools import register_generic_tools\n\ncatalog = Catalog.from_yaml(Path(__file__).parent / \"endpoints.yaml\")\nconfig = ServiceConfig(service=\"hh\", base_url=\"https://api.hh.ru\", ...)\nmcp = FastMCP(\"hh-mcp-ru\")\nregister_generic_tools(mcp, prefix=\"hh\", catalog=catalog, client_factory=...)\n```\n\nЖивой пример с авторизацией и кабинетами лежит в любом из пяти серверов выше…","publisher":{"name":"Ilya Utov","url":null},"homepage":null,"repository":"https://github.com/ilyautov/schema-mcp-core/blob/main/CHANGELOG.md","version":"0.2.0","license":null,"protocols":["mcp"],"tags":["mcp","model-context-protocol","openapi","catalog","russia","claude"],"pricing":null,"endpoints":[{"url":"pypi:schema-mcp-core","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":1,"provenance":"declared"},{"slug":"data.apis","name":"API Access","confidence":1,"provenance":"declared"}],"categories":["commerce","data"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"schema-mcp-core","registry":"pypi","observedAt":"2026-09-12T08:20:45.774Z","publishedAt":"2026-09-11T10:23:34.841901Z","latestVersion":"0.2.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"schema-mcp-core","url":"https://pypi.org/project/schema-mcp-core/","firstSeenAt":"2026-09-12T08:20:35.722Z","fetchedAt":"2026-09-12T08:20:35.722Z","normalizedAt":"2026-09-12T08:20:35.722Z"}]},"firstSeenAt":"2026-09-12T08:20:35.722Z","updatedAt":"2026-09-12T08:20:45.774Z"}