Commune について
Communeは、AIエージェントにメール受信箱とSMSへのアクセスを提供するMCPサーバーです。メッセージ処理に加え、受信箱とドメインの管理、スレッドの振り分け、配信状況の追跡を行えます。
主な機能
- 01メールスレッドの閲覧、検索、返信
- 02添付ファイル付きメールの送信
- 03受信箱の作成とドメイン管理
- 04スレッドへのタグ付け、割り当て、状態更新
- 05SMSの送信とメッセージ履歴の検索
- 06配信、バウンス、苦情の追跡
活用シーン
- 01カスタマーサポートメールの振り分けと返信
- 02話題や本文で会話を検索
- 03SMSで注文状況を通知
- 04メール配信状況と抑制リストを確認
MCP 対応
Claude Desktop、Cursor、WindsurfなどのMCPクライアントに、メール、受信箱、ドメイン、スレッド振り分け、配信追跡、SMSのツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Claude Desktop、Cursor、Windsurf 向けメール
Claude(または任意の MCP クライアント)に、実際のメール受信トレイと SMS を利用させましょう。クローンは不要で、30 秒でインストールできます。
AI エージェントで次のことができます。
- メールを読む — スレッドの一覧表示、トピック別の検索、メッセージ履歴全体の取得
- メールを送信する — 既存スレッドへの返信、新規メッセージの作成、ファイルの添付
- 受信トレイを管理する — プログラムからの受信トレイの作成、カスタムドメインの設定、タグやステータスを使った振り分け
- 配信状況を追跡する — 配信統計、抑止リスト、バウンスや苦情イベントの取得
- SMS を送受信する — 電話番号のプロビジョニング、メッセージの送信、SMS 履歴の検索
Claude Desktop、Cursor、Windsurf、または任意の MCP クライアントで動作します。
Smithery 経由でインストール
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 件あります:
- 「注文が届きません」 — 4 件のメッセージ、最終アクティビティは 2 時間前
- 「請求に関する質問」 — 1 件のメッセージ、本日受信
- 「機能のリクエスト」 — 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 で検証します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
name | str | はい | ドメイン名(例:"example.com") |
region | str | いいえ | AWS リージョン(例:"us-east-1") |
出力: 作成されたドメインオブジェクト(ID とステータスを含む)。
get_domain_records
検証を通過する前に、ドメインレジストラーに追加する必要がある DNS レコードを取得します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
domain_id | str | はい | 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_id | str | はい | ドメイン ID |
受信トレイツール
受信トレイは、ドメイン配下のメールボックスです。example.com の support → [email protected]。
list_inboxes
受信トレイを一覧表示します。domain_id を指定しない場合は、すべてのドメインにある受信トレイを一覧表示します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
domain_id | str | いいえ | ドメインで絞り込みます(省略するとすべてを一覧表示) |
出力:
[
{
"id": "i_xyz789",
"localPart": "support",
"address": "[email protected]",
"webhook": { "endpoint": "https://..." }
}
]
create_inbox
新しい受信トレイを作成します。指定されていない場合、ドメインは自動解決されるため、DNS の設定は不要です。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
local_part | str | はい | @ より前の部分(例:"support"、"billing") |
domain_id | str | いいえ | 作成先のドメイン。省略すると自動解決されます。 |
name | str | いいえ | 受信トレイのエージェント名 |
display_name | str | いいえ | メールクライアントに表示される送信者名 |
webhook_endpoint | str | いいえ | メール通知用の URL |
delete_inbox
受信トレイを完全に削除します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
domain_id | str | はい | ドメイン ID |
inbox_id | str | はい | 受信トレイ ID |
set_extraction_schema
JSON Schema を使用して、受信トレイの構造化抽出を設定します。
| Parameter | Type | Required | Description |
|---|---|---|---|
domain_id | str | はい | ドメイン ID |
inbox_id | str | はい | 受信トレイ ID |
name | str | はい | スキーマ名 |
schema | str | はい | スキーマオブジェクトの JSON 文字列 |
description | str | いいえ | 人が読める説明 |
enabled | bool | いいえ | 抽出を有効にするかどうか(デフォルトは true) |
remove_extraction_schema
受信トレイの構造化抽出を削除します。
| Parameter | Type | Required | Description |
|---|---|---|---|
domain_id | str | はい | ドメイン ID |
inbox_id | str | はい | 受信トレイ ID |
スレッドツール
スレッドはメールの会話、つまり関連するメッセージのグループです。最もよく使用されるツールです。
list_threads
受信トレイのスレッドをカーソルベースのページネーションで一覧表示します。デフォルトでは新しい順に返されます。
| Parameter | Type | Required | Description |
|---|---|---|---|
inbox_id | str | いずれか一方 | 受信トレイで絞り込み |
domain_id | str | 必須 | ドメインで絞り込み |
limit | int | いいえ | 1~100、デフォルトは 20 |
cursor | str | いいえ | 前回の応答から取得したページネーションカーソル |
order | str | いいえ | "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
スレッド内のすべてのメッセージを取得します。古い順(時系列順)に返されます。
| Parameter | Type | Required | Description |
|---|---|---|---|
thread_id | str | はい | list_threads のスレッド ID |
limit | int | いいえ | 1~1000、デフォルトは 50 |
order | str | いいえ | "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
メールスレッドを件名または本文の内容で検索します。利用可能な場合はベクトル検索(セマンティック検索)を使用し、利用できない場合はテキストマッチングに切り替えます。
| Parameter | Type | Required | Description |
|---|---|---|---|
query | str | はい | 検索クエリ(自然言語) |
inbox_id | str | いずれか一方 | 受信トレイで絞り込み |
domain_id | str | 必須 | ドメインで絞り込み |
limit | int | いいえ | 1~100、デフォルトは 20 |
トリアージツール
スレッドのステータス、タグ、割り当てを管理します。エージェントネイティブなワークフローの基本要素です。
get_thread_metadata
スレッドのトリアージメタデータ(タグ、ステータス、割り当て)を取得します。
| Parameter | Type | Required | Description |
|---|---|---|---|
thread_id | str | はい | スレッド ID |
set_thread_status
スレッドのトリアージステータスを設定します。
| Parameter | Type | Required | Description |
|---|---|---|---|
thread_id | str | はい | スレッド ID |
status | str | はい | "open"、"needs_reply"、"waiting"、または "closed" |
tag_thread
スレッドにタグ/ラベルを追加します。タグは追加方式で適用され、既存のタグは保持されます。
| Parameter | Type | Required | Description |
|---|---|---|---|
thread_id | str | はい | スレッド ID |
tags | str | はい | カンマ区切りのタグ(例:"urgent,vip,sales-lead") |
untag_thread
スレッドからタグを削除します。
| Parameter | Type | Required | Description |
|---|---|---|---|
thread_id | str | はい | スレッド ID |
tags | str | はい | 削除するカンマ区切りのタグ |
assign_thread
スレッドをエージェントまたはユーザーに割り当てます。割り当てを解除するには、空の値を渡します。
| Parameter | Type | Required | Description |
|---|---|---|---|
thread_id | str | はい | スレッド ID |
assigned_to | str | いいえ | エージェント/ユーザー識別子(割り当て解除の場合は空の値) |
配信可能性ツール
get_deliverability_stats
配信メトリクスを取得します。送信数、配信数、バウンス数、苦情数、失敗数とその割合を確認できます。
| Parameter | Type | Required | Description |
|---|---|---|---|
inbox_id | str | いずれか1つ | 受信トレイで絞り込み |
domain_id | str | 必須 | ドメインで絞り込み |
period | str | いいえ | "24h"、"7d"、"30d"(デフォルト:"7d") |
get_suppressions
抑制対象のメールアドレス(バウンス、苦情、配信停止)を一覧表示します。
| Parameter | Type | Required | Description |
|---|---|---|---|
inbox_id | str | いいえ | 受信トレイで絞り込み |
domain_id | str | いいえ | ドメインで絞り込み |
limit | int | いいえ | 最大件数(デフォルト:50) |
get_delivery_events
個々のメールを追跡するための配信イベントログを取得します。
| Parameter | Type | Required | Description |
|---|---|---|---|
message_id | str | いいえ | 特定のメッセージで絞り込み |
inbox_id | str | いいえ | 受信トレイで絞り込み |
domain_id | str | いいえ | ドメインで絞り込み |
event_type | str | いいえ | "sent"、"delivered"、"bounced"、"complained"、"failed" |
limit | int | いいえ | 最大件数(デフォルト:50) |
メッセージツール
send_email
メールを送信します。新規メールを送信することも、既存のスレッド内で返信することもできます。
| Parameter | Type | Required | Description |
|---|---|---|---|
to | str | はい | 受信者(複数の場合はカンマ区切り) |
subject | str | はい | 件名 |
html | str | いいえ* | HTML 本文 |
text | str | いいえ* | プレーンテキスト本文 |
from_address | str | いいえ | 送信者アドレス |
reply_to | str | いいえ | 返信先アドレス |
thread_id | str | いいえ | 既存のスレッド内で返信 |
inbox_id | str | いいえ | 特定の受信トレイから送信 |
domain_id | str | いいえ | 特定のドメインから送信 |
attachments | str | いいえ | 添付ファイル ID(カンマ区切り) |
*html または text のいずれかを指定してください。
スレッド内で返信するには、list_threads または get_thread_messages から取得した thread_id を渡します。受信者のメールボックスでは、メールがスレッドにまとめられます。
添付ファイルツール
upload_attachment
ファイルをアップロードします。send_email で使用する attachment_id が返されます。
| Parameter | Type | Required | Description |
|---|---|---|---|
content | str | はい | Base64 エンコードされたファイルの内容 |
filename | str | はい | ファイル名(例:"report.pdf") |
mime_type | str | はい | MIME タイプ(例:"application/pdf") |
出力:
{
"attachment_id": "att_abc123",
"filename": "report.pdf",
"mime_type": "application/pdf",
"size": 45230
}
get_attachment_url
添付ファイルの一時的なダウンロード URL を取得します。
| Parameter | Type | Required | Description |
|---|---|---|---|
attachment_id | str | はい | 添付ファイル ID |
expires_in | int | いいえ | 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件の詳細を取得します。
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number_id | str | はい | list_phone_numbers から取得した電話番号 ID |
list_available_phone_numbers
購入前に利用可能な電話番号を確認します。
| Parameter | Type | Required | Description |
|---|---|---|---|
type | str | いいえ | "TollFree"(デフォルト)または "Local" |
country | str | いいえ | 2文字の国コード(デフォルト:"US") |
limit | int | いいえ | 最大件数(デフォルト:10) |
provision_phone_number
SMS 用の電話番号を購入します。残高からクレジットが差し引かれます。
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number | str | いいえ | 購入する特定の E.164 番号(省略すると自動選択されます) |
type | str | いいえ | "tollfree"(デフォルト)または "local" |
friendly_name | str | いいえ | 人が読みやすいラベル |
update_phone_number
電話番号のわかりやすい名前または自動返信メッセージを更新します。
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number_id | str | はい | 電話番号 ID |
friendly_name | str | いいえ | 人が読みやすいラベル |
auto_reply | str | いいえ | すべての受信 SMS に対する自動返信テキスト(無効にするには空文字列を指定) |
release_phone_number
割り当て済みの電話番号をプールに戻します。クレジットは返金されません。メッセージ履歴は保持されます。
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number_id | str | はい | 解放する電話番号 ID |
set_phone_number_webhook
SMS イベント通知を受信するための Webhook を電話番号に設定します。
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number_id | str | はい | 電話番号 ID |
endpoint | str | はい | Webhook ペイロードを受信する HTTPS URL |
secret | str | いいえ | ペイロード検証用の Webhook 署名シークレット |
events | list | いいえ | イベントタイプ(デフォルト:["sms.received", "sms.sent"]) |
set_phone_number_allow_list
電話番号の許可リストを設定します。リスト内の番号からのみ SMS を受信できます。既存のリストは置き換えられます。
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number_id | str | はい | 電話番号 ID |
numbers | list | はい | 許可する E.164 電話番号(空のリストを指定するとクリアされます) |
set_phone_number_block_list
電話番号のブロックリストを設定します。リスト内の番号からの SMS は拒否されます。既存のリストは置き換えられます。
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number_id | str | はい | 電話番号 ID |
numbers | list | はい | ブロックする E.164 電話番号(空のリストを指定するとクリアされます) |
SMS ツール
send_sms
SMS メッセージを送信します。
| Parameter | Type | Required | Description |
|---|---|---|---|
to | str | はい | E.164 形式の宛先(例:"+15551234567") |
body | str | はい | SMS メッセージのテキスト |
phone_number_id | str | いいえ | 特定の電話番号から送信します(省略すると自動割り当てされます) |
list_sms_conversations
SMS の会話スレッドを一覧表示します。
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number_id | str | いいえ | 電話番号で絞り込みます(省略するとすべて表示されます) |
limit | int | いいえ | 1~100、デフォルトは 20 |
get_sms_thread
特定の番号との SMS スレッド内のすべてのメッセージを取得します。
| Parameter | Type | Required | Description |
|---|---|---|---|
remote_number | str | はい | E.164 形式の外部電話番号 |
phone_number_id | str | はい | お使いの Commune 電話番号 ID |
search_sms
SMS メッセージを意味検索します。
| Parameter | Type | Required | Description |
|---|---|---|---|
query | str | はい | 検索クエリ |
phone_number_id | str | いいえ | 特定の電話番号に対象を絞ります |
limit | int | いいえ | 1~100、デフォルトは 20 |
list_sms_suppressions
SMS の受信が抑制されている電話番号(STOP キーワードで配信停止した番号)を一覧表示します。
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number_id | str | いいえ | 電話番号で絞り込みます(省略するとすべて表示されます) |
remove_sms_suppression
SMS 抑制リストから電話番号を削除します(SMS 配信を再び有効にします)。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
phone_number | str | はい | 抑制リストから削除する E.164 形式の電話番号 |
クレジットツール
get_credit_balance
Commune アカウントの現在のクレジット残高を取得します。
パラメーター: なし
list_credit_bundles
購入可能なクレジットバンドルを一覧表示します。
パラメーター: なし
credits_checkout
クレジットバンドルを購入するための Stripe チェックアウトセッションを作成します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
bundle | str | はい | バンドル ID:"starter"、"growth"、または "scale" |
return_url | str | いいえ | 決済後のリダイレクト先 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-ai | TypeScript/Node.js SDK |
| commune-python | Python SDK |
| commune-mcp | Claude Desktop、Cursor、Windsurf 向け MCP サーバー |
| commune-cli | コマンドラインインターフェース |
ライセンス
Apache-2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。