Aruba Email & Calendar

io.github.jackfioru92由 GitHub 帳號 jackfioru92 發布v0.2.1更新於 Oct 24, 2026

MCP server for Aruba email and calendar via IMAP/SMTP/CalDAV

已驗證STDIO僅桌面效率與工作流溝通與協作

概覽

AI 產生的概覽

本機 MCP 伺服器,透過 IMAP、SMTP 與 CalDAV 讓 AI 助理連接 Aruba 信箱與行事曆。

可以做什麼
在指定資料夾中列出、搜尋與閱讀郵件,支援依寄件者與日期篩選,並將 HTML 轉為純文字;下載附件並以 .eml 格式匯出郵件備份。透過 SMTP 寄送郵件,可附上已設定的簽名,並建立、檢視與管理郵件簽名,包括上傳照片。建立、列出與刪除含參與者的行事曆事件,並接受、拒絕或暫定回覆行事曆邀請。所有連線均在本機透過 SSL/TLS 直連 Aruba 伺服器。
適用情境
適用於擁有 Aruba 信箱與行事曆帳號、希望助理協助彙整收件匣、起草與寄送回覆、檢索歷史郵件,或安排與回覆會議而不必切換應用程式的人。
執行需求
以 Python 套件形式在本機執行(Python 3.10+),透過 stdio 啟動。需將 Aruba 信箱位址填入 EMAIL_USER,帳號密碼填入 EMAIL_PASSWORD;選用的 IMAP_HOST、SMTP_HOST 與 CALDAV_URL 可覆寫 Aruba 預設值。行事曆功能需在 Aruba 網頁信箱中啟用 CalDAV 同步,且需能連線 993、465 與 443 埠。
安裝前請注意
伺服器透過 EMAIL_PASSWORD 保存信箱帳號密碼,並可代你寄送郵件、刪除行事曆事件與回覆邀請,確認前請檢查操作。請勿將 .env 檔案提交至版本控制。簽名照片上傳會將圖片送至第三方服務 Imgur,儘管 README 聲稱資料不會離開本機。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Aruba Email & Calendar,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

MCP Aruba Email & Calendar Server

Italiano | English

Server MCP (Model Context Protocol) per accedere a email e calendario Aruba tramite IMAP/SMTP/CalDAV. Integra facilmente email e calendario Aruba con assistenti AI come Claude!

[Python 3.10+] [PyPI version] [License: MIT] [MCP] [VS Code Extension] [Downloads] [GitHub stars]

📦 Come Installare

Opzione 1: Estensione VS Code (Più Semplice) ⭐

Per usare con GitHub Copilot in VS Code:

  1. Installa l'estensione dal VS Code Marketplace
  2. Configura le credenziali con ⌘+Shift+P → "Aruba Email: Configure Credentials"
  3. Usa direttamente in Copilot Chat!

📖 Guida completa estensione VS Code

Opzione 2: Da Smithery (Registro MCP) 🔍

Per usare con @mcp aruba in VS Code o altri client MCP:

  1. Il server è disponibile su Smithery
  2. In VS Code Copilot Chat, digita @mcp aruba e segui le istruzioni
  3. Oppure installa da CLI: smithery install io.github.jackfioru92/aruba-email

[Smithery]

Opzione 3: Installazione Manuale (Per Claude Desktop)

Per usare con Claude Desktop:

Funzionalità

Email

  • 📧 Elenca email - Naviga nella casella con filtri per mittente
  • 🔍 Cerca email - Ricerca per oggetto/corpo con filtri data
  • 📖 Leggi email - Ottieni il contenuto completo (HTML convertito in testo pulito)
  • ✉️ Invia email - Invia email via SMTP con firma personalizzata
  • ✍️ Firma email - Crea firme professionali con foto e colori brand
  • 📎 Allegati - Lista e scarica allegati email (PDF, immagini, documenti)
  • 💾 Esporta .eml - Esporta email in formato RFC822 per backup

