← Back to search

Aruba Email & Calendar

jackfioru92 Scanned 3d ago

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

B
77.9 / 100

Versions

0.2.1latest
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 19

list_emails
annotations: none low

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)

limit int folder str sender_filter string
read_email
annotations: none low

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

folder str email_id str
search_emails
annotations: none low

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)

limit int query str folder str from_date string
get_email_attachments
annotations: none low

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

folder str email_id str
download_attachment
annotations: none low

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.

folder str email_id str attachment_index int
save_attachment
annotations: none low

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)

folder str email_id str save_dir str attachment_index int
get_raw_email
annotations: none low

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.

folder str email_id str
send_email
annotations: none low

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

cc str to str body str subject str from_name str attachments str
reply_email
annotations: none low

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

cc str body str folder str email_id str attachments str
check_bounced_emails
annotations: none low

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)

limit int folder str
set_email_signature
annotations: none low

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

name str role string color string email str phone string style str company string photo_url string signature_name str
get_email_signature
annotations: none low

Get a saved email signature. Args: signature_name: Name of signature to retrieve (default: "default") Returns: Signature content or error Example: get_email_signature()

signature_name str
list_email_signatures
annotations: none low

List all saved email signatures. Returns: Dictionary of all signatures Example: list_email_signatures()

create_calendar_event
annotations: none low

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

end str start str summary str location string attendees string description string
list_calendar_events
annotations: none low

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 )

limit int end_date string start_date string
accept_calendar_event
annotations: none low

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ò!" )

comment string event_uid str
decline_calendar_event
annotations: none low

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

comment string event_uid str
tentative_calendar_event
annotations: none low

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

comment string event_uid str
delete_calendar_event
annotations: none low

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

event_uid str

Permissions 3

network medium
Server uses network capabilities via: requests, socket
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib
env_vars low
Server uses env_vars capabilities via: os.getenv()

Scan Findings 51

low
Tool 'list_emails' has no annotations annotation_checker · 100%
low
Tool 'read_email' has no annotations annotation_checker · 100%
low
Tool 'search_emails' has no annotations annotation_checker · 100%
low
Tool 'get_email_attachments' has no annotations annotation_checker · 100%
low
Tool 'download_attachment' has no annotations annotation_checker · 100%
low
Tool 'save_attachment' has no annotations annotation_checker · 100%
low
Tool 'get_raw_email' has no annotations annotation_checker · 100%
low
Tool 'send_email' has no annotations annotation_checker · 100%
low
Tool 'reply_email' has no annotations annotation_checker · 100%
low
Tool 'check_bounced_emails' has no annotations annotation_checker · 100%
low
Tool 'set_email_signature' has no annotations annotation_checker · 100%
low
Tool 'get_email_signature' has no annotations annotation_checker · 100%
low
Tool 'list_email_signatures' has no annotations annotation_checker · 100%
low
Tool 'create_calendar_event' has no annotations annotation_checker · 100%
low
Tool 'list_calendar_events' has no annotations annotation_checker · 100%
low
Tool 'accept_calendar_event' has no annotations annotation_checker · 100%
low
Tool 'decline_calendar_event' has no annotations annotation_checker · 100%
low
Tool 'tentative_calendar_event' has no annotations annotation_checker · 100%
low
Tool 'delete_calendar_event' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: python-dotenv@1.0.0 (GHSA-mf9w-mj56-hr94) dependency_analyzer · 95%
medium
Vulnerable dependency: python-dotenv@1.0.0 (PYSEC-2026-2270) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: list_emails manifest_parser · 90%
info
Tool: read_email manifest_parser · 90%
info
Tool: search_emails manifest_parser · 90%
info
Tool: get_email_attachments manifest_parser · 90%
info
Tool: download_attachment manifest_parser · 90%
info
Tool: save_attachment manifest_parser · 90%
info
Tool: get_raw_email manifest_parser · 90%
info
Tool: send_email manifest_parser · 90%
info
Tool: reply_email manifest_parser · 90%
info
Tool: check_bounced_emails manifest_parser · 90%
info
Tool: set_email_signature manifest_parser · 90%
info
Tool: get_email_signature manifest_parser · 90%
info
Tool: list_email_signatures manifest_parser · 90%
info
Tool: create_calendar_event manifest_parser · 90%
info
Tool: list_calendar_events manifest_parser · 90%
info
Tool: accept_calendar_event manifest_parser · 90%
info
Tool: decline_calendar_event manifest_parser · 90%
info
Tool: tentative_calendar_event manifest_parser · 90%
info
Tool: delete_calendar_event manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (14) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 80%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 298 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%