mcpField
S
Samotpravil MCP

Samotpravil MCP

ローカル
github.comコミュニケーション07 週間前に更新

Samotpravil MCP について

Samotpravil MCPは、エージェントをSamotpravil APIとそのドキュメントに接続します。検索可能なAPI資料、型付きツール、Python SDKと対応するツールに加え、メールやアカウント操作の安全制限を設定できます。

主な機能

  1. 01APIドキュメントとエンドポイントの検索
  2. 02型付きAPIツール
  3. 03Python SDKに対応するツール
  4. 04読み取り専用とdry_runの安全制限
  5. 05リソースとプロンプトでのAPI資料提供

活用シーン

  1. 01連携前のAPIメソッド確認
  2. 02メール送信と配信状況の確認
  3. 03停止リストと許可ドメインの管理
  4. 04API変更のプレビューや制限

MCP 対応

MCPクライアントにドキュメント、型付きAPIツール、リソース、プロンプトを提供します。API操作には`SAMOTPRAVIL_API_KEY`が必要ですが、ドキュメントツールには不要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dkanster-samotpravil": {
"command": "npx",
"args": [
"-y",
"samotpravil-mcp"
],
"env": {
"SAMOTPRAVIL_API_KEY": "<SAMOTPRAVIL_API_KEY>",
"SAMOTPRAVIL_READ_ONLY": "<SAMOTPRAVIL_READ_ONLY>",
"SAMOTPRAVIL_ALLOW_SEND": "<SAMOTPRAVIL_ALLOW_SEND>",
"SAMOTPRAVIL_ALLOW_MUTATIONS": "<SAMOTPRAVIL_ALLOW_MUTATIONS>",
"SAMOTPRAVIL_ALLOW_GENERIC_API": "<SAMOTPRAVIL_ALLOW_GENERIC_API>",
"SAMOTPRAVIL_HTTP_HOST": "<SAMOTPRAVIL_HTTP_HOST>",
"POSTMAN_API_KEY": "<POSTMAN_API_KEY>",
"POSTMAN_COLLECTION_UID": "<POSTMAN_COLLECTION_UID>",
"SAMOTPRAVIL_HTTP_AUTH_TOKEN": "<SAMOTPRAVIL_HTTP_AUTH_TOKEN>",
"SAMOTPRAVIL_HTTP_PORT": "<SAMOTPRAVIL_HTTP_PORT>",
"SAMOTPRAVIL_DOCS_MODE": "<SAMOTPRAVIL_DOCS_MODE>"
}
}
}
}
起動コマンドnpx -y samotpravil-mcp
設定が必要な環境変数
SAMOTPRAVIL_API_KEYシークレットAPI key for api.samotpravil.ru (Authorization header)
SAMOTPRAVIL_READ_ONLYWhen true, block mutating HTTP methods except GET/HEAD
SAMOTPRAVIL_ALLOW_SENDWhen false, block send/package endpoints
SAMOTPRAVIL_ALLOW_MUTATIONSWhen false, block stop-list, domain, authkey and other mutating endpoints
SAMOTPRAVIL_ALLOW_GENERIC_APIWhen false, disable the generic api_request tool
SAMOTPRAVIL_HTTP_HOSTBind address for --http transport (default 127.0.0.1)
POSTMAN_API_KEYシークレットPostman API key for maintainer tools (postman_get_collection, postman_sync_snapshot, …)
POSTMAN_COLLECTION_UIDPostman collection UID for documentation (default 2s93RZM9in)
SAMOTPRAVIL_HTTP_AUTH_TOKENシークレットBearer token required for HTTP transport when exposed beyond localhost
SAMOTPRAVIL_HTTP_PORTPort for --http transport (default 3000)
SAMOTPRAVIL_DOCS_MODEDocumentation source: auto | live | snapshot

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmsamotpravil-mcp1.8.0

ツール

58

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

README(原文)English

プロジェクトの README より

この README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。

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/[email protected] · 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。