Calendario

  • 📅 Crea eventi - Crea eventi calendario con partecipanti
  • 📋 Elenca eventi - Visualizza eventi futuri
  • ✅ Accetta inviti - Accetta inviti calendario
  • ❌ Declina inviti - Declina inviti calendario
  • ❓ Forse - Rispondi "forse" agli inviti calendario
  • 🗑️ Elimina eventi - Rimuovi eventi dal calendario

Generale

  • 🔒 Sicuro - Usa IMAP/SMTP/CalDAV su SSL/TLS
  • ⚡ Veloce - Gestione efficiente delle connessioni con context manager
  • 🤖 Pronto per AI - Funziona perfettamente con Claude Desktop e altri client MCP

Configurazione (Solo per Installazione Manuale)

  1. Copia .env.example in .env:
bash
cp .env.example .env
  1. Modifica .env con le tue credenziali Aruba:
env
# Configurazione EmailIMAP_HOST=imaps.aruba.itIMAP_PORT=993[email protected]IMAP_PASSWORD=tua_password
SMTP_HOST=smtps.aruba.itSMTP_PORT=465
# Configurazione CalendarioCALDAV_URL=https://syncdav.aruba.it/calendars/[email protected]/[email protected]CALDAV_PASSWORD=tua_password
  1. (Opzionale) Configura la tua firma email personalizzata:

    Metodo 1: Script Interattivo (Consigliato)

    bash
    # Esegui lo script interattivopython setup_signature.py

    Lo script ti guiderà nella creazione di una firma professionale con:

    • 📝 Informazioni personali (nome, ruolo, azienda, contatti)
    • 🎨 Scelta dello stile (professional, minimal, colorful)
    • 🌈 Personalizzazione colori
    • 📸 Upload automatico foto su Imgur (opzionale)

    Metodo 2: Tramite Claude (Ancora più semplice!)

    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 userà automaticamente i tool MCP per creare la tua firma!

La firma verrà inclusa automaticamente in tutte le email inviate.

Nota: Le credenziali sono memorizzate localmente e non lasciano mai il tuo computer. Il server MCP viene eseguito localmente e si connette direttamente ai server Aruba.

Utilizzo

🚀 Inizio Rapido: Visualizza le Ultime Email

Il modo più veloce per iniziare:

bash
# Installa dipendenzepip install -e .
# Configura credenziali (copia e modifica .env.example)cp .env.example .env# Modifica .env con le tue credenziali Aruba
# Mostra le ultime emailpython cli.py emails 5
# Oppure usa lo script demopython demo_list_emails.py

Vuoi usare Claude? Dopo la configurazione, chiedi semplicemente:

Mostrami le ultime 5 emailDammi le email più recentiQuali email ho ricevuto oggi?

📖 Guida completa: Vedi GUIDA_UTILIZZO_EMAIL.md per tutti i metodi disponibili.

Esegui il server direttamente

bash
python -m mcp_aruba.server

Configura con Claude Desktop

Vedi CLAUDE_SETUP.md per istruzioni dettagliate.

Configurazione rapida per ~/Library/Application Support/Claude/claude_desktop_config.json:

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"      }    }  }}

Configura con VS Code Copilot

Vedi VSCODE_SETUP.md per istruzioni dettagliate sull'uso di questo server con l'estensione Copilot MCP di VS Code.

Usa la CLI rapida

bash
# Attiva ambiente virtualesource .venv/bin/activate
# Mostra ultime 5 emailpython cli.py emails
# Mostra ultime 10 emailpython cli.py emails 10
# Mostra eventi prossimi 7 giornipython cli.py calendar
# Mostra eventi prossimi 14 giornipython cli.py calendar 14

Strumenti Disponibili

Strumenti Email

list_emails

Elenca email recenti con filtri opzionali.

Parametri:

  • folder (str, default: "INBOX") - Cartella email da leggere
  • sender_filter (str, opzionale) - Filtra per email mittente
  • limit (int, default: 10, max: 50) - Numero di email da restituire

Esempi:

Mostra le ultime 5 email da [email protected]Elenca email recenti nella mia inboxDammi le 10 email più recenti dal mio capo
read_email

