Back to Directory/Documentation

Samotpravil MCP

MCP server for Samotpravil API — docs, typed tools, Python SDK parity, safety flags.

DocumentationJavaScriptv1.8.0

Samotpravil MCP

CI npm License: MIT

MCP-сервер вокруг документации API СамОтправил и HTTP API api.samotpravil.ru.

Версия: 1.8.0 · npm: samotpravil-mcp · MCP Registry: io.github.dkanster/samotpravil-api-mcp · Smithery: smithery.yaml · Cursor Directory: .mcp.json

Хостинг: репозиторий временно в dkanster/samotpravil-api-mcp.
Планируется: переезд в org Samotpravil → @samotpravil/mcp — docs/ORG_MIGRATION.md.

Сервер подтягивает Postman-коллекцию с documenter (live + offline snapshot) и даёт агенту tools для поиска методов, вызова API и безопасных пресетов (READ_ONLY, dry_run). Имена typed tools совпадают с Python SDK samotpravil.

Экосистема: Postman → snapshot → MCP / OpenAPI / Docusaurus — docs/ECOSYSTEM.md · live preview: https://dkanster.github.io/samotpravil-api-mcp/


Быстрый старт

npx -y samotpravil-mcp@latest

Cursor — .cursor/mcp.json:

{
  "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_API_KEY опционален для docs-only tools. После правок: Settings → MCP → Reload.

Бесплатного тестового ключа нет: регистрация в ЛК → верификация домена отправителя → ключ в env. Пакетную боевую отправку по умолчанию не открываем (SAMOTPRAVIL_ALLOW_SEND=0).

Экосистема (рядом с MCP)

АртефактСсылка
Спека OpenAPIhttps://spec.samotpravil.ru/openapi.yaml
Node-клиент APInpm i samotpravil
Пример SaaS (два ключа TX/MKT)dkanster/samotpravil-example
Python MCP (pip)mailganer-samotpravil-mcp
Smitherydaniil-kozemiakin/samotpravil
Cursor Directorysamotpravil-api-mcp

Для SaaS сразу два API-ключа (разные стоп-листы и webhook URL) — см. пример выше.

Сценарии и конфиги для Claude / VS Code: docs/EXAMPLES.md

Cursor Directory

Каталог сообщества cursor.directory автодетектит MCP из корневого .mcp.json (дубль: mcp.json, манифест plugin.json). Первая отправка: cursor.directory/plugins/new → URL этого репозитория (вход GitHub/Google). В листинг не входят swagger-mcp и Postman maintainer.

Дальше править код и карточку — docs/PUBLISH.md § «Cursor Directory»: релиз npm по tag v*; карточку Directory не слать второй раз (дубли). Add to Cursor у уже поставивших сам не обновляется.


Что внутри

КомпонентКол-воНужен ключ
Docs tools4нет
Core typed API9 + api_requestSAMOTPRAVIL_API_KEY
Python SDK parity28SAMOTPRAVIL_API_KEY
Auto tools (api_*)~16SAMOTPRAVIL_API_KEY
Postman maintainer4POSTMAN_API_KEY
MCP Resources9нет
MCP Prompts5нет

Итого: ~59 tools ( +4 postman при POSTMAN_API_KEY).


Инструменты

Документация (без API-ключа)

ToolОписание
get_overviewАвторизация, SMTP, лимиты, категории
list_endpointsСписок всех методов API
search_docsПоиск по документации
get_endpointПодробности по методу

Typed API (нужен SAMOTPRAVIL_API_KEY)

ToolОписание
send_emailPOST /api/v1/smtp_send
send_mail_v2POST /api/v2/mail/send
get_delivery_statusGET /api/v2/issue/status (message_id или x_track_id)
get_package_statusGET /api/v2/package/status
search_stop_listПоиск email в стоп-листах
add_stop_list_email / remove_stop_list_emailСтоп-лист (mail_from или domain)
validate_emailPOST /api/v2/emails/validate/
list_allowed_domainsGET /api/v2/blist/domains
api_requestGeneric escape hatch

Python SDK parity (v1.3+)

Typed tools с именами как в PyPI-пакете samotpravil: send_package, get_statistics, get_ext_status, stop_list_export_create, domain_add, get_blist, create_authkey и др.

Полный список и маппинг: docs/EXAMPLES.md#python-sdk-parity · prompt python_sdk_parity

Postman maintainer (нужен POSTMAN_API_KEY)

ToolОписание
postman_get_collectionКоллекция из Postman API
postman_sync_snapshotPostman API → data/collection.snapshot.json
postman_diff_snapshotDiff Postman vs локальный snapshot
postman_search_requestsПоиск запросов в коллекции

Подробнее: docs/EXAMPLES.md#postman-tools

Auto tools

api_{method}_{path} — для HTTP-методов, не покрытых typed tools (legacy v1, tickets, email check/clean и т.д.).

MCP Prompts

PromptОписание
integration_overviewОбзор SMTP + HTTP + лимиты
send_transactionalЧеклист отправки письма
stop_list_workflowРабота со стоп-листами
check_deliveryСтатус по X-Track-ID / выпуску
python_sdk_parityPython SDK → MCP tools

MCP Resources

URIСодержимое
samotpravil://overviewОбзор API
samotpravil://endpointsИндекс методов
samotpravil://endpoint/{slug}Один метод
samotpravil://errorsПопулярные ошибки
samotpravil://integrationSMTP, X-Track-ID, трекинг
samotpravil://sdk-mappingPython SDK → MCP tools
samotpravil://changelogФрагмент CHANGELOG пакета
samotpravil://rate-limitsЛимиты API и отправки
samotpravil://api-wishlistПредложения по HTTP API (фрагмент)

Безопасность

EnvЭффект
SAMOTPRAVIL_READ_ONLY=1Только GET/HEAD
SAMOTPRAVIL_ALLOW_SEND=0Блок send/package
SAMOTPRAVIL_ALLOW_MUTATIONS=0Блок stop-list, доменов, authkey
SAMOTPRAVIL_ALLOW_GENERIC_API=0Отключить api_request
SAMOTPRAVIL_DOCS_MODEauto | live | snapshot
dry_run: truePreview запроса без отправки

Секреты (api_key, key= в query) маскируются в ответах MCP.


Транспорты и интеграции

HTTP transport

npx samotpravil-mcp --http --port 3000
# POST http://127.0.0.1:3000/mcp

Env: SAMOTPRAVIL_HTTP_HOST, SAMOTPRAVIL_HTTP_PORT, SAMOTPRAVIL_HTTP_AUTH_TOKEN, SAMOTPRAVIL_HTTP_JSON_LOG=1 (structured logs).

docker build -t samotpravil-mcp .
docker run --rm -p 3000:3000 -e SAMOTPRAVIL_API_KEY=... -e SAMOTPRAVIL_HTTP_AUTH_TOKEN=... samotpravil-mcp

OpenAPI + Swagger-MCP

npm run export-openapi        # → data/openapi.yaml
npm run upload-swaggerhub     # SwaggerHub (нужен .env.swaggerhub)
npm run prepare-swagger-mcp   # Vizioz/Swagger-MCP

Спека: mailganer/samotpravil-smtp-api@1.0.0 · docs/SWAGGERHUB.md

Docusaurus preview

npm run docusaurus:install && npm run docusaurus:start

Live: https://dkanster.github.io/samotpravil-api-mcp/ · docs/DOCS_SITE.md

Discovery

ПлощадкаСсылка
npmhttps://www.npmjs.com/package/samotpravil-mcp
MCP Registryhttps://registry.modelcontextprotocol.io
Smitherysmithery.yaml в корне — docs/PUBLISH.md
Официальный promodocs/official/

Конфигурация

Шаблон: .env.samotpravil.example

SAMOTPRAVIL_API_KEY=your_key_here
# POSTMAN_API_KEY=...          # maintainer tools
# SAMOTPRAVIL_READ_ONLY=1

Ключ API: https://samotpravil.ru/get-access

Полный список env: docs/EXAMPLES.md


Разработка

git clone https://github.com/dkanster/samotpravil-api-mcp.git
cd samotpravil-api-mcp
npm install && npm test && npm run dev
npm run setup-hooks   # optional: pre-commit (lint + test)
npm run lint          # ESLint
npm run pre-publish-check   # перед npm tag
npm run release-prepare      # pre-flight перед npm tag
npm run generate-tool-catalog
npm run scaffold-typed-tool send_package

Источник документации

Из git clone в свой проект

/path/to/samotpravil-api-mcp/setup.sh .

Лицензия

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y samotpravil-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-dkanster-samotpravil-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "samotpravil-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

samotpravil-mcpnpm

Compatible MCP Clients

Samotpravil MCP works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More