EWS Meeting MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EWS_EMAIL | Yes | Your email address | |
| EWS_ENDPOINT | Yes | The EWS endpoint URL, e.g. https://mail.company.com/EWS/Exchange.asmx | |
| EWS_PASSWORD | No | Your EWS password (alternative to Keychain) | |
| EWS_TIMEZONE | Yes | Your timezone, e.g. Asia/Taipei | |
| EWS_USERNAME | Yes | Your EWS username, e.g. DOMAIN\your_user | |
| EWS_AUTH_TYPE | Yes | Authentication type: NTLM or BASIC | |
| EWS_MEETING_POLICY_FILE | No | Path to meeting policy JSON file | |
| EWS_PASSWORD_KEYCHAIN_ACCOUNT | No | macOS Keychain account name (defaults to EWS_USERNAME if omitted) | |
| EWS_PASSWORD_KEYCHAIN_SERVICE | No | macOS Keychain service name for password |
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ews_keychain_statusA | Check whether EWS password credentials are available from environment variables or macOS Keychain without revealing the password. If missing, returns required_action and setup_command that must be shown verbatim to the user. |
| ews_setup_checkA | Return whether EWS setup is ready, including env and password/Keychain checks. When ready is false, show user_message or setup_command and stop before scheduling. |
| ews_get_audit_logA | Read recent local lifecycle audit entries for meeting preview, confirmed, duplicate, in-progress, and error actions. Does not read EWS credentials or call Exchange. |
| ews_probeA | Check that the configured EWS account can connect. Does not read calendar items. |
| ews_list_calendarC | List upcoming events from the configured user's default calendar. |
| ews_find_calendar_eventsA | Read-only search for calendar events in a time window. Returns exact EWS id and changekey metadata for safe preview-confirm update or cancel flows. |
| ews_verify_meetingA | Verify a calendar item by EWS id and optional changekey. Returns normalized organizer item status, attendees, rooms/resources, and response_status values when Exchange exposes them. |
| ews_list_roomsB | List Exchange meeting rooms from dynamic room lists, or configured static fallback rooms, as structured options for user selection. |
| ews_resolve_attendeesA | Resolve attendee names, aliases, or email addresses against the company Exchange directory before scheduling. If multiple matches are returned, ask the user which email to use. |
| ews_get_free_busyA | Read free/busy blocks for one or more attendee email addresses. |
| ews_suggest_slotsA | Suggest nearest overlapping free meeting slots for multiple attendees and optional candidate meeting rooms. Omits workday_start, workday_end, and avoid to use local policy defaults. |
| ews_create_meeting_previewB | Preview a meeting invite without creating the event or sending invitations. |
| ews_create_meeting_confirmedA | Create a meeting and send invitations. Only call after the user explicitly confirms the exact attendees, time, subject, body, and location. Requires confirm=true and the confirmation_id returned by ews_create_meeting_preview. |
| ews_update_meeting_previewA | Preview changes to an existing meeting using exact id and changekey. Does not save or send meeting updates. |
| ews_update_meeting_confirmedA | Update an existing meeting. Requires confirm=true and the confirmation_id returned by ews_update_meeting_preview. Supports only subject, start, end, location, and body. |
| ews_cancel_meeting_previewA | Preview cancellation of an existing meeting using exact id and changekey. Does not delete, move, or send cancellations. |
| ews_cancel_meeting_confirmedA | Cancel an existing non-recurring organizer meeting by moving it to trash. Requires confirm=true and the confirmation_id returned by ews_cancel_meeting_preview. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
All tools have clearly distinct purposes, with preview/confirmed pairs clearly differentiated and supporting tools (find, list, resolve, suggest) addressing separate needs. No overlap or ambiguity.
All tools follow a consistent 'ews_verb_noun' pattern, with clear conventions for preview vs confirmed flows (e.g., ews_create_meeting_preview, ews_create_meeting_confirmed). No naming irregularities.
17 tools is well-scoped for a meeting management server, covering setup, inspection, scheduling, creation, update, cancellation, and verification. Each tool serves a distinct and necessary function.
The tool surface covers the full lifecycle of meeting management from setup and attendee resolution to create/update/cancel with preview/confirmed flows, plus supporting tools like free/busy, room listing, and audit log. No obvious gaps for an organizer-focused server.