Microsoft Bookings MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Microsoft Bookings MCP or direct API to manage booking businesses, schedule appointments, update customers, and organize services through natural language.

Microsoft Bookings logoMicrosoft Bookings
Oauth2

Microsoft Bookings is Microsoft's shared scheduling service for businesses, appointments, customers, services, and staff. It helps teams manage availability and bookings in one place through Microsoft Graph.

35 Tools

Try Microsoft Bookings now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Microsoft Bookings
Try asking
TOOLS

Supported Tools

Every Microsoft Bookings action and event your agent gets out of the box.

Cancel Appointment

Irreversibly cancel an appointment and ask Microsoft Bookings to send the supplied cancellation message to its customers and staff.

Create Appointment

Create an appointment for a service at explicit start and end times, optionally assigning staff and customer details.

Create Booking Business

Create a shared booking business with the supplied display name.

Create Customer

Create a saved customer in one booking business with structured contact details.

Create Custom Question

Create a text or single-choice intake question for one booking business.

Create Service

Create a bookable service with a name and default duration, optionally configuring location, price, staff, reminders, questions, and scheduling rules.

Create Staff Member

Add a staff member to one booking business with a role, email, time zone, and optional working schedule.

Delete Appointment

Permanently delete an appointment without invoking Microsoft Bookings' cancellation-message action.

Delete Booking Business

Permanently delete one shared booking business and all of its Microsoft Bookings data.

Delete Customer

Permanently delete one saved customer from a Microsoft Bookings business.

Delete Custom Question

Permanently delete one custom intake question from a booking business.

Delete Service

Permanently delete one service from a Microsoft Bookings business.

Delete Staff Member

Permanently remove one staff member from a Microsoft Bookings business.

Get Appointment

Get one booking appointment, including its service, customers, assigned staff, attendee counts, and UTC start and end times.

Get Booking Business

Get the complete configuration and publication state of one shared booking business.

Get Booking Currency

Get one Microsoft Bookings currency by its ISO currency code.

Get Customer

Get one saved customer and their contact details from a booking business.

Get Custom Question

Get one custom intake question, including its answer type and available choices.

Get Service

Get one service and its duration, pricing, staff, questions, reminders, location, and scheduling configuration.

Get Staff Member

Get one booking staff member's identity, role, membership state, time zone, working hours, and calendar settings.

List Appointments

List one Microsoft Graph page of appointments for a booking business.

List Booking Businesses

List shared booking businesses visible to the connected work or school account.

List Booking Currencies

Return one Microsoft Graph page of the Microsoft Bookings currency catalog with ISO currency IDs and localized symbols.

List Customers

List saved customers for one booking business, one Microsoft Graph page at a time.

List Custom Questions

List custom intake questions defined for one booking business, one Microsoft Graph page at a time.

List Services

List services offered by one booking business, including duration, pricing, staff, and scheduling defaults, one Microsoft Graph page at a time.

List Staff Members

List staff members configured for one booking business, including roles and working hours, one Microsoft Graph page at a time.

Publish Booking Business

Publish a booking business's external scheduling page so customers can access it.

Unpublish Booking Business

Take a booking business's external scheduling page offline and clear its public URL without deleting the business.

Update Appointment

Update an existing appointment's schedule, customers, service, staff, location, notifications, or pricing without cancelling it.

Update Booking Business

Update supported contact details, hours, currency, business type, address, or scheduling rules without publishing or unpublishing the business.

Update Customer

Update a saved customer's name, email, phone numbers, or postal addresses in one booking business.

Update Custom Question

Update the text of one custom intake question, optionally changing its answer type or choices.

Update Service

Update a service's name, duration, location, pricing, staff, reminders, questions, visibility, or scheduling rules.

Update Staff Member

Update a booking staff member's identity, role, time zone, working schedule, calendar behavior, or email notifications.

SETUP GUIDE

Connect Microsoft Bookings MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["microsoft_bookings"],
  mcp: true,
});
Create a session scoped to Microsoft Bookings and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "List the booking businesses in my Microsoft Bookings account",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Microsoft Bookings request
SETUP GUIDE

Connect Microsoft Bookings API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["microsoft_bookings"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Microsoft Bookings
3

Run Microsoft Bookings tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List the booking businesses in my Microsoft Bookings account" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Microsoft Bookings tool calls through the session, and print the final answer

Why Use Composio?

AI Native Microsoft Bookings Integration

  • Supports both Microsoft Bookings MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Microsoft Bookings data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Microsoft Bookings access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Microsoft Bookings
  • Scoped, least privilege access to Microsoft Bookings resources
  • Full audit trail of agent actions to support review and compliance

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Start with Microsoft Bookings.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Microsoft Bookings tool your agent needs.Free to start.

Start building