Leggi il contenuto completo di un'email specifica.

Parametri:

  • email_id (str) - ID email da list_emails
  • folder (str, default: "INBOX") - Cartella email

Esempi:

Leggi l'email 123Mostrami il contenuto completo dell'email 456
search_emails

Cerca email per oggetto o contenuto corpo.

Parametri:

  • query (str) - Query di ricerca
  • folder (str, default: "INBOX") - Cartella dove cercare
  • from_date (str, opzionale) - Solo email da questa data (formato: DD-MMM-YYYY)
  • limit (int, default: 10, max: 50) - Numero massimo di risultati

Esempi:

Cerca email che parlano di "API" dalla settimana scorsaTrova tutte le email su "fattura" da dicembre
send_email

Invia un'email via SMTP.

Parametri:

  • to (str) - Indirizzo email destinatario
  • subject (str) - Oggetto email
  • body (str) - Corpo email (testo semplice)
  • cc (str, opzionale) - Indirizzi email in CC, separati da virgola
  • from_name (str, default: "Giacomo Fiorucci") - Nome visualizzato mittente
  • use_signature (bool, default: True) - Include la firma email se configurata
  • verify_recipient (bool, default: True) - Verifica che l'email destinatario esista

Esempi:

Invia un'email a [email protected] ringraziando per l'aggiornamentoRispondi a [email protected] con lo stato del progettoInvia un'email a [email protected] con CC a [email protected]

Nota sulla firma: Se hai configurato una firma usando setup_signature.py, verrà automaticamente inclusa nelle email. Puoi disabilitarla temporaneamente con use_signature=False.

set_email_signature

Configura una firma email personalizzata.

Parametri:

  • name (str) - Nome completo
  • email (str) - Indirizzo email
  • role (str, opzionale) - Ruolo/posizione
  • company (str, opzionale) - Nome azienda
  • phone (str, opzionale) - Numero di telefono
  • website (str, opzionale) - Sito web
  • photo_input (str, opzionale) - Percorso file foto o URL (upload automatico su Imgur)
  • style (str, default: "professional") - Stile: professional, minimal, colorful
  • color (str, default: "#0066cc") - Colore principale (formato esadecimale)
  • signature_name (str, default: "default") - Nome identificativo firma

Esempi:

Crea una firma con il mio nome, ruolo e foto del profiloConfigura una firma professionale con logo aziendale
get_email_signature

Ottieni la firma email corrente.

Parametri:

  • signature_name (str, default: "default") - Nome firma da recuperare
list_email_signatures

Elenca tutte le firme email salvate.

Strumenti Calendario

create_calendar_event

Crea un nuovo evento calendario.

Parametri:

  • summary (str) - Titolo evento
  • start (str) - Data/ora inizio in formato ISO (YYYY-MM-DDTHH:MM:SS)
  • end (str) - Data/ora fine in formato ISO
  • description (str, opzionale) - Descrizione evento
  • location (str, opzionale) - Luogo evento
  • attendees (str, opzionale) - Lista email partecipanti separati da virgola

Esempi:

Crea un meeting chiamato "Riunione Team" domani alle 15 per 1 oraProgramma un "Project Review" il 10 dicembre alle 14 con [email protected]
list_calendar_events

Elenca eventi calendario in un intervallo di date.

Parametri:

  • start_date (str, opzionale) - Data inizio in formato ISO (default: oggi)
  • end_date (str, opzionale) - Data fine in formato ISO (default: 30 giorni da ora)
  • limit (int, default: 50) - Eventi massimi da restituire

Esempi:

Mostrami il mio calendario per questa settimanaQuali eventi ho a dicembre?Elenca tutti i miei meeting per i prossimi 7 giorni
accept_calendar_event

Accetta un invito calendario.

Parametri:

  • event_uid (str) - UID dell'evento
  • comment (str, opzionale) - Commento opzionale

Esempi:

Accetta l'invito al meeting "Team Standup"Accetta l'evento [email protected] con commento "Non vedo l'ora!"
decline_calendar_event

Declina un invito calendario.

Parametri:

  • event_uid (str) - UID dell'evento
  • comment (str, opzionale) - Commento opzionale

Esempi:

Declina l'evento [email protected]Declina il meeting con commento "Mi dispiace, ho un conflitto"
tentative_calendar_event

Rispondi "forse" a un invito calendario.

Parametri:

  • event_uid (str) - UID dell'evento
  • comment (str, opzionale) - Commento opzionale

Esempi:

Rispondi forse all'evento [email protected]Segna come "forse" il meeting di domaniForse partecipo al meeting di domani
delete_calendar_event

Elimina un evento calendario.

Parametri:

  • event_uid (str) - UID dell'evento da eliminare

Esempi:

Elimina l'evento [email protected]Cancella il mio meeting delle 14

Casi d'Uso

📬 Comunicazione Team

Mostrami le ultime email dai membri del mio teamElenca email non lette da [email protected]

🔍 Tracking Progetti

Cerca email che menzionano "modifiche API" dall'ultima settimanaTrova tutte le email su "fattura" dal 1° dicembre

📊 Riepilogo Email Giornaliero

Riassumi tutte le email che ho ricevuto oggiMostrami le email importanti di stamattina

✉️ Risposte Rapide

Invia un'email a [email protected] ringraziandoli per l'aggiornamentoRispondi a [email protected] con lo stato del progetto

📅 Gestione Calendario

Quali meeting ho questa settimana?Crea una riunione team per domani alle 15Accetta l'invito calendario per la review di venerdìDeclina il meeting di lunedì, sono in vacanzaMostrami il mio programma per la prossima settimana

🤖 Gestione Email & Calendario con AI

Con Claude Desktop o VS Code Copilot, puoi:

  • Chiedere a Claude di riassumere più email
  • Creare risposte basate sul contenuto email
  • Estrarre task da thread email
  • Organizzare e categorizzare email automaticamente
  • Programmare meeting basati su conversazioni email
  • Gestire conflitti calendario e trovare fasce orarie disponibili

Stack Tecnologico

  • Python 3.10+ - Python moderno
  • MCP SDK 1.2.0+ - Model Context Protocol per integrazione AI
  • imaplib - Client IMAP libreria standard (supporto SSL/TLS)
  • smtplib - Client SMTP libreria standard (supporto SSL/TLS)
  • email - Parsing email e gestione MIME
  • caldav - Protocollo CalDAV per accesso calendario
  • icalendar - Parsing e generazione formato iCalendar
  • python-dotenv - Gestione variabili ambiente

Sicurezza & Privacy

  • 🔒 Esecuzione locale - Il server gira sul tuo computer, le credenziali non lasciano mai la tua macchina
  • 🛡️ Crittografia SSL/TLS - Tutte le connessioni usano protocolli sicuri (IMAPS porta 993, SMTPS porta 465, HTTPS per CalDAV)
  • 🔐 Variabili ambiente - Credenziali salvate nel file .env (gitignored di default)
  • 📝 Troncamento corpo - Corpo email limitato a 5000 caratteri per prevenire overflow del contesto
  • ✅ Nessun servizio esterno - Connessione diretta solo ai server Aruba

Best Practice Sicurezza

  1. Non committare mai il file .env nel controllo versione
  2. Usa password forti e uniche per il tuo account email
  3. Considera l'abilitazione 2FA sul tuo account Aruba
  4. Ruota regolarmente le tue credenziali
  5. Rivedi i log del server MCP per attività sospette

Performance

  • ⚡ Connection pooling via context manager
  • 📊 Limiti risultati configurabili per prevenire problemi di memoria
  • 🚀 Connessioni on-demand (nessun processo in background)
  • 💾 Footprint di memoria minimo

Sviluppo

Eseguire i Test

bash
# Attiva ambiente virtualesource .venv/bin/activate
# Esegui test connessione emailpython test_connection.py
# Esegui test connessione calendariopython test_calendar.py
# Test creazione eventopython test_create_event.py
# Test invio invito calendariopython send_invite.py

Qualità Codice

bash
# Formatta codiceblack src/
# Type checkingmypy src/
# Lintingpylint src/

Abilitare Sincronizzazione CalDAV

Per usare le funzionalità calendario, devi abilitare la sincronizzazione CalDAV in Aruba Webmail:

  1. Vai su https://webmail.aruba.it
  2. Naviga alla sezione Calendario
  3. Clicca su "Sincronizza calendario"
  4. Scegli "Calendari" → "Procedi"
  5. Seleziona "Lettura e modifica" (CalDAV) → "Procedi"
  6. Seleziona i calendari da sincronizzare → "Procedi"

Una volta abilitato, potrai gestire completamente i tuoi calendari tramite il server MCP!

Risoluzione Problemi

Calendario non disponibile

Se vedi "No calendar available", devi abilitare la sincronizzazione CalDAV (vedi sezione sopra).

Errori connessione

  1. Verifica che le credenziali in .env siano corrette
  2. Controlla che le porte 993 (IMAP), 465 (SMTP), 443 (CalDAV) non siano bloccate
  3. Verifica le impostazioni firewall
  4. Prova a eseguire gli script di test

Email o eventi non visualizzati

  1. Verifica di avere i permessi corretti sull'account
  2. Controlla i filtri applicati (sender_filter, date filters)
  3. Aumenta il limite di risultati

FAQ

Q: È sicuro memorizzare le mie credenziali nel file .env?
A: Sì, finché il file .env non viene committato nel controllo versione. È già incluso in .gitignore. Le credenziali rimangono sul tuo computer locale.

Q: Posso usare questo con altri provider email?
A: Il server è ottimizzato per Aruba, ma puoi adattarlo per altri provider che supportano IMAP/SMTP/CalDAV modificando le configurazioni.

Q: Quanto costano i server MCP?
A: I server MCP sono gratuiti! Questo è software open-source. Hai solo bisogno di un abbonamento Claude o GitHub Copilot per usarlo con quegli AI.

Q: I miei dati vengono inviati a terze parti?
A: No! Il server gira localmente e si connette direttamente ai server Aruba. Nessun dato passa attraverso servizi terzi.

Q: Posso contribuire al progetto?
A: Assolutamente! Vedi CONTRIBUTING.md per linee guida.

Contribuire

I contributi sono benvenuti! Per favore:

  1. Fai un fork del repository
  2. Crea un feature branch (git checkout -b feature/funzionalita-fantastica)
  3. Committa le modifiche (git commit -m 'Aggiungi funzionalità fantastica')
  4. Pusha al branch (git push origin feature/funzionalita-fantastica)
  5. Apri una Pull Request

Vedi CONTRIBUTING.md per dettagli completi.

Roadmap

  • Supporto IMAP IDLE per notifiche real-time
  • Gestione allegati email
  • Composizione email HTML
  • Suite test pytest
  • Supporto account multipli
  • Eventi calendario ricorrenti
  • Notifiche calendario
  • Integrazione con altri calendari (Google Calendar, Outlook)

Documentazione

Installazione Rapida

Da PyPI

bash
pip install mcp-aruba

Da VS Code Marketplace

Cerca "MCP Aruba Email" nel marketplace VS Code o installa direttamente:

bash
code --install-extension jackfioru92.mcp-aruba-email

Da MCP Registry

Il server è disponibile su MCP Registry

Supporto

Se incontri problemi:

  1. Controlla la sezione Risoluzione Problemi
  2. Esegui gli script di test per verificare la connessione
  3. Controlla i log per messaggi d'errore
  4. Apri un issue su GitHub

Licenza

Questo progetto è rilasciato sotto licenza MIT. Vedi il file LICENSE per dettagli.

Autore

Giacomo Fiorucci - [email protected]

Ringraziamenti


⭐ Se questo progetto ti è utile, considera di dargli una stella su GitHub!

來源:README.md,提交 4cb93db

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分