1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

blastengine MCPサーバーをClaude Codeに導入してみた(stdio / claude mcp add / .mcp.json)

1
Last updated at Posted at 2026-07-29

メール配信サービス blastengine から、公式の MCP サーバーが公開されました。MCP(Model Context Protocol)は、AI が外部サービスにアクセスするための共通規格です。これを使うと、AI エージェントとの会話の中から blastengine の配信状況の確認やメール送信を直接扱えるようになります。

公式のセットアップマニュアルは Claude Desktop 向けを丁寧に解説しています。一方この記事では、ターミナル中心で開発する人向けに、Claude CodeのCLI版へ stdio サーバーとして導入する手順をまとめます。claude mcp add.mcp.json の2通りを扱い、APIキーを安全に持たせる方法まで踏み込みます。

blastengine MCPで何ができるか

blastengine MCPサーバーは、blastengine API の一部を MCP ツールとして公開します。公式が挙げているユースケースは次の6つです。

  • トランザクションメール送信(登録完了通知などの1対1メール)
  • 即時一斉配信(複数宛先への同一内容メール)
  • 予約一斉配信(指定日時での一括配信)
  • 配信結果の確認・分析(到達数・エラー数・成功率)
  • 詳細ログの確認(バウンス・エラー詳細)
  • 利用状況の確認(当月の送信実績と残数)

重要なのは、送信系ツールは既定で無効という設計です。メール送信は取り消せないため、サーバーは参照のみの状態で起動し、送信・一斉配信・CSVインポートは環境変数(フラグ)で明示的に有効化したときだけ動きます。この安全設計のおかげで、まずは読み取り専用で安心して試せます。

前提と準備

必要なもの

  • Node.js 22.15 以上(手動セットアップの前提)
  • blastengine アカウント(無料トライアル可・クレジットカード登録不要。トライアルでも MCP は利用できます)
  • Claude Code(CLI)

ログインIDとAPIキーの取得

blastengine の管理画面にログインし、次の2つを控えます。

  1. ログインID … 画面右上の「アカウント管理」→「現在の契約者情報」で確認
  2. APIキー … 画面右上の歯車マーク「設定」→「APIキー確認・再発行」で確認

APIキーは他人に見せない・SNSやチャットに貼らないでください。後述しますが、.mcp.json に直書きせず環境変数から渡すのが安全です。

認証の仕組み(トークンは手元で生成される)

このサーバーは、ログインIDとAPIキーから blastengine の Bearer トークンをローカルで生成します(login_id + api_key の SHA-256 を小文字 hex 化し、それを Base64 エンコード)。この処理はプロセス内で完結し、トークン・本文・宛先はログに出力されません。すでにトークンを持っている場合は BLASTENGINE_BEARER_TOKEN を直接渡すこともでき、設定時はそちらが優先されます。

導入手順

1. クローンしてビルドする

git clone https://github.com/rakus-lc/blastengine-mcp.git
cd blastengine-mcp
npm install
npm run build

npm run build に成功すると、stdio のエントリポイント dist/index.js が生成されます。Claude Code から起動するのはこのファイルです。以降で使うので、絶対パスを控えておきます(例:/Users/you/src/blastengine-mcp/dist/index.js)。

2. Claude Codeに登録する

登録には2通りあります。まずスコープを押さえておきましょう。

スコープ 保存先 使いどころ
local(既定) ~/.claude.json(現在のプロジェクトのみ) 自分の手元だけで試す
project プロジェクト直下の .mcp.json(Git 管理対象) チームで共有する
user ~/.claude.json(全プロジェクト共通) どのリポジトリでも使いたい

方法A:claude mcp add(手早い)

-- の後ろに起動コマンドを書きます。環境変数は --env(または -e)で複数渡せます。

claude mcp add blastengine \
  --scope user \
  --env BLASTENGINE_LOGIN_ID=あなたのログインID \
  --env BLASTENGINE_API_KEY=あなたのAPIキー \
  --env BLASTENGINE_ENABLE_SEND=false \
  --env BLASTENGINE_ENABLE_BULK=false \
  --env BLASTENGINE_ENABLE_CSV_IMPORT=false \
  -- node /absolute/path/to/blastengine-mcp/dist/index.js

-- より後ろ(node dist/index.js)はサーバーへそのまま渡されます。まずは送信系フラグをすべて false のままにしておくのが安全です。

方法B:.mcp.json(チーム共有向け・APIキーは環境変数展開)

プロジェクトで共有するなら project スコープの .mcp.json が便利ですが、このファイルは Git にコミットされるため、APIキーを直書きしてはいけません。.mcp.jsonenv${VAR} / ${VAR:-default} 形式の展開に対応しているので、機微な値はシェルの環境変数から注入します。

{
  "mcpServers": {
    "blastengine": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/blastengine-mcp/dist/index.js"],
      "env": {
        "BLASTENGINE_LOGIN_ID": "${BLASTENGINE_LOGIN_ID}",
        "BLASTENGINE_API_KEY": "${BLASTENGINE_API_KEY}",
        "BLASTENGINE_ENABLE_SEND": "${BLASTENGINE_ENABLE_SEND:-false}",
        "BLASTENGINE_ENABLE_BULK": "${BLASTENGINE_ENABLE_BULK:-false}",
        "BLASTENGINE_ENABLE_CSV_IMPORT": "${BLASTENGINE_ENABLE_CSV_IMPORT:-false}"
      }
    }
  }
}

ログインIDとAPIキーは、.zshrc などで(あるいはその場で)シェルに export しておきます。

export BLASTENGINE_LOGIN_ID="あなたのログインID"
export BLASTENGINE_API_KEY="あなたのAPIキー"

こうすれば、リポジトリには「blastengine サーバーを使う」という設定だけが残り、鍵は各自の環境に留まります。認証情報はリポジトリや .env にコミットしないでください。

3. 送信系フラグの考え方

参照系(配信検索・ログ・使用量など)は、認証情報さえあれば常時使えます。送信系は次のフラグを true にしたときだけ有効になります。

環境変数 既定 有効化される機能
BLASTENGINE_ENABLE_SEND false トランザクションメール送信
BLASTENGINE_ENABLE_BULK false 一斉配信(下書き・宛先登録・プレビュー・確定)
BLASTENGINE_ENABLE_CSV_IMPORT false CSV からの宛先一括インポート(ENABLE_BULK と併用)

最初はすべて false のまま参照系で動作確認し、送信が必要になった段階で、最小限のフラグだけを有効化するのがおすすめです。

4. 動作確認

登録できているかを確認します。

claude mcp list          # 登録済みサーバーと接続状態
claude mcp get blastengine   # このサーバーの設定と状態

Claude Code のセッション内では /mcp で、接続中のサーバーと利用可能なツール一覧を確認できます。あとは参照系の指示を出してみます。

今月のblastengineの利用状況を教えて
先週の配信結果を一覧で見せて

初回はツール実行の許可を求められるので、許可すると blastengine からデータを取得して答えます。ここまで動けば導入成功です。

社内プロキシ(HTTPS検査)でエラーが出るとき

HTTPS 検査プロキシ環境では、Node.js が既定で社内ルート CA を信頼せず、API 呼び出しが SELF_SIGNED_CERT_IN_CHAIN(または fetch failed)で失敗することがあります。その場合は、OS の証明書ストアを Node.js に信頼させます。

手軽なのは、起動引数に --use-system-ca を付ける方法です。このフラグは Node.js 22.15 から使えるので、サーバーの最低要件(22.15)でも確実に効きます。

-- node --use-system-ca /absolute/path/to/blastengine-mcp/dist/index.js

環境変数で指定したい場合は NODE_USE_SYSTEM_CA=1 を使えます。公式マニフェストもこの方式です。ただし 22.x 系ではこの環境変数は 22.19.0 以降でしか効かない点に注意してください。22.15〜22.18 を使うなら、上の --use-system-ca フラグを使うか、Node.js を 22.19 以上、または最新 LTSに上げてください。

"env": {
  "NODE_USE_SYSTEM_CA": "1"
}

これでも解決しない場合は、組織のルート証明書(PEM)を明示指定します。

"env": {
  "NODE_EXTRA_CA_CERTS": "/path/to/corporate-ca.pem"
}

トラブルシューティング

症状 原因と対処
missing_credentials BLASTENGINE_LOGIN_IDBLASTENGINE_API_KEY、または BLASTENGINE_BEARER_TOKEN が渡っていない。${VAR} 展開なら export 済みか確認
send_disabled / bulk_disabled / csv_import_disabled その機能が無効。対応する BLASTENGINE_ENABLE_*true にして再起動
SELF_SIGNED_CERT_IN_CHAIN / fetch failed 社内プロキシが原因。上記「社内プロキシ」を参照(--use-system-ca など)
/mcp に blastengine が出ない・接続できない command/args がビルド済みの dist/index.js を指しているか、npm run build 済みかを確認(stdout は MCP 通信専用、診断は stderr)
参照系でも認証エラー ログインID/APIキーの綴りや前後の空白を確認(参照系でも認証情報は必須)

トライアル利用時の注意

無料トライアルでも MCP は使えますが、配信可能アドレスの登録は最大5件までで、登録していないアドレス宛には配信できません。送信テストをするときは、SPF・DKIM・DMARC を設定済みの自社ドメインを送信元に使うのが安全です。有料プランは月額3,000円〜です。

まとめ

blastengine MCPサーバーは、dist/index.js をビルドして Claude Code に stdio サーバーとして登録するだけで導入できます。ポイントは3つです。

  • 登録は claude mcp add.mcp.json。共有する場合はAPIキーを直書きせず ${VAR} 展開で環境変数から渡す
  • 送信系は既定で無効。まず参照系で動作確認し、必要なフラグだけを有効化する
  • 社内プロキシ環境では --use-system-ca(環境変数 NODE_USE_SYSTEM_CA=1 は Node.js 22.19 以上)で証明書を通す

導入できたら、次は全15ツールを MCP Inspector で検証する記事で、それぞれのツールが何を受け取り何を返すかを確認してみてください。


なお、「こういう機能がほしい」といった要望や使ってみての感想は、以下のアンケートフォームから送ると開発チームに届くみたいです。気になった人はどうぞ。

https://docs.google.com/forms/d/e/1FAIpQLSdNZ9TswUT3JEv3pMHkJGqOvgmsXuKP1smkJiNEsqbTVDwRyg/viewform

※blastengine MCPサーバーは MIT ライセンスで提供され、公式のサポート・保証はありません(不具合報告は GitHub Issue へ)。手順・仕様は執筆時点のものです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?