Skip to main content
Glama
jackfioru92

MCP Aruba Email & Calendar Server

by jackfioru92

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IMAP_HOSTNoIMAP server host for Arubaimaps.aruba.it
IMAP_PORTNoIMAP server port for Aruba993
SMTP_HOSTNoSMTP server host for Arubasmtps.aruba.it
SMTP_PORTNoSMTP server port for Aruba465
CALDAV_URLYesThe CalDAV URL for calendar synchronization (e.g., https://syncdav.aruba.it/calendars/tua_email@aruba.it/)
IMAP_PASSWORDYesAruba email password used for IMAP authentication
IMAP_USERNAMEYesAruba email address used for IMAP authentication
CALDAV_PASSWORDYesAruba email password used for CalDAV authentication
CALDAV_USERNAMEYesAruba email address used for CalDAV authentication

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_emailsB

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_emailA

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_emailsB

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

Send an email via SMTP.

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: "Giacomo Fiorucci")

Returns:
    Send status with details

Example:
    send_email(
        to="christopher.caponi@emotion-team.com",
        subject="Ciao Christopher!",
        body="Come stai? Ti scrivo per...",
        from_name="Giacomo Fiorucci"
    )
check_bounced_emailsA

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_signatureA

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_signatureC

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_signaturesB

List all saved email signatures.

Returns:
    Dictionary of all signatures

Example:
    list_email_signatures()
create_calendar_eventA

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_eventsB

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_eventA

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_eventA

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_eventA

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_eventB

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

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 14 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no significant overlap. Calendar tools handle specific actions (accept, decline, tentative, create, delete, list), email tools cover distinct operations (list, read, search, send, check bounces, manage signatures), and the separation between email and calendar domains is clear. An agent can easily differentiate between tools like list_emails and search_emails or accept_calendar_event and decline_calendar_event.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case throughout. Calendar tools use verbs like accept, decline, create, delete, list, tentative paired with 'calendar_event', while email tools use verbs like list, read, search, send, check, get, set paired with 'email' or related nouns (e.g., 'email_signature', 'bounced_emails'). This uniformity makes the tool set predictable and easy to navigate.

Tool Count5/5

With 14 tools, the count is well-suited for the server's dual-domain purpose of email and calendar management. It provides comprehensive coverage without being overwhelming, balancing core operations (e.g., CRUD for events, email listing/sending) with specialized utilities (e.g., signature management, bounce checking). This scope aligns with typical productivity server expectations.

Completeness4/5

The tool set offers strong coverage for both email and calendar domains, including full lifecycle management for calendar events (create, list, accept/decline/tentative, delete) and essential email operations (send, list, read, search, bounce checking, signature management). Minor gaps exist, such as no tools for updating calendar events or managing email folders, but agents can work around these with the provided tools without significant hindrance.

Maintenance

ActivityNo data
ResponsivenessNo issues