Aruba Email & Calendar
MCP server for Aruba email and calendar via IMAP/SMTP/CalDAV
Versions
0.2.1latestTools 19
list_emails List emails from the specified folder. Args: folder: Mail folder to list from (default: INBOX) sender_filter: Optional filter by sender email address (e.g., "denisa@c-tic.it") limit: Maximum number of emails to return (default: 10, max: 50) Returns: List of email summaries with id, from, to, subject, date, and body preview Example: list_emails(sender_filter="denisa@c-tic.it", limit=5)
read_email Read the full content of a specific email. Args: email_id: Email ID to read (from list_emails) folder: Mail folder (default: INBOX) Returns: Full email content with from, to, subject, date, and body Example: read_email(email_id="123")
search_emails Search emails by subject or body content. Args: query: Search query string (searches in subject and body) folder: Mail folder to search in (default: INBOX) from_date: Only emails from this date onwards (format: DD-MMM-YYYY, e.g., "01-Dec-2024") limit: Maximum number of results (default: 10, max: 50) Returns: List of matching emails Example: search_emails(query="API", from_date="01-Dec-2024", limit=5)
get_email_attachments Get list of attachments for a specific email. Args: email_id: Email ID (from list_emails or search_emails) folder: Mail folder (default: INBOX) Returns: List of attachments with index, filename, content_type, and size Example: get_email_attachments(email_id="123")
download_attachment Download a specific attachment from an email. Args: email_id: Email ID attachment_index: Index of attachment (from get_email_attachments, starting at 0) folder: Mail folder (default: INBOX) Returns: Dictionary with filename, content_type, size, and data_base64 (base64 encoded content) Example: download_attachment(email_id="123", attachment_index=0) Note: The attachment content is returned as base64 encoded string in 'data_base64' field. You can decode it and save to file.
save_attachment Download an email attachment and save it directly to disk. This is the PREFERRED tool for attachments — saves the file and returns the local path so the user can open it immediately. No base64 decoding needed. Args: email_id: Email ID attachment_index: Index of attachment (from get_email_attachments, starting at 0) folder: Mail folder (default: INBOX) save_dir: Directory to save into (default: user's Downloads folder) Returns: Dictionary with filename, saved_path, content_type, and size Example: save_attachment(email_id="123", attachment_index=0)
get_raw_email Get raw email content in RFC822 format for .eml export. Args: email_id: Email ID folder: Mail folder (default: INBOX) Returns: Dictionary with raw_content (RFC822 format string) Example: get_raw_email(email_id="123") Note: Save the raw_content to a .eml file to export the email.
send_email Send a NEW email via SMTP (not a reply). For replying to an existing email thread, use reply_email() instead. Args: to: Recipient email address subject: Email subject body: Email body (plain text) cc: Optional CC email addresses (comma-separated) from_name: Sender display name (default: "" — uses email address only) attachments: Optional comma-separated file paths to attach (e.g., "/path/to/file.pdf,/path/to/image.png") Returns: Send status with details Example: send_email( to="christopher.caponi@emotion-team.com", subject="Ciao Christopher!", body="Come stai? Ti scrivo per...", attachments="/path/to/documento.pdf" )
reply_email Reply to an existing email, preserving the thread. Fetches the original email, extracts threading headers (Message-ID, References), and sends a reply that appears in the same conversation thread in the recipient's mail client. Args: email_id: Email ID to reply to (from list_emails) body: Reply body (plain text) cc: Optional CC email addresses (comma-separated) folder: Mail folder where the original email lives (default: INBOX) attachments: Optional comma-separated file paths to attach (e.g., "/path/to/file.pdf,/path/to/image.png") Returns: Send status with details Example: reply_email( email_id="123", body="Thank you for your email, here is the updated proposal.", attachments="/path/to/proposal.pdf" )
check_bounced_emails Check for bounced or failed email delivery notifications. This tool searches for delivery failure notifications (bounce-backs) that indicate emails could not be delivered. Common reasons include: - Recipient mailbox does not exist - Recipient mailbox is full - Message rejected by recipient server Args: folder: Mail folder to check (default: INBOX) limit: Maximum number of bounce notifications to check (default: 20) Returns: List of bounce notifications with failed recipient and reason Example: check_bounced_emails(limit=10)
set_email_signature Create and save a professional email signature with optional photo and colors. The signature will be automatically appended to all sent emails. If photo_url or color are provided, an HTML signature will be created. Args: name: Full name (e.g., "Giacomo Fiorucci") email: Email address role: Job title/role (optional, e.g., "Software Developer") company: Company name (optional, e.g., "Emotion Team") phone: Phone number (optional, e.g., "+39 123 456 7890") photo_url: URL or local file path to profile photo (optional, auto-uploads if local file) color: Hex color code for accents (optional, e.g., "#0066cc", "#FF5722") style: Signature style - "professional", "minimal", "colorful" (default: "professional") signature_name: Name to save signature as (default: "default") Returns: Confirmation with signature preview Examples: # Simple text signature set_email_signature( name="Giacomo Fiorucci", email="giacomo.fiorucci@emotion-team.com", role="Software Developer", company="Emotion Team" ) # HTML signature with photo and custom color set_email_signature( name="Giacomo Fiorucci", email="giacomo.fiorucci@emotion-team.com", role="Software Developer", company="Emotion Team", phone="+39 123 456 7890", photo_url="https://example.com/photo.jpg", color="#0066cc", style="professional" )
get_email_signature Get a saved email signature. Args: signature_name: Name of signature to retrieve (default: "default") Returns: Signature content or error Example: get_email_signature()
list_email_signatures List all saved email signatures. Returns: Dictionary of all signatures Example: list_email_signatures()
create_calendar_event Create a new calendar event. Args: summary: Event title start: Start datetime in ISO format (e.g., "2025-12-05T10:00:00") end: End datetime in ISO format (e.g., "2025-12-05T11:00:00") description: Event description (optional) location: Event location (optional) attendees: Comma-separated list of attendee email addresses (optional) Returns: Created event details including UID Example: create_calendar_event( summary="Team Meeting", start="2025-12-05T10:00:00", end="2025-12-05T11:00:00", description="Discussione sui nuovi progetti", location="Sala Riunioni A", attendees="christopher.caponi@emotion-team.com,marco.rossi@example.com" )
list_calendar_events List calendar events within a date range. Args: start_date: Start date in ISO format (default: today) end_date: End date in ISO format (default: 30 days from now) limit: Maximum number of events to return (default: 50) Returns: List of calendar events Example: list_calendar_events( start_date="2025-12-01T00:00:00", end_date="2025-12-31T23:59:59", limit=20 )
accept_calendar_event Accept a calendar event invitation. Args: event_uid: UID of the event to accept comment: Optional comment for the acceptance Returns: Response status Example: accept_calendar_event( event_uid="abc123@aruba.it", comment="Ci sarò!" )
decline_calendar_event Decline a calendar event invitation. Args: event_uid: UID of the event to decline comment: Optional comment for the decline Returns: Response status Example: decline_calendar_event( event_uid="abc123@aruba.it", comment="Purtroppo non posso partecipare" )
tentative_calendar_event Mark a calendar event as tentative (maybe attending). Args: event_uid: UID of the event comment: Optional comment Returns: Response status Example: tentative_calendar_event( event_uid="abc123@aruba.it", comment="Forse riesco a partecipare" )
delete_calendar_event Delete a calendar event. Args: event_uid: UID of the event to delete Returns: Deletion status Example: delete_calendar_event(event_uid="abc123@aruba.it")
Permissions 3
network medium filesystem low env_vars low