Documentation menu

MCPサーバー

MailInAppはMCPサーバーを公開しており、Claude Desktop、Claude Code、その他MCP対応の任意のツールといった外部AIクライアントが、スタジオ内のAIコパイロットと同じように、あなたのアカウントのメールプロジェクトを直接構築・編集できます。どちらの場合もツール利用のコアは同じです — MCPクライアントとスタジオパネルは、全く同じ一連の編集への、単に2つの異なる入り口にすぎません。

このページでは開発者向けの経路を扱います:自分のバックエンドやCLIツールが、自分で発行したAPIキー — 送信APIが使うのと同じ認証情報 — で認証する方法です。

エンドポイントと認証

https://mailinapp.com/api/mcp

送信APIと同じAuthorization: Bearer <apiKey>ヘッダーで認証します — ダッシュボードの開発者からキーを発行するか、既存のものを再利用してください。この経路のために管理すべき、MCP専用の別の認証情報はありません。キーはすでに「このアカウント自身のバックエンド」を表しているため、ここでも同じレベルで信頼され、以下に記載するすべてのツールがスコープに関係なく利用できます。

このエンドポイントはステートレスです:すべてのリクエストは自己完結したMCP呼び出しであるため、メッセージ間で何かを維持し続ける必要はなく、MCPクライアントの通常のセットアップ以外に、別途の接続/切断の手順もありません。

Claude Codeを接続する

claude mcp add --transport http mailinapp https://mailinapp.com/api/mcp \
  --header "Authorization: Bearer mia_live_..."

Claude Desktopや、リモートHTTPサーバーに対応するその他のMCPクライアントも、同じURLとヘッダーを使用します — どこに貼り付けるかは、各クライアント自身のドキュメントを確認してください。

ツール

APIキーはアカウント所有者と全く同じレベルで信頼されるため、利用可能なすべてのツールが見えます — プロジェクトのデザイン、連絡先とサプレッション、キャンペーンの結果と注文、送信(テストだけでなく実際のキャンペーン送信も含む)、メールボックスとチケットの返信、プランの利用状況です。

ツリーを編集するツール群(add_block/update_block/remove_block/move_block/set_themeなど)は、いずれも先頭にprojectId(list_projects/create_projectから取得)を取ります — MCPクライアントには、そこから推測できる開いているスタジオタブがないためです。有効なすべてのブロックタイプ、その許容される親、フィールドの一覧は、list_block_typesを通じてツールセットの一部としてモデルに説明されるため、スタジオが現在提供しているブロックタイプと常に同期しています。利用可能なものを自分で伝える必要はありません。

編集がどのように適用されるか

変更を伴う各ツール呼び出しは、それ自体がプロジェクトへの独立したアトミックな書き込みです — スタジオ内パネルにあるような「適用」ステップはありません。適用先となる開いているキャンバスがそもそも存在しないためです。MCPクライアントが編集している間にスタジオでそのプロジェクトを開いていた場合、次の自動保存時に、チームメイトが編集した場合と全く同じように、通常の**「他の場所で変更されました」**という競合バナーが表示されます — 再読み込みしてMCP側の変更を取り込むか、コピーとして保存して自分の進行中の編集を残すことができます。

MCPによるすべての編集は、プロジェクトのコパイロットチャットスレッドにも記録されます(スタジオパネルではなくMCPからのものとタグ付けされます)。そのため、スタジオ内のAIコパイロットパネルが表示するのと同じ履歴に表示されます。

レート制限とプランでの利用可否

  • APIキーごと:1分あたり60リクエストで、同じアカウントの他のキーとは独立しています。
  • アカウントごと:すべてのツール呼び出しは、1つの月間カウンター(plan.connectorCallsMonthly)から消費されます。これは、MCP呼び出しがMailInApp側でAIモデルを一切呼び出さないため、スタジオ内AIコパイロット自身のターン数の割り当てとは別枠です。Freeを含むすべてのプランで、実際のクォータ付きで利用できます — 正確な数値は料金を参照するか、get_plan_usageを呼び出してアカウントの今月の使用状況を確認してください。
  • この経路を通じて実際のキャンペーンを送信する場合も、confirm_sendと同じ方法で計測され、同じ確認フローと送信量の上限が適用されます。