Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SLACK_BOT_TOKENYesSlack Bot User OAuth token (xoxb-...) with chat:write scope
GOOGLE_CREDENTIALS_PATHYesPath to Google OAuth Desktop-app credential.json file (required for Gmail and Calendar APIs)
GOOGLE_CALENDAR_ID_DEFAULTNoDefault Google Calendar ID for event upserts. Additional calendars can be configured with GOOGLE_CALENDAR_ID_<KEY>

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
gmail_search_emailsA

Search Gmail and return compact message summaries (id, threadId, from, subject, date, snippet, labelIds). Use Gmail search syntax. Supports pagination via page_token. Read-only; does not return full bodies.

gmail_search_email_idsA

Search Gmail and return only message IDs plus a pagination token. Cheaper than gmail_search_emails when you only need IDs to feed into gmail_batch_read_email or gmail_apply_labels. Read-only.

gmail_batch_read_emailA

Fetch full content for up to 100 Gmail messages by ID. Returns headers and a decoded plaintext body for each (text/plain preferred; HTML is stripped to text when that's all that's available). Bodies are passed through the masking layer before return. Read-only.

gmail_read_email_threadA

Fetch a full Gmail thread by thread ID: every message in order with headers and a decoded plaintext body. Bodies are passed through the masking layer before return. Read-only.

gmail_apply_labelsA

Add and/or remove labels on specific Gmail messages by ID via batchModify. Resolves label display names to IDs (case-insensitive; system labels like UNREAD/INBOX work too). Optionally creates missing add-labels. Use to mark messages 'AI-Processed' and remove 'UNREAD'.

gmail_bulk_label_matchingA

Search Gmail with a query, then add/remove labels on every matching message in one shot (search + batchModify). Resolves label names to IDs and can create missing add-labels. Use for bulk tagging of a query.

gmail_create_reply_draftA

Create a threaded REPLY draft to an email in Gmail (it syncs to Apple Mail's Drafts via IMAP). Pass the original message's from/subject/threadId/message_id plus your composed reply body. PII tokens in the recipient/subject/body are restored to real values before saving; secrets stay redacted. Returns a self-minted RFC822 Message-ID and the Apple Mail deep link (message://) to the draft, plus the Gmail web draft URL as a fallback. Does NOT send.

calendar_upsert_eventA

Create or update an event in the secondary calendar (idempotent by iCalUID).

Writes only to the secondary calendar resolved from config for calendar_key — never the primary calendar. If an event with the same iCalUID already exists it is updated in place; otherwise a new event is created with that iCalUID so subsequent runs do not duplicate it.

calendar_list_eventsA

List events from the secondary calendar for calendar_key (read-only).

Returns events expanded into single instances and ordered by start time.

slack_postA

Post a message to Slack via chat.postMessage. Use this to deliver the final report after processing emails and registering calendar events. The bot must be a member of the target channel; if it is not, the error will tell you to invite it.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yama662607/inbox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server