Skip to content

Integrations

VibeMCP connects to two email/calendar ecosystems through their official APIs.

Authentication Flows

Gmail

API: Gmail API via googleapis npm package

Auth: OAuth 2.0 with browser-based consent flow. Local callback server on http://localhost:4100/code.

Tools:

ToolAPI Endpoint
gmail_list_messagesGET /gmail/v1/users/{userId}/messages
gmail_get_messageGET /gmail/v1/users/{userId}/messages/{id}
gmail_send_messagePOST /gmail/v1/users/{userId}/messages/send
gmail_reply_to_messagePOST /gmail/v1/users/{userId}/messages/send (with threading)
gmail_create_draftPOST /gmail/v1/users/{userId}/drafts
gmail_list_labelsGET /gmail/v1/users/{userId}/labels
gmail_list_threadsGET /gmail/v1/users/{userId}/threads
gmail_get_threadGET /gmail/v1/users/{userId}/threads/{id}

TOON field mapping:

messages[N]{id,subject,from,date,snippet}

Fields are extracted from Gmail message headers (Subject, From, Date) and metadata (id, snippet).

Outlook Mail

API: Microsoft Graph via native fetch

Auth: Device Code Flow via @azure/msal-node. No browser redirect needed — ideal for CLI environments.

Tools:

ToolAPI Endpoint
outlook_list_messagesGET /me/mailFolders/{id}/messages
outlook_get_messageGET /me/messages/{id}
outlook_send_messagePOST /me/sendMail
outlook_reply_to_messagePOST /me/messages/{id}/reply
outlook_forward_messagePOST /me/messages/{id}/forward
outlook_list_foldersGET /me/mailFolders
outlook_move_messagePOST /me/messages/{id}/move
outlook_searchGET /me/messages?$search=

TOON field mapping:

messages[N]{id,subject,from,receivedDateTime,isRead,preview}

The from field is flattened from from.emailAddress.address.

Google Calendar

API: Google Calendar API via googleapis npm package

Auth: Same OAuth 2.0 flow as Gmail (shared credentials).

TOON field mapping:

events[N]{id,summary,start,end,location,organizer}

Deep flattening: start.dateTime -> start, organizer.email -> organizer. This produces the highest token savings (70%).

Outlook Calendar

API: Microsoft Graph Calendar via native fetch

Auth: Same Device Code flow as Outlook Mail (shared tokens).

TOON field mapping:

events[N]{id,subject,start,end,location,organizer}

Partial flattening: organizer.emailAddress.address -> organizer, but start/end retain { dateTime, timeZone } structure.

Data Flow

Privacy

VibeMCP is a passthrough — it fetches from APIs on demand and stores nothing beyond OAuth tokens. Token files are local JSON in ~/.vibemcp/. No telemetry, no hosted services, no data retention.

See Privacy Policy and Security Policy.

Released under the PolyForm Noncommercial License.