Aruba Email & Calendar について
Aruba Email & Calendar は、IMAP、SMTP、CalDAV を使って Aruba のメールとカレンダーを管理する MCP サーバーです。AI クライアントからメール検索・送信、署名管理、予定操作を行えます。
主な機能
- 01メールの一覧表示・検索・閲覧
- 02カスタム署名付きメールの送信
- 03添付ファイルの一覧表示とダウンロード
- 04カレンダー予定の作成と管理
- 05カレンダー招待への返答
活用シーン
- 01キーワードや日付でプロジェクトのメールを検索
- 02設定済みの署名を使って返信を送信
- 03今後のカレンダー予定を確認
- 04会議の招待を承諾または辞退
MCP 対応
Aruba のメールとカレンダー操作を、MCP クライアント向けのツールとして公開します。サーバーはローカルで動作し、Aruba のサーバーに直接接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx mcp-arubaEMAIL_USERYour Aruba email addressEMAIL_PASSWORDシークレットYour Aruba email passwordIMAP_HOSTIMAP server hostname (default: imaps.aruba.it)SMTP_HOSTSMTP server hostname (default: smtps.aruba.it)CALDAV_URLCalDAV server URL (default: https://calendar.aruba.it/dav.php)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Aruba Email & Calendar Server
イタリア語 | 英語
IMAP/SMTP/CalDAV を通じて Aruba のメールとカレンダーにアクセスするための MCP(Model Context Protocol)サーバーです。Claude などの AI アシスタントと Aruba のメールやカレンダーを簡単に連携できます!
📦 インストール方法
オプション 1:VS Code 拡張機能(最も簡単)⭐
VS Code で GitHub Copilot と一緒に使う場合:
- VS Code Marketplace から拡張機能をインストールします
⌘+Shift+P→ 「Aruba Email: Configure Credentials」 で認証情報を設定します- Copilot Chat ですぐに使えます!
オプション 2:Smithery からインストール(MCP レジストリ)🔍
VS Code やその他の MCP クライアントで @mcp aruba を使う場合:
- サーバーは Smithery で利用できます
- VS Code Copilot Chat で
@mcp arubaと入力し、手順に従います - または CLI からインストールします:
smithery install io.github.jackfioru92/aruba-email
オプション 3:手動インストール(Claude Desktop 用)
Claude Desktop で使う場合:
機能
メール
- 📧 メール一覧 - 送信者でフィルタリングして受信トレイを閲覧します
- 🔍 メール検索 - 日付フィルターを使って件名や本文を検索します
- 📖 メールを読む - メールの全文を取得します(HTML は読みやすいテキストに変換されます)
- ✉️ メール送信 - カスタム署名付きのメールを SMTP 経由で送信します
- ✍️ メール署名 - 写真やブランドカラーを使ったプロフェッショナルな署名を作成します
- 📎 添付ファイル - メールの添付ファイル(PDF、画像、ドキュメント)を一覧表示してダウンロードします
- 💾 .eml 形式でエクスポート - バックアップ用にメールを RFC822 形式でエクスポートします
カレンダー
- 📅 イベント作成 - 参加者を指定してカレンダーイベントを作成します
- 📋 イベント一覧 - 今後のイベントを表示します
- ✅ 招待を承諾 - カレンダーの招待を承諾します
- ❌ 招待を辞退 - カレンダーの招待を辞退します
- ❓ 未定 - カレンダーの招待に「未定」と回答します
- 🗑️ イベント削除 - カレンダーからイベントを削除します
全般
- 🔒 安全 - SSL/TLS 上で IMAP/SMTP/CalDAV を使用します
- ⚡ 高速 - コンテキストマネージャーを使って接続を効率的に管理します
- 🤖 AI 対応 - Claude Desktop やその他の MCP クライアントでスムーズに動作します
設定(手動インストールのみ)
.env.exampleを.envにコピーします:
cp .env.example .env
.envを編集して、Aruba の認証情報を入力します:
# Configurazione Email
IMAP_HOST=imaps.aruba.it
IMAP_PORT=993
[email protected]
IMAP_PASSWORD=tua_password
SMTP_HOST=smtps.aruba.it
SMTP_PORT=465
# Configurazione Calendario
CALDAV_URL=https://syncdav.aruba.it/calendars/[email protected]/
[email protected]
CALDAV_PASSWORD=tua_password
-
(任意)カスタムメール署名を設定します:
方法 1:対話型スクリプト(推奨)
# Esegui lo script interattivo python setup_signature.pyスクリプトに従って、次の内容を含むプロフェッショナルな署名を作成できます:
- 📝 個人情報(氏名、役職、会社、連絡先)
- 🎨 スタイルの選択(professional、minimal、colorful)
- 🌈 色のカスタマイズ
- 📸 Imgur への写真の自動アップロード(任意)
方法 2:Claude を使用(さらに簡単です!)
Dopo aver configurato Claude Desktop, chiedi direttamente: "Crea una firma email per me con nome Mario Rossi, ruolo Software Developer, azienda TechCorp e colore #0066cc" "Configura la mia firma con questa foto: /path/to/photo.jpg" "Imposta una firma minimal con solo nome e email"Claude は MCP ツールを自動的に使用して、署名を作成します!
署名は、送信するすべてのメールに自動的に含まれます。
注:認証情報はローカルに保存され、コンピューターの外部に送信されることはありません。MCP サーバーはローカルで実行され、Aruba のサーバーに直接接続します。
使用方法
🚀 クイックスタート:最新のメールを表示する
最も手早く始める方法:
# Installa dipendenze
pip install -e .
# Configura credenziali (copia e modifica .env.example)
cp .env.example .env
# Modifica .env con le tue credenziali Aruba
# Mostra le ultime email
python cli.py emails 5
# Oppure usa lo script demo
python demo_list_emails.py
Claude を使いますか? 設定後、次のように尋ねるだけです:
Mostrami le ultime 5 email
Dammi le email più recenti
Quali email ho ricevuto oggi?
📖 完全ガイド:利用可能なすべての方法については、GUIDA_UTILIZZO_EMAIL.md をご覧ください。
サーバーを直接実行する
python -m mcp_aruba.server
Claude Desktop で設定する
詳細な手順については、CLAUDE_SETUP.md をご覧ください。
~/Library/Application Support/Claude/claude_desktop_config.json のクイック設定:
{
"mcpServers": {
"aruba-email-calendar": {
"command": "python",
"args": ["-m", "mcp_aruba.server"],
"env": {
"IMAP_HOST": "imaps.aruba.it",
"IMAP_PORT": "993",
"IMAP_USERNAME": "[email protected]",
"IMAP_PASSWORD": "tua_password",
"SMTP_HOST": "smtps.aruba.it",
"SMTP_PORT": "465",
"CALDAV_URL": "https://syncdav.aruba.it/calendars/[email protected]/",
"CALDAV_USERNAME": "[email protected]",
"CALDAV_PASSWORD": "tua_password"
}
}
}
}
VS Code Copilot で設定する
VS Code の Copilot MCP 拡張機能でこのサーバーを使用する詳細な手順については、VSCODE_SETUP.md をご覧ください。
クイック CLI を使う
# Attiva ambiente virtuale
source .venv/bin/activate
# Mostra ultime 5 email
python cli.py emails
# Mostra ultime 10 email
python cli.py emails 10
# Mostra eventi prossimi 7 giorni
python cli.py calendar
# Mostra eventi prossimi 14 giorni
python cli.py calendar 14
利用可能なツール
メールツール
list_emails
オプションのフィルターを指定して、最近のメールを一覧表示します。
パラメーター:
folder(str, default: "INBOX") - 読み取るメールフォルダーsender_filter(str, optional) - 送信者のメールアドレスで絞り込みますlimit(int, default: 10, max: 50) - 返すメールの件数
例:
Mostra le ultime 5 email da [email protected]
Elenca email recenti nella mia inbox
Dammi le 10 email più recenti dal mio capo
read_email
特定のメールの内容をすべて読み取ります。
パラメーター:
email_id(str) - list_emails から取得したメール IDfolder(str, default: "INBOX") - メールフォルダー
例:
Leggi l'email 123
Mostrami il contenuto completo dell'email 456
search_emails
件名または本文の内容でメールを検索します。
パラメーター:
query(str) - 検索クエリfolder(str, default: "INBOX") - 検索するフォルダーfrom_date(str, optional) - この日付以降のメールのみ(形式:DD-MMM-YYYY)limit(int, default: 10, max: 50) - 結果の最大件数
例:
Cerca email che parlano di "API" dalla settimana scorsa
Trova tutte le email su "fattura" da dicembre
send_email
SMTP 経由でメールを送信します。
パラメーター:
to(str) - 送信先のメールアドレスsubject(str) - メールの件名body(str) - メール本文(プレーンテキスト)cc(str, optional) - CC のメールアドレス(カンマ区切り)from_name(str, default: "Giacomo Fiorucci") - 送信者の表示名use_signature(bool, default: True) - 設定済みのメール署名を含めるかどうかverify_recipient(bool, default: True) - 送信先のメールアドレスが存在するか確認するかどうか
例:
Invia un'email a [email protected] ringraziando per l'aggiornamento
Rispondi a [email protected] con lo stato del progetto
Invia un'email a [email protected] con CC a [email protected]
署名に関する注記:setup_signature.py を使用して署名を設定している場合、メールに自動的に含まれます。use_signature=False を指定すると、一時的に無効にできます。
set_email_signature
カスタムメール署名を設定します。
パラメーター:
name(str) - 氏名email(str) - メールアドレスrole(str, optional) - 役職/職位company(str, optional) - 会社名phone(str, optional) - 電話番号website(str, optional) - ウェブサイトphoto_input(str, optional) - 写真のファイルパスまたは URL(Imgur に自動アップロード)style(str, default: "professional") - スタイル:professional、minimal、colorfulcolor(str, default: "#0066cc") - メインカラー(16 進数形式)signature_name(str, default: "default") - 署名を識別する名前
例:
Crea una firma con il mio nome, ruolo e foto del profilo
Configura una firma professionale con logo aziendale
get_email_signature
現在のメール署名を取得します。
パラメーター:
signature_name(str、デフォルト:"default")- 取得する署名の名前
list_email_signatures
保存されているすべてのメール署名を一覧表示します。
カレンダーツール
create_calendar_event
新しいカレンダーイベントを作成します。
パラメーター:
summary(str)- イベントのタイトルstart(str)- ISO 形式の開始日時(YYYY-MM-DDTHH:MM:SS)end(str)- ISO 形式の終了日時description(str、任意)- イベントの説明location(str、任意)- イベントの場所attendees(str、任意)- カンマ区切りの参加者メールアドレス一覧
例:
Crea un meeting chiamato "Riunione Team" domani alle 15 per 1 ora
Programma un "Project Review" il 10 dicembre alle 14 con [email protected]
list_calendar_events
指定した日付範囲のカレンダーイベントを一覧表示します。
パラメーター:
start_date(str、任意)- ISO 形式の開始日(デフォルト:今日)end_date(str、任意)- ISO 形式の終了日(デフォルト:現在から30日後)limit(int、デフォルト:50)- 返すイベントの最大数
例:
Mostrami il mio calendario per questa settimana
Quali eventi ho a dicembre?
Elenca tutti i miei meeting per i prossimi 7 giorni
accept_calendar_event
カレンダーの招待を承諾します。
パラメーター:
event_uid(str)- イベントのUIDcomment(str、任意)- 任意のコメント
例:
Accetta l'invito al meeting "Team Standup"
Accetta l'evento [email protected] con commento "Non vedo l'ora!"
decline_calendar_event
カレンダーの招待を辞退します。
パラメーター:
event_uid(str)- イベントのUIDcomment(str、任意)- 任意のコメント
例:
Declina l'evento [email protected]
Declina il meeting con commento "Mi dispiace, ho un conflitto"
tentative_calendar_event
カレンダーの招待に「仮承諾」で返信します。
パラメーター:
event_uid(str)- イベントのUIDcomment(str、任意)- 任意のコメント
例:
Rispondi forse all'evento [email protected]
Segna come "forse" il meeting di domani
Forse partecipo al meeting di domani
delete_calendar_event
カレンダーイベントを削除します。
パラメーター:
event_uid(str)- 削除するイベントのUID
例:
Elimina l'evento [email protected]
Cancella il mio meeting delle 14
ユースケース
📬 チームコミュニケーション
Mostrami le ultime email dai membri del mio team
Elenca email non lette da [email protected]
🔍 プロジェクトの追跡
Cerca email che menzionano "modifiche API" dall'ultima settimana
Trova tutte le email su "fattura" dal 1° dicembre
📊 毎日のメール要約
Riassumi tutte le email che ho ricevuto oggi
Mostrami le email importanti di stamattina
✉️ クイック返信
Invia un'email a [email protected] ringraziandoli per l'aggiornamento
Rispondi a [email protected] con lo stato del progetto
📅 カレンダー管理
Quali meeting ho questa settimana?
Crea una riunione team per domani alle 15
Accetta l'invito calendario per la review di venerdì
Declina il meeting di lunedì, sono in vacanza
Mostrami il mio programma per la prossima settimana
🤖 AI によるメールとカレンダーの管理
Claude Desktop または VS Code Copilot を使用すると、次のことができます。
- Claude に複数のメールの要約を依頼する
- メールの内容に基づいて返信を作成する
- メールスレッドからタスクを抽出する
- メールを自動的に整理、分類する
- メールでの会話に基づいてミーティングを予定する
- カレンダーの競合を管理し、空き時間帯を見つける
技術スタック
- Python 3.10+ - 最新の Python
- MCP SDK 1.2.0+ - AI 連携のための Model Context Protocol
- imaplib - 標準ライブラリの IMAP クライアント(SSL/TLS 対応)
- smtplib - 標準ライブラリの SMTP クライアント(SSL/TLS 対応)
- email - メールの解析と MIME の処理
- caldav - カレンダーアクセス用の CalDAV プロトコル
- icalendar - iCalendar 形式の解析と生成
- python-dotenv - 環境変数の管理
セキュリティとプライバシー
- 🔒 ローカル実行 - サーバーはお使いのコンピューター上で動作し、認証情報が端末の外に出ることはありません
- 🛡️ SSL/TLS 暗号化 - すべての接続で安全なプロトコルを使用します(IMAPS ポート 993、SMTPS ポート 465、CalDAV 用 HTTPS)
- 🔐 環境変数 - 認証情報は
.envファイルに保存されます(デフォルトで gitignore 対象) - 📝 本文の切り詰め - コンテキストのあふれを防ぐため、メール本文を5000文字に制限します
- ✅ 外部サービス不使用 - Aruba のサーバーにのみ直接接続します
セキュリティのベストプラクティス
.envファイルをバージョン管理にコミットしないでください- メールアカウントには、強力で一意のパスワードを使用してください
- Aruba アカウントで2FAを有効にすることを検討してください
- 認証情報を定期的に更新してください
- 不審なアクティビティがないか、MCP サーバーのログを確認してください
パフォーマンス
- ⚡ コンテキストマネージャーによるコネクションプーリング
- 📊 メモリの問題を防ぐため、結果数の上限を設定可能
- 🚀 オンデマンド接続(バックグラウンドプロセスなし)
- 💾 メモリフットプリントを最小限に抑制
開発
テストの実行
# Attiva ambiente virtuale
source .venv/bin/activate
# Esegui test connessione email
python test_connection.py
# Esegui test connessione calendario
python test_calendar.py
# Test creazione evento
python test_create_event.py
# Test invio invito calendario
python send_invite.py
コード品質
# Formatta codice
black src/
# Type checking
mypy src/
# Linting
pylint src/
CalDAV 同期を有効にする
カレンダー機能を使用するには、Aruba Webmail で CalDAV 同期を有効にする必要があります。
- https://webmail.aruba.it にアクセスします
- 「カレンダー」セクションに移動します
- **「カレンダーを同期」**をクリックします
- 「カレンダー」 → **「続行」**を選択します
- 「読み取りと変更」(CalDAV)→ **「続行」**を選択します
- 同期するカレンダーを選択します → 「続行」
有効にすると、MCP サーバーを通じてカレンダーを完全に管理できるようになります!
トラブルシューティング
カレンダーを利用できない
「No calendar available」と表示される場合は、CalDAV 同期を有効にする必要があります(上記のセクションを参照)。
接続エラー
.envの認証情報が正しいことを確認します- ポート 993(IMAP)、465(SMTP)、443(CalDAV)がブロックされていないことを確認します
- ファイアウォールの設定を確認します
- テストスクリプトを実行してみます
メールやイベントが表示されない
- アカウントに適切な権限があることを確認します
- 適用されているフィルター(sender_filter、日付フィルター)を確認します
- 結果の上限を増やします
FAQ
Q:認証情報を .env ファイルに保存しても安全ですか?
A:はい、.env ファイルをバージョン管理にコミットしない限り安全です。このファイルはすでに .gitignore に含まれています。認証情報はお使いのローカルコンピューターに保存されます。
Q:ほかのメールプロバイダーでも使用できますか?
A:このサーバーは Aruba 向けに最適化されていますが、設定を変更すれば IMAP/SMTP/CalDAV に対応するほかのプロバイダーにも適応できます。
Q:MCP サーバーの利用料金はいくらですか?
A:MCP サーバーは無料です!これはオープンソースソフトウェアです。これらの AI と一緒に使用するには、Claude または GitHub Copilot のサブスクリプションだけが必要です。
Q:データが第三者に送信されますか?
A:いいえ!サーバーはローカルで実行され、Aruba のサーバーに直接接続します。第三者のサービスを経由するデータはありません。
Q:プロジェクトに貢献できますか?
A:もちろんです!ガイドラインについては、CONTRIBUTING.md をご覧ください。
貢献
貢献を歓迎します!以下の手順に従ってください。
- リポジトリをフォークします
- feature ブランチを作成します(
git checkout -b feature/funzionalita-fantastica) - 変更をコミットします(
git commit -m 'Aggiungi funzionalità fantastica') - ブランチにプッシュします(
git push origin feature/funzionalita-fantastica) - プルリクエストを作成します
詳しくは、CONTRIBUTING.md をご覧ください。
ロードマップ
- リアルタイム通知用 IMAP IDLE のサポート
- メール添付ファイルの管理
- HTML メールの作成
- pytest テストスイート
- 複数アカウントのサポート
- 繰り返しカレンダーイベント
- カレンダー通知
- ほかのカレンダーとの連携(Google Calendar、Outlook)
ドキュメント
- README.md - メインドキュメント(イタリア語)
- README_EN.md - 英語のドキュメント
- GUIDA_UTILIZZO_EMAIL.md - 完全ガイド:最新のメールを確認する方法 📧
- EXAMPLES.md - 使用例
- CLAUDE_SETUP.md - Claude Desktop のセットアップ
- VSCODE_SETUP.md - VS Code Copilot MCP のセットアップ
- docs/VSCODE_EXTENSION.md - VS Code Marketplace 拡張機能
- docs/MCP_REGISTRY.md - MCP Registry への公開
- SIGNATURE_EXAMPLES.md - メール署名の例
- CONTRIBUTING.md - 貢献ガイド
- LICENSE - MIT ライセンス
クイックインストール
PyPI から
pip install mcp-aruba
VS Code Marketplace から
VS Code Marketplace で「MCP Aruba Email」を検索するか、以下から直接インストールします。
code --install-extension jackfioru92.mcp-aruba-email
MCP Registry から
サーバーは MCP Registry で利用できます
サポート
問題が発生した場合:
- トラブルシューティングのセクションを確認してください
- テストスクリプトを実行して、接続を確認してください
- エラーメッセージがないか、ログを確認してください
- GitHubで issue を作成してください
ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細はLICENSEファイルをご覧ください。
作者
Giacomo Fiorucci - [email protected]
謝辞
- MCP フレームワークを提供するModel Context Protocol
- Claude Desktop を提供するAnthropic
- Copilot を提供するGitHub
- 信頼性の高いメールおよびカレンダーサービスを提供する Aruba
⭐ このプロジェクトが役に立った場合は、GitHub でスターを付けていただけると幸いです!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。