Skip to main content
Glama
Microsoft 365 Bookings MCP Server

Microsoft 365 Bookings MCP Server

Microsoft 365 Bookings MCP Server

An MCP server that provides tools for interacting with Microsoft Bookings through the Microsoft Graph API.

Features

  • List Bookings businesses

  • Get staff members for a business

  • Get services offered by a business

  • Get appointments for a business

Setup

Installing via Smithery

To install Microsoft 365 Bookings for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @DynamicEndpoints/m365-bookings-mcp --client claude

Manual Installation

  1. Create an Azure AD application registration:

    • Go to Azure Portal > Azure Active Directory > App registrations

    • Create a new registration

    • Add Microsoft Graph API permissions:

      • BookingsAppointment.ReadWrite.All

      • BookingsBusiness.ReadWrite.All

      • BookingsStaffMember.ReadWrite.All

  2. Create a .env file with the following variables:

MICROSOFT_GRAPH_CLIENT_ID=your-client-id
MICROSOFT_GRAPH_CLIENT_SECRET=your-client-secret
MICROSOFT_GRAPH_TENANT_ID=your-tenant-id
  1. Install dependencies:

npm install
  1. Build the server:

npm run build

Available Tools

get_bookings_businesses

Get a list of all Bookings businesses in the organization.

get_business_staff

Get staff members for a specific Bookings business.

  • Required parameter: businessId

get_business_services

Get services offered by a specific Bookings business.

  • Required parameter: businessId

get_business_appointments

Get appointments for a specific Bookings business.

  • Required parameter: businessId

  • Optional parameters:

    • startDate (ISO format)

    • endDate (ISO format)

Available Tools

4 tools
get_bookings_businessesB

Get list of Bookings businesses

Inputs: no named parameters.

get_business_appointmentsC

Get appointments for a Bookings business

Inputs: businessId (required), startDate, endDate.

get_business_servicesC

Get services offered by a Bookings business

Inputs: businessId (required).

get_business_staffC

Get staff members for a Bookings business

Inputs: businessId (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting different resources: businesses, appointments, services, and staff. There is no overlap in functionality, making it easy for an agent to select the correct tool without confusion.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with 'get_' prefix and descriptive suffixes like '_businesses' or '_business_appointments'. The naming is uniform and predictable across all four tools.

    Tool Count3/5

    With only 4 tools, the set feels thin for a Microsoft 365 Bookings domain, lacking essential operations like creating, updating, or deleting resources. While the tools cover basic retrieval, the scope is limited and may not support full agent workflows.

    Completeness2/5

    The toolset is severely incomplete, offering only read operations (get) with no ability to create, update, or delete bookings, appointments, services, or staff. This creates significant gaps that will cause agent failures in managing Bookings resources effectively.

    Related MCP Connectors