Connect your AI Agents to Outlook in minutes

Merge lets you securely connect your agents to Outlook and thousands of tools instantly

Available tools

list_message_attachments

List all attachments for a specific email message with pagination support. Returns attachment metadata including ID, name, size, content type, and inline status. ⚠️ CRITICAL: message_id must be 150+ characters - copy it EXACTLY from search results, do NOT truncate.

get_message_attachment

Get a specific attachment from an email message by ID. Returns full attachment details including base64-encoded content. ⚠️ CRITICAL: Both message_id and attachment_id are 150+ characters - copy them EXACTLY from list_message_attachments response, do NOT truncate or reconstruct.

get_message_attachments_metadata

Get metadata for all attachments in an email message without downloading content. Returns only essential fields (id, name, size, contentType) with pagination support.

get_events

Retrieve calendar events within a time range with pagination support. When start_time and end_time are provided, automatically expands recurring meetings into individual occurrences. Returns event type and seriesMasterId.

get_event

Get a specific calendar event by ID

create_event

Create a calendar event (one-time or recurring). Use recurrence parameter for recurring events.

update_event

Update a calendar event. For recurring events: updating an occurrence ID changes only that instance (creates an exception); updating the seriesMasterId (found in occurrence's seriesMasterId field) changes all future occurrences.

delete_event

Delete a calendar event

get_today_events

Get today's calendar events

get_upcoming_events

Get upcoming calendar events

get_past_events

Get past calendar events from previous days

create_meeting

Create a meeting with attendees (one-time or recurring)

create_teams_meeting

Create a Teams meeting with enhanced online meeting support

search_events

Search for calendar events with pagination support

get_user_schedule

Get free/busy schedule information for users, distribution lists, or resources for a specified time period

find_meeting_times

Find optimal meeting times based on attendee availability, suggesting times that work for required participants

get_contacts

Retrieve contacts from a folder with pagination support

get_contact

Get a specific contact by ID

create_contact

Create a new contact

update_contact

Update a contact

delete_contact

Delete a contact

search_contacts

Search for contacts with pagination support

find_contacts_by_email

Find contacts by email address with pagination support

find_contacts_by_company

Find contacts by company name with pagination support

get_mail_folders

Get all mail folders with pagination support

get_mail_folder

Get a specific mail folder by ID

create_mail_folder

Create a new mail folder

update_mail_folder

Update a mail folder

delete_mail_folder

Delete a mail folder

copy_mail_folder

Copy a mail folder

move_mail_folder

Move a mail folder

get_child_folders

Get child folders of a parent folder with pagination support

get_well_known_folder

Get a well-known folder by name

get_folder_message_count

Get message counts for a folder

get_messages

Retrieve messages from a mailbox folder with pagination support

get_message

Get a specific message by ID

create_draft_message

Create a draft message

send_message

Send an email message

update_message

Update a message

delete_message

Delete a message

mark_message_as_read

Mark a message as read

mark_message_as_unread

Mark a message as unread

get_unread_messages

Get unread messages from a folder with pagination support

search_messages

Search for messages with pagination support. Returns message IDs that are 150+ characters long. ⚠️ CRITICAL: Copy the ENTIRE 'id' field exactly - do NOT truncate or reconstruct IDs.

list_users

List users in the organization with pagination support, filtering, ordering

search_users

Search for users by name, email with pagination support and full-text search

get_user_by_email

Get detailed user information by email address (userPrincipalName)

validate_credential

Validate Microsoft Graph API credentials by attempting to fetch the authenticated user's profile

View all tools by creating a free accountSee more tools

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's Outlook  MCP server

FAQs on using Merge's Outlook  MCP server

How can I use the Outlook MCP server?

Here are just some common use cases that apply not only to Outlook but also other calendar and email MCP servers:

  • Automated scheduling: Your agent can automatically send invites to the appropriate stakeholders when certain events get triggered, such as a deal reaching a new stage in the CRM. These invites can also include relevant context, such as the latest notes from the opportunity in the CRM
  • Productivity and time management insights: Your agent can analyze calendar patterns to generate personalized insights (e.g., "Your most busy day for meetings has been Monday over the past month"), which can help users manage their calendars more thoughtfully
  • Task and deadline management: Your agent can scan emails and calendar events to extract action items and deadlines, and then automatically create tasks in your project management system with appropriate due dates

What are popular tools for Outlook’s MCP server?

Here are just a few popular tools segmented by data type:

Calendar events

  • <code class="blog_inline-code">get_events</code>
  • <code class="blog_inline-code">create_event</code>
  • <code class="blog_inline-code">update_event</code>
  • <code class="blog_inline-code">get_today_events</code>
  • <code class="blog_inline-code">get_upcoming_events</code>

Mail folders

  • <code class="blog_inline-code">get_mail_folders</code>
  • <code class="blog_inline-code">update_mail_folder</code>
  • <code class="blog_inline-code">move_mail_folder</code>
  • <code class="blog_inline-code">get_child_folders</code>

Email messages

  • <code class="blog_inline-code">search_messages</code>
  • <code class="blog_inline-code">send_message</code>
  • <code class="blog_inline-code">update_message</code>
  • <code class="blog_inline-code">get_unread_messages</code>

What makes Merge Agent Handler’s Outlook MCP server better than alternative Outlook MCP servers?

Merge Agent Handler positions Outlook within a broader, enterprise-ready agent tooling platform rather than as a standalone MCP endpoint.

  • Enterprise-grade security and DLP: All Outlook tool inputs and outputs are scanned by a security gateway that can block, redact, or mask sensitive data using default or custom rules. This reduces the risk of agents mishandling email or calendar data
  • Centralized authentication management: Merge Agent Handler manages Outlook authentication flows and credentials, abstracting token handling and validation away from your agent logic
  • Real-time observability and audit trail: Every Outlook tool call is logged and available in fully searchable logs, enabling teams to audit agent behavior, investigate issues, and optimize workflows
  • Tool Packs and access control: Outlook tools can be bundled with other connectors (for example, ticketing or CRM systems) into Tool Packs, allowing fine-grained control over what actions an agent can take

Can I set custom security rules for Outlook tool calls in Merge Agent Handler?

Yes, you can set custom security rules for Outlook tool calls in Merge Agent Handler. 

Here are a few specific examples:

  • API keys and tokens: Automatically redact API keys, access tokens, or secret keys to prevent agents from exposing authentication credentials
  • Financial data: Block your agents from sending emails that contain salary information, budget figures, or revenue numbers in the email body to protect financial confidentiality
  • Competitor information: Log whenever agents access or send emails to addresses from competitor domains to monitor potential data leakage
  • Executive communications: Require additional approval or logging when agents access calendar events or emails involving C-level executives
  • Bulk operations: Block agents from attempting to send to more than a specified number of recipients (e.g., >50) to prevent mass email incidents
  • Geographic restrictions: Log or block when agents attempt to send emails to recipients in specific countries or regions based on data sovereignty requirements

How can I start using Merge Agent Handler’s Outlook MCP server?

Here are the steps you can take:

1. Start with the pre-built Outlook connector. The Outlook connector comes with 40+ ready-to-use tools.

2. Add the Outlook connector to a Tool Pack. Navigate to "Tool Packs" in the sidebar and either create a new Tool Pack or select an existing one. Click "Add Connector" and select Outlook from the available connectors. You can also configure the authentication type (Individual or Shared credentials).

3. Associate the Tool Pack with your agent. Save your Tool Pack changes, then connect it to your agent using the MCP entry URL provided in the Tool Pack settings. Your agent will now have access to exactly the Outlook tools you've configured, with authentication, security rules, and logging handled automatically by Agent Handler.

It’s worth noting that there are additional steps you can take, like testing your tools and customizing them within the Connector Studio (e.g., modifying your tool descriptions).

Explore other MCP servers built and managed by Merge

cms_coverage
CMS Coverage
coda
Coda
confluence
Confluence
contentful
Contentful
crustdata
Crustdata
databricks
Databricks
datadog
Datadog
docusign
DocuSign
doordash
DoorDash
dropbox
Dropbox
duffel
Duffel
dynamics365
Dynamics 365 Sales
exa
Exa
expensify
Expensify
factset
FactSet
figma
Figma
firecrawl
Firecrawl
fireflies
Fireflies
firehydrant
FireHydrant
foursquare
Foursquare
frameio
Frame.io
freshbooks
FreshBooks
freshdesk
Freshdesk
freshservice
Freshservice

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now