mcpField
C

Commune

ローカル
github.com/shanjai-rajコミュニケーション118 週間前に更新

Commune について

Communeは、AIエージェントにメール受信箱とSMSへのアクセスを提供するMCPサーバーです。メッセージ処理に加え、受信箱とドメインの管理、スレッドの振り分け、配信状況の追跡を行えます。

主な機能

  1. 01メールスレッドの閲覧、検索、返信
  2. 02添付ファイル付きメールの送信
  3. 03受信箱の作成とドメイン管理
  4. 04スレッドへのタグ付け、割り当て、状態更新
  5. 05SMSの送信とメッセージ履歴の検索
  6. 06配信、バウンス、苦情の追跡

活用シーン

  1. 01カスタマーサポートメールの振り分けと返信
  2. 02話題や本文で会話を検索
  3. 03SMSで注文状況を通知
  4. 04メール配信状況と抑制リストを確認

MCP 対応

Claude Desktop、Cursor、WindsurfなどのMCPクライアントに、メール、受信箱、ドメイン、スレッド振り分け、配信追跡、SMSのツールを公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"shanjai-raj-commune": {
"command": "uvx",
"args": [
"commune-mcp"
],
"env": {
"COMMUNE_API_KEY": "<COMMUNE_API_KEY>"
}
}
}
}
起動コマンドuvx commune-mcp
設定が必要な環境変数
COMMUNE_API_KEYシークレットYour Commune API key (starts with comm_). Get one at https://app.commune.email

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

パッケージ
pypicommune-mcp0.1.9

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Claude Desktop、Cursor、Windsurf 向けメール

PyPI PyPI Downloads Python 3.9+ Apache-2.0 License MCP Works with Claude Works with Cursor commune.email

Claude(または任意の MCP クライアント)に、実際のメール受信トレイと SMS を利用させましょう。クローンは不要で、30 秒でインストールできます。

AI エージェントで次のことができます。

  • メールを読む — スレッドの一覧表示、トピック別の検索、メッセージ履歴全体の取得
  • メールを送信する — 既存スレッドへの返信、新規メッセージの作成、ファイルの添付
  • 受信トレイを管理する — プログラムからの受信トレイの作成、カスタムドメインの設定、タグやステータスを使った振り分け
  • 配信状況を追跡する — 配信統計、抑止リスト、バウンスや苦情イベントの取得
  • SMS を送受信する — 電話番号のプロビジョニング、メッセージの送信、SMS 履歴の検索

Claude Desktop、Cursor、Windsurf、または任意の MCP クライアントで動作します。


Smithery 経由でインストール

smithery badge

Commune は Smithery で公開されています。サポート対象のクライアントなら、1 行でインストールできます。

# Install Smithery CLI (once)
npm install -g @smithery/cli@latest

# Add Commune to your client
npx @smithery/cli install commune-dev/commune --client claude      # Claude Desktop
npx @smithery/cli install commune-dev/commune --client cursor      # Cursor
npx @smithery/cli install commune-dev/commune --client windsurf    # Windsurf
npx @smithery/cli install commune-dev/commune --client vscode      # VS Code
npx @smithery/cli install commune-dev/commune --client claude-code # Claude Code
npx @smithery/cli install commune-dev/commune --client cline       # Cline
npx @smithery/cli install commune-dev/commune --client roo-cline   # Roo Code
npx @smithery/cli install commune-dev/commune --client goose       # Goose

エージェント間で利用する場合は、Smithery API 経由で接続することもできます。

https://commune--commune-dev.run.tools

プロンプトの例

設定が完了したら、メールや SMS について自然言語で AI アシスタントに指示できます。

メールを読む:

  • 「サポートの受信トレイに新着メールがあるか確認して」
  • 「請求の受信トレイにある未読スレッドをすべて表示して」
  • 「今週、返金について問い合わせている顧客からのメールを探して」
  • 「先月の支払いの問題についてのスレッドをすべて検索して」
  • 「スレッド conv_abc123 の会話履歴全体を教えて」
  • 「まだ返信していないスレッドをすべて表示して」

メールを送信する:

  • 「John のメールに返信して、48 時間以内に返金処理を行うと伝えて」
  • 「[email protected] に、件名を『明日の会議』としてメールを送り、会議が午後 3 時に変更になったと伝えて」
  • 「ログインできない問題についてのサポートスレッドの最新メッセージに、スレッド内で返信して」
  • 「先週から返信がない見込み顧客全員にフォローアップを送って」

整理と振り分け:

  • 「このスレッドに緊急のタグを付けて、請求チームに割り当てて」
  • 「30 日以上前のスレッドのうち、返信がないものをすべてクローズ済みにして」
  • 「過去 7 日間のメール到達率の統計を表示して」
  • 「サポートの受信トレイにある、抑止対象のメールアドレスをすべて一覧表示して」

SMS:

  • 「エージェント用の電話番号をプロビジョニングして」
  • 「+14155551234 に『ご注文の商品を発送しました』と SMS を送信して」
  • 「SMS の会話をすべて表示して」
  • 「配達の問題についての SMS メッセージを検索して」

ドメインと受信トレイの管理:

  • 「example.com の下に billing という名前の新しい受信トレイを作成して」
  • 「example.com を認証するには、どの DNS レコードを追加する必要がありますか?」
  • 「認証済みドメインをすべて表示して」

セットアップ

1. API キーを取得する

Commune ダッシュボードから API キーを作成します。キーは comm_ で始まります。

2. MCP クライアントに追加する

クライアントを選択して、Commune サーバーを追加します。ローカルファイルは不要です。uvx がパッケージを自動的に取得します。

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)を編集します。

{
  "mcpServers": {
    "commune": {
      "command": "uvx",
      "args": ["commune-mcp"],
      "env": {
        "COMMUNE_API_KEY": "comm_your_key_here"
      }
    }
  }
}
Cursor

Settings → MCP → Add Server を開きます。

{
  "commune": {
    "command": "uvx",
    "args": ["commune-mcp"],
    "env": {
      "COMMUNE_API_KEY": "comm_your_key_here"
    }
  }
}
Windsurf

Settings → MCP を開きます。形式は Cursor と同じです。

代替方法:pip install

uvx ではなく pip を使う場合:

pip install commune-mcp

その後、コマンドとして commune-mcp を使います:

{
  "commune": {
    "command": "commune-mcp",
    "env": {
      "COMMUNE_API_KEY": "comm_your_key_here"
    }
  }
}

仕組み

設定が完了すると、AI エージェントは自然な会話の中で Commune のツールを使えます:

あなた: サポート用受信トレイに新しいメールが届いているか確認してください

エージェント: (list_domains → list_inboxes → list_threads を呼び出します) [email protected] に新しいスレッドが 3 件あります:

  1. 「注文が届きません」 — 4 件のメッセージ、最終アクティビティは 2 時間前
  2. 「請求に関する質問」 — 1 件のメッセージ、本日受信
  3. 「機能のリクエスト」 — 2 件のメッセージ、最終アクティビティは昨日

あなた: 注文の問題について教えてください

エージェント: (get_thread_messages を呼び出します) 顧客の [email protected] によると、注文 #4521 は 5 日前に発送されましたが、まだ届いていません。追跡情報を求めて、すでに 2 回問い合わせています。

あなた: 配送業者に確認中で、24 時間以内に状況をお知らせすると返信してください

エージェント: (thread_id を指定して send_email を呼び出します) 完了しました — 既存のスレッドで [email protected] に返信しました。

エージェントは、リクエストに応じて呼び出すツールを判断します。ツール名を指定する必要はありません。


メールが Commune MCP を通じて届く仕組み

受信(メールを受け取る場合):

  User sends email
       |
       v
  Commune receives at your inbox ([email protected])
       |
       v
  Commune fires webhook to your app (8 retries, HMAC signed)
       |
       v
  Your MCP client reads thread via list_threads / get_thread_messages
       |
       v
  You ask Claude: "Reply to John saying we're on it"
       |
       v
  Claude calls send_email with thread_id --> reply appears in John's email thread

送信(メールを送る場合):

  You: "Send an update email to all VIP customers"
       |
       v
  Claude calls list_threads --> get_thread_messages --> send_email (per thread)
       |
       v
  Commune delivers via DKIM-signed SMTP
       |
       v
  Delivery events tracked: sent --> delivered / bounced / complained

ツールリファレンス

ドメインツール

メールドメインを管理します。送受信を行うには、ドメインを DNS で検証する必要があります。

list_domains

アカウント内のすべてのメールドメインを一覧表示します。

パラメーター: なし

出力:

[
  {
    "id": "d_abc123",
    "name": "example.com",
    "status": "verified",
    "region": "us-east-1"
  }
]

create_domain

新しいカスタムドメインを作成します。作成後、get_domain_records で必要な DNS レコードを確認し、verify_domain で検証します。

パラメーター型必須説明
namestrはいドメイン名(例:"example.com")
regionstrいいえAWS リージョン(例:"us-east-1")

出力: 作成されたドメインオブジェクト(ID とステータスを含む)。


get_domain_records

検証を通過する前に、ドメインレジストラーに追加する必要がある DNS レコードを取得します。

パラメーター型必須説明
domain_idstrはいlist_domains で取得したドメイン ID

出力:

[
  { "type": "MX", "name": "example.com", "value": "inbound-smtp.us-east-1.amazonaws.com", "status": "pending" },
  { "type": "TXT", "name": "example.com", "value": "v=spf1 include:amazonses.com ~all", "status": "pending" }
]

verify_domain

DNS 検証を開始します。ドメインレジストラーにレコードを追加した後に呼び出します。

パラメーター型必須説明
domain_idstrはいドメイン ID

受信トレイツール

受信トレイは、ドメイン配下のメールボックスです。example.com の support → [email protected]。

list_inboxes

受信トレイを一覧表示します。domain_id を指定しない場合は、すべてのドメインにある受信トレイを一覧表示します。

パラメーター型必須説明
domain_idstrいいえドメインで絞り込みます(省略するとすべてを一覧表示)

出力:

[
  {
    "id": "i_xyz789",
    "localPart": "support",
    "address": "[email protected]",
    "webhook": { "endpoint": "https://..." }
  }
]

create_inbox

新しい受信トレイを作成します。指定されていない場合、ドメインは自動解決されるため、DNS の設定は不要です。

パラメーター型必須説明
local_partstrはい@ より前の部分(例:"support"、"billing")
domain_idstrいいえ作成先のドメイン。省略すると自動解決されます。
namestrいいえ受信トレイのエージェント名
display_namestrいいえメールクライアントに表示される送信者名
webhook_endpointstrいいえメール通知用の URL

delete_inbox

受信トレイを完全に削除します。

パラメーター型必須説明
domain_idstrはいドメイン ID
inbox_idstrはい受信トレイ ID

set_extraction_schema

JSON Schema を使用して、受信トレイの構造化抽出を設定します。

ParameterTypeRequiredDescription
domain_idstrはいドメイン ID
inbox_idstrはい受信トレイ ID
namestrはいスキーマ名
schemastrはいスキーマオブジェクトの JSON 文字列
descriptionstrいいえ人が読める説明
enabledboolいいえ抽出を有効にするかどうか(デフォルトは true)

remove_extraction_schema

受信トレイの構造化抽出を削除します。

ParameterTypeRequiredDescription
domain_idstrはいドメイン ID
inbox_idstrはい受信トレイ ID

スレッドツール

スレッドはメールの会話、つまり関連するメッセージのグループです。最もよく使用されるツールです。

list_threads

受信トレイのスレッドをカーソルベースのページネーションで一覧表示します。デフォルトでは新しい順に返されます。

ParameterTypeRequiredDescription
inbox_idstrいずれか一方受信トレイで絞り込み
domain_idstr必須ドメインで絞り込み
limitintいいえ1~100、デフォルトは 20
cursorstrいいえ前回の応答から取得したページネーションカーソル
orderstrいいえ"desc"(新しい順)または "asc"

出力:

{
  "data": [
    {
      "thread_id": "conv_abc123",
      "subject": "Order not received",
      "message_count": 4,
      "last_message_at": "2025-03-15T14:30:00Z",
      "snippet": "Hi, I ordered 5 days ago and still haven't...",
      "last_direction": "inbound",
      "has_attachments": false
    }
  ],
  "next_cursor": "eyJsYXN0...",
  "has_more": true
}

次のページを取得するには、next_cursor を cursor パラメーターに渡します。


get_thread_messages

スレッド内のすべてのメッセージを取得します。古い順(時系列順)に返されます。

ParameterTypeRequiredDescription
thread_idstrはいlist_threads のスレッド ID
limitintいいえ1~1000、デフォルトは 50
orderstrいいえ"asc"(時系列順)または "desc"

出力:

[
  {
    "message_id": "msg_001",
    "direction": "inbound",
    "participants": [
      { "role": "sender", "identity": "[email protected]" },
      { "role": "to", "identity": "[email protected]" }
    ],
    "content": "Hi, I placed order #4521 five days ago...",
    "metadata": {
      "subject": "Order not received",
      "created_at": "2025-03-10T09:15:00Z"
    }
  },
  {
    "message_id": "msg_002",
    "direction": "outbound",
    "content": "We're looking into this for you...",
    "metadata": {
      "subject": "Re: Order not received",
      "created_at": "2025-03-10T10:30:00Z"
    }
  }
]

検索ツール
search_threads

メールスレッドを件名または本文の内容で検索します。利用可能な場合はベクトル検索(セマンティック検索)を使用し、利用できない場合はテキストマッチングに切り替えます。

ParameterTypeRequiredDescription
querystrはい検索クエリ(自然言語)
inbox_idstrいずれか一方受信トレイで絞り込み
domain_idstr必須ドメインで絞り込み
limitintいいえ1~100、デフォルトは 20

トリアージツール

スレッドのステータス、タグ、割り当てを管理します。エージェントネイティブなワークフローの基本要素です。

get_thread_metadata

スレッドのトリアージメタデータ(タグ、ステータス、割り当て)を取得します。

ParameterTypeRequiredDescription
thread_idstrはいスレッド ID

set_thread_status

スレッドのトリアージステータスを設定します。

ParameterTypeRequiredDescription
thread_idstrはいスレッド ID
statusstrはい"open"、"needs_reply"、"waiting"、または "closed"

tag_thread

スレッドにタグ/ラベルを追加します。タグは追加方式で適用され、既存のタグは保持されます。

ParameterTypeRequiredDescription
thread_idstrはいスレッド ID
tagsstrはいカンマ区切りのタグ(例:"urgent,vip,sales-lead")

untag_thread

スレッドからタグを削除します。

ParameterTypeRequiredDescription
thread_idstrはいスレッド ID
tagsstrはい削除するカンマ区切りのタグ

assign_thread

スレッドをエージェントまたはユーザーに割り当てます。割り当てを解除するには、空の値を渡します。

ParameterTypeRequiredDescription
thread_idstrはいスレッド ID
assigned_tostrいいえエージェント/ユーザー識別子(割り当て解除の場合は空の値)

配信可能性ツール
get_deliverability_stats

配信メトリクスを取得します。送信数、配信数、バウンス数、苦情数、失敗数とその割合を確認できます。

ParameterTypeRequiredDescription
inbox_idstrいずれか1つ受信トレイで絞り込み
domain_idstr必須ドメインで絞り込み
periodstrいいえ"24h"、"7d"、"30d"(デフォルト:"7d")

get_suppressions

抑制対象のメールアドレス(バウンス、苦情、配信停止)を一覧表示します。

ParameterTypeRequiredDescription
inbox_idstrいいえ受信トレイで絞り込み
domain_idstrいいえドメインで絞り込み
limitintいいえ最大件数(デフォルト:50)

get_delivery_events

個々のメールを追跡するための配信イベントログを取得します。

ParameterTypeRequiredDescription
message_idstrいいえ特定のメッセージで絞り込み
inbox_idstrいいえ受信トレイで絞り込み
domain_idstrいいえドメインで絞り込み
event_typestrいいえ"sent"、"delivered"、"bounced"、"complained"、"failed"
limitintいいえ最大件数(デフォルト:50)

メッセージツール
send_email

メールを送信します。新規メールを送信することも、既存のスレッド内で返信することもできます。

ParameterTypeRequiredDescription
tostrはい受信者(複数の場合はカンマ区切り)
subjectstrはい件名
htmlstrいいえ*HTML 本文
textstrいいえ*プレーンテキスト本文
from_addressstrいいえ送信者アドレス
reply_tostrいいえ返信先アドレス
thread_idstrいいえ既存のスレッド内で返信
inbox_idstrいいえ特定の受信トレイから送信
domain_idstrいいえ特定のドメインから送信
attachmentsstrいいえ添付ファイル ID(カンマ区切り)

*html または text のいずれかを指定してください。

スレッド内で返信するには、list_threads または get_thread_messages から取得した thread_id を渡します。受信者のメールボックスでは、メールがスレッドにまとめられます。


添付ファイルツール
upload_attachment

ファイルをアップロードします。send_email で使用する attachment_id が返されます。

ParameterTypeRequiredDescription
contentstrはいBase64 エンコードされたファイルの内容
filenamestrはいファイル名(例:"report.pdf")
mime_typestrはいMIME タイプ(例:"application/pdf")

出力:

{
  "attachment_id": "att_abc123",
  "filename": "report.pdf",
  "mime_type": "application/pdf",
  "size": 45230
}

get_attachment_url

添付ファイルの一時的なダウンロード URL を取得します。

ParameterTypeRequiredDescription
attachment_idstrはい添付ファイル ID
expires_inintいいえURL の有効期限までの秒数(デフォルト:3600)

出力:

{
  "url": "https://res.cloudinary.com/...",
  "expires_in": 3600,
  "filename": "report.pdf",
  "mime_type": "application/pdf",
  "size": 45230
}

電話番号ツール

SMS 用にプロビジョニングされた電話番号を管理します。

list_phone_numbers

アカウント内でプロビジョニングされた電話番号をすべて一覧表示します。

パラメーター: なし


get_phone_number

プロビジョニングされた電話番号1件の詳細を取得します。

ParameterTypeRequiredDescription
phone_number_idstrはいlist_phone_numbers から取得した電話番号 ID

list_available_phone_numbers

購入前に利用可能な電話番号を確認します。

ParameterTypeRequiredDescription
typestrいいえ"TollFree"(デフォルト)または "Local"
countrystrいいえ2文字の国コード(デフォルト:"US")
limitintいいえ最大件数(デフォルト:10)

provision_phone_number

SMS 用の電話番号を購入します。残高からクレジットが差し引かれます。

ParameterTypeRequiredDescription
phone_numberstrいいえ購入する特定の E.164 番号(省略すると自動選択されます)
typestrいいえ"tollfree"(デフォルト)または "local"
friendly_namestrいいえ人が読みやすいラベル

update_phone_number

電話番号のわかりやすい名前または自動返信メッセージを更新します。

ParameterTypeRequiredDescription
phone_number_idstrはい電話番号 ID
friendly_namestrいいえ人が読みやすいラベル
auto_replystrいいえすべての受信 SMS に対する自動返信テキスト(無効にするには空文字列を指定)

release_phone_number

割り当て済みの電話番号をプールに戻します。クレジットは返金されません。メッセージ履歴は保持されます。

ParameterTypeRequiredDescription
phone_number_idstrはい解放する電話番号 ID

set_phone_number_webhook

SMS イベント通知を受信するための Webhook を電話番号に設定します。

ParameterTypeRequiredDescription
phone_number_idstrはい電話番号 ID
endpointstrはいWebhook ペイロードを受信する HTTPS URL
secretstrいいえペイロード検証用の Webhook 署名シークレット
eventslistいいえイベントタイプ(デフォルト:["sms.received", "sms.sent"])

set_phone_number_allow_list

電話番号の許可リストを設定します。リスト内の番号からのみ SMS を受信できます。既存のリストは置き換えられます。

ParameterTypeRequiredDescription
phone_number_idstrはい電話番号 ID
numberslistはい許可する E.164 電話番号(空のリストを指定するとクリアされます)

set_phone_number_block_list

電話番号のブロックリストを設定します。リスト内の番号からの SMS は拒否されます。既存のリストは置き換えられます。

ParameterTypeRequiredDescription
phone_number_idstrはい電話番号 ID
numberslistはいブロックする E.164 電話番号(空のリストを指定するとクリアされます)

SMS ツール
send_sms

SMS メッセージを送信します。

ParameterTypeRequiredDescription
tostrはいE.164 形式の宛先(例:"+15551234567")
bodystrはいSMS メッセージのテキスト
phone_number_idstrいいえ特定の電話番号から送信します(省略すると自動割り当てされます)

list_sms_conversations

SMS の会話スレッドを一覧表示します。

ParameterTypeRequiredDescription
phone_number_idstrいいえ電話番号で絞り込みます(省略するとすべて表示されます)
limitintいいえ1~100、デフォルトは 20

get_sms_thread

特定の番号との SMS スレッド内のすべてのメッセージを取得します。

ParameterTypeRequiredDescription
remote_numberstrはいE.164 形式の外部電話番号
phone_number_idstrはいお使いの Commune 電話番号 ID

search_sms

SMS メッセージを意味検索します。

ParameterTypeRequiredDescription
querystrはい検索クエリ
phone_number_idstrいいえ特定の電話番号に対象を絞ります
limitintいいえ1~100、デフォルトは 20

list_sms_suppressions

SMS の受信が抑制されている電話番号(STOP キーワードで配信停止した番号)を一覧表示します。

ParameterTypeRequiredDescription
phone_number_idstrいいえ電話番号で絞り込みます(省略するとすべて表示されます)

remove_sms_suppression

SMS 抑制リストから電話番号を削除します(SMS 配信を再び有効にします)。

パラメーター型必須説明
phone_numberstrはい抑制リストから削除する E.164 形式の電話番号

クレジットツール
get_credit_balance

Commune アカウントの現在のクレジット残高を取得します。

パラメーター: なし


list_credit_bundles

購入可能なクレジットバンドルを一覧表示します。

パラメーター: なし


credits_checkout

クレジットバンドルを購入するための Stripe チェックアウトセッションを作成します。

パラメーター型必須説明
bundlestrはいバンドル ID:"starter"、"growth"、または "scale"
return_urlstrいいえ決済後のリダイレクト先 URL

FAQ

Claude Desktop に Commune を追加するにはどうすればよいですか? ~/Library/Application Support/Claude/claude_desktop_config.json を編集し、commune MCP サーバーのブロックを追加します(上記のセットアップを参照してください)。Claude Desktop を再起動すると、Commune のツールが Claude のツール一覧に自動的に表示されます。

commune-mcp と Python/TypeScript SDK の違いは何ですか? commune-mcp は、Claude Desktop や Cursor などの MCP クライアントで対話的に使用するためのものです。自然言語で指示すると、AI がツールを呼び出します。Python/TypeScript SDK は、コードでプログラムから自律型エージェントを構築するためのものです。どちらも同じ Commune バックエンドに接続します。

Cursor のエージェントモードで使えますか? はい。セットアップセクションに記載されている JSON ブロックを使い、Settings → MCP → Add Server から Cursor に commune-mcp を追加します。設定が完了すると、Cursor のエージェントモードでは、チャットや Composer のセッション中にスレッドの読み取り、メールの送信、受信トレイの管理など、すべての Commune ツールを使用できます。

MCP サーバー経由で新しい受信トレイを作成するにはどうすればよいですか? 「example.com の下に support という名前の新しい受信トレイを作成して」と指示するだけです。エージェントは local_part: "support" とドメイン ID を指定して create_inbox を呼び出します。ドメインを指定しない場合、Commune が自動で割り当てるため、ローカルパートだけで受信トレイを作成でき、DNS の設定も必要ありません。

Claude は実際にこの機能でメールを送信できますか? はい。エージェントが send_email を呼び出すと、Commune は DKIM 署名付き SMTP を介して宛先の受信トレイに実際のメールを配信します。メールは通常のメールと同じように表示され、Gmail や Outlook で正しくスレッド化され、HTML と添付ファイルにも対応し、追跡可能な配信イベントが生成されます。

チャットセッションを開いていない間に届いたメールはどうなりますか? Commune はすべての受信メールとスレッドを永続的に保存します。新しいチャットを開いて受信トレイの確認を依頼すると、エージェントは list_threads を呼び出し、前回のセッション以降に届いたすべてのメールを取得します。必要に応じて各受信トレイに Webhook を設定すると、アプリにリアルタイムで通知が届きます(再試行 8 回、HMAC 署名付き)。

新しいメールを作成するのではなく、スレッドに返信するにはどうすればよいですか? send_email に thread_id を渡します。最も簡単なのは、エージェントにスレッドを表示するよう依頼した後、「このスレッドに返信して、……と伝えて」と指示する方法です。エージェントは thread_id をコンテキスト内に保持し、自動的に渡します。返信は受信者のメールクライアントでスレッド化されて表示されます。

メールの内容はプライベートに保護されますか? メールの内容は TLS 経由で送信され、Commune のインフラストラクチャ上で保存時に暗号化されます。すべてのリクエストは API キーで認証され、Webhook は HMAC 署名付きのため、アプリ側でペイロードが改ざんされていないことを検証できます。お客様のコンテンツが AI モデルのトレーニングに使われることはありません。

自分のメールドメインを使えますか? はい。create_domain でドメインを登録し、get_domain_records で必要な MX、TXT、CNAME レコードを確認してレジストラで追加し、verify_domain を呼び出します。検証が完了すると、そのドメイン配下のすべての受信トレイで、お客様のドメインが送信者アドレスとして使用されます(例:[email protected])。 API キーはどのような形式ですか? Commune API キーはcomm_というプレフィックスで始まり、その後にランダムな文字列が続きます。たとえば、comm_sk_live_abc123xyzのような形式です。Commune ダッシュボードで作成してください。API キーはパスワードと同じように扱い、秘密にして、ソース管理に絶対にコミットしないでください。

受信トレイで特定のトピックを検索するにはどうすればよいですか? search_threadsツールを使い、「サポート用の受信トレイから、返金に関するメールを検索して」のように自然な言葉で依頼してください。エージェントがクエリを指定してsearch_threadsを呼び出します。Commune はセマンティック検索を使用するため、正確な単語が一致しなくても関連するスレッドを見つけられます。たとえば、「返金」に関するスレッドは、「お金を返して」という検索語でも見つかります。

複数の人が同じ Commune MCP サーバーを使用できますか? はい。Commune では組織を使用します。複数のチームメンバーが同じアカウントと API キーを共有することも、各メンバーが同じ組織に紐づく個別の API キーを持つこともできます。すべての API キーから同じドメインと受信トレイにアクセスできます。プロジェクトごとに分離するには、別々の受信トレイ(例:billing@、support@)を作成し、ツール呼び出しでinbox_idによる絞り込みを行ってください。


環境変数

変数必須説明
COMMUNE_API_KEYはいAPI キー(comm_で始まります)
COMMUNE_BASE_URLいいえAPI URL を上書きします(デフォルト:Commune クラウド)

エコシステム

パッケージ説明
communeメールおよび SMS インフラストラクチャ — セルフホスト可能なバックエンド
commune-aiTypeScript/Node.js SDK
commune-pythonPython SDK
commune-mcpClaude Desktop、Cursor、Windsurf 向け MCP サーバー
commune-cliコマンドラインインターフェース

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

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

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