.cursor — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited .cursor (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP-сервер вокруг документации API СамОтправил.
Хостинг: репозиторий временно в dkanster/samotpravil-mcp. Планируется: переезд в org Samotpravil на GitHub и npm @samotpravil/mcp — см. docs/ORG_MIGRATION.md.Документация опубликована как Postman Documenter; сервер подтягивает коллекцию с documentation.samotpravil.ru и даёт агенту инструменты для поиска методов, параметров и примеров. Опционально — прокси к api.samotpravil.ru, если задан API-ключ.
Как связаны Postman, samotpravil-mcp, OpenAPI, swagger-mcp и static preview на Docusaurus: [docs/ECOSYSTEM.md](./docs/ECOSYSTEM.md) · [docs/DOCS_SITE.md](./docs/DOCS_SITE.md) · live: https://dkanster.github.io/samotpravil-mcp/
План v1.1 (milestones, issues, фазы): [docs/ROADMAP.md](./docs/ROADMAP.md) v1.2 (в работе): [docs/ROADMAP_v1.2.md](./docs/ROADMAP_v1.2.md) — auto typed tools, prompts, OpenAPI, --http
| Milestone | Фокус |
|---|---|
| Phase 0 | Подготовка, interim hosting |
| Phase 1–6 | npm, snapshot, typed tools, resources, docs, promo |
| v1.1.0 | Релиз |
| Future | Org migration |
| v1.2 | Auto tools, prompts, OpenAPI, HTTP transport |
GitHub Project: создайте board «Samotpravil MCP v1.1» — см. docs/ROADMAP.md#github-project.
| Tool | Описание |
|---|---|
get_overview | Авторизация, SMTP, лимиты, категории |
list_endpoints | Список всех методов API |
search_docs | Поиск по документации |
get_endpoint | Подробности по методу |
POSTMAN_API_KEY)| Tool | Описание |
|---|---|
postman_get_collection | Коллекция из Postman API (summary или full) |
postman_sync_snapshot | Postman API → data/collection.snapshot.json |
postman_diff_snapshot | Diff Postman vs локальный snapshot |
postman_search_requests | Поиск запросов в Postman-коллекции |
Ключ — в .env.samotpravil (или legacy .env.postman). Отдельный Postman MCP больше не нужен.
SAMOTPRAVIL_API_KEY)| Tool | Описание |
|---|---|
send_email | POST /api/v1/smtp_send |
send_mail_v2 | POST /api/v2/mail/send |
get_delivery_status | GET /api/v2/issue/status |
get_package_status | GET /api/v2/package/status |
search_stop_list | Поиск email в стоп-листах |
add_stop_list_email / remove_stop_list_email | Управление стоп-листом |
validate_email | Валидация адреса |
list_allowed_domains | Разрешённые домены |
api_request | Generic escape hatch |
api_{method}_{path} | Auto tools для остальных HTTP-методов (~42), напр. api_get_v2_issue_ext_status |
| Prompt | Описание |
|---|---|
integration_overview | Обзор SMTP + HTTP + лимиты |
send_transactional | Чеклист отправки письма |
stop_list_workflow | Работа со стоп-листами |
check_delivery | Статус по X-Track-ID / выпуску |
npx samotpravil-mcp --http --port 3000
# POST http://127.0.0.1:3000/mcpnpm run export-openapi # → data/openapi.yaml
npm run upload-swaggerhub # публикация на SwaggerHub (нужен .env.swaggerhub)
npm run check-swaggerhub # проверка API key и ownerОпубликовано: mailganer/[email protected] · Подробнее: [docs/SWAGGERHUB.md](./docs/SWAGGERHUB.md)
Альтернатива Postman Documenter для preview и GitHub Pages — из того же snapshot:
npm run docusaurus:install # один раз
npm run docusaurus:start # http://localhost:3000Live: https://dkanster.github.io/samotpravil-mcp/ · Подробнее: [docs/DOCS_SITE.md](./docs/DOCS_SITE.md)
MCP-сервер для работы с OpenAPI: список эндпоинтов, модели, генерация MCP tool definitions.
npm run prepare-swagger-mcp # один раз: clone + build в vendor/swagger-mcp
npm run swagger-mcp # запуск (stdio)Источник спецификации (по приоритету):
SAMOTPRAVIL_SWAGGER_URL — явный URLSWAGGERHUB_OWNER + SWAGGERHUB_API_NAME)data/openapi.yaml (временный HTTP на 127.0.0.1)Cursor — добавьте в .cursor/mcp.json (или через setup.sh):
{
"mcpServers": {
"swagger-mcp": {
"command": ".cursor/swagger-mcp.sh",
"args": []
}
}
}Инструменты: listEndpoints, listEndpointModels, generateModelCode, generateEndpointToolCode.
Tools postman_* работают в том же MCP-сервере при наличии POSTMAN_API_KEY в .env.samotpravil. Нужны maintainer'ам для синхронизации коллекции документации с snapshot. Подробнее: [docs/EXAMPLES.md](./docs/EXAMPLES.md#postman-tools) и [docs/ECOSYSTEM.md](./docs/ECOSYSTEM.md).
| Env | Эффект |
|---|---|
SAMOTPRAVIL_READ_ONLY=1 | Только безопасные GET/HEAD (без отправки и остановки пакетов) |
SAMOTPRAVIL_ALLOW_SEND=0 | Блок send/package endpoints |
SAMOTPRAVIL_ALLOW_MUTATIONS=0 | Блок stop-list, доменов, authkey и прочих изменений |
SAMOTPRAVIL_ALLOW_GENERIC_API=0 | Отключить инструмент api_request |
SAMOTPRAVIL_HTTP_HOST=127.0.0.1 | Адрес bind для --http (по умолчанию localhost) |
dry_run: true | Preview запроса без отправки |
Ответы API с полями api_key и query-параметр key= автоматически маскируются в выводе MCP.
| URI | Содержимое |
|---|---|
samotpravil://overview | Обзор API |
samotpravil://endpoints | Индекс методов |
samotpravil://endpoint/{slug} | Один метод (напр. smtp_send) |
samotpravil://errors | Популярные ошибки |
samotpravil://integration | SMTP, X-Track-ID, трекинг |
Добавьте в .cursor/mcp.json (или аналог в вашем MCP-клиенте):
{
"mcpServers": {
"samotpravil": {
"command": "npx",
"args": ["-y", "samotpravil-mcp@latest"],
"env": {
"SAMOTPRAVIL_API_KEY": "your_api_key_here",
"SAMOTPRAVIL_READ_ONLY": "1",
"SAMOTPRAVIL_ALLOW_SEND": "0",
"SAMOTPRAVIL_ALLOW_MUTATIONS": "0",
"SAMOTPRAVIL_ALLOW_GENERIC_API": "0"
}
}
}
}SAMOTPRAVIL_API_KEY можно опустить для docs-only. Флаги READ_ONLY / ALLOW_SEND — опционально (безопасный preset выше).
В Cursor: Settings → MCP → Reload.
Подробнее: [docs/EXAMPLES.md](./docs/EXAMPLES.md) · Официальная публикация: [docs/official/](./docs/official/)
npx -y samotpravil-mcp@latestПакет: https://www.npmjs.com/package/samotpravil-mcp (после первого publish — см. docs/PUBLISH.md).
git clone https://github.com/dkanster/samotpravil-mcp.git
cd your-workspace
/path/to/samotpravil-mcp/setup.sh ..env.samotpravil в корне проекта (или ai/.env.samotpravil):
SAMOTPRAVIL_API_KEY=your_key_hereКлюч нужен для typed tools и api_request. Docs tools и resources работают без ключа. Получить доступ: https://samotpravil.ru/get-access
SwaggerHub (опционально, для upload-swaggerhub и Swagger-MCP): скопируйте .env.swaggerhub.example → .env.swaggerhub. См. docs/SWAGGERHUB.md.
npm install
npm run build
npm run dev
npm testContributing: [CONTRIBUTING.md](./CONTRIBUTING.md) · Сценарии: [docs/EXAMPLES.md](./docs/EXAMPLES.md)
data/collection.snapshot.json (fallback)npm run sync-docsnpm run export-openapi → data/openapi.yaml; публикация — docs/SWAGGERHUB.mdnpm run docusaurus:start → docs/DOCS_SITE.md · live: https://dkanster.github.io/samotpravil-mcp/SAMOTPRAVIL_DOCS_MODE=auto (default) | live | snapshotapi.samotpravil.ru:1126 / :1127 (TLS)MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.