# How to connect Outlook MCP with VS Code

```json
{
  "title": "How to connect Outlook MCP with VS Code",
  "toolkit": "Outlook",
  "toolkit_slug": "outlook",
  "framework": "VS Code",
  "framework_slug": "vscode",
  "url": "https://composio.dev/toolkits/outlook/framework/vscode",
  "markdown_url": "https://composio.dev/toolkits/outlook/framework/vscode.md",
  "updated_at": "2026-05-06T08:22:29.353Z"
}
```

## Introduction

### How to connect Outlook MCP with VS Code
VS Code is the most popular code editor out there. With its recent AI makeover, it can do more than just help you write code. You can connect your applications to it and let LLMs automate many of the mundane tasks in your workflow.
In this guide, I will explain how to connect Outlook with VS Code in the most secure and robust way possible via Composio.

## Also integrate Outlook with

- [ChatGPT](https://composio.dev/toolkits/outlook/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/outlook/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/outlook/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/outlook/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/outlook/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/outlook/framework/codex)
- [Cursor](https://composio.dev/toolkits/outlook/framework/cursor)
- [OpenCode](https://composio.dev/toolkits/outlook/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/outlook/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/outlook/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/outlook/framework/cli)
- [Google ADK](https://composio.dev/toolkits/outlook/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/outlook/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/outlook/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/outlook/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/outlook/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/outlook/framework/crew-ai)

## TL;DR

### Why use Composio?
Composio provides:
- Access to 1,000+ managed apps from a single MCP endpoint. This makes it convenient for agents to run cross-app workflows.
- Programmatic tool calling. Allows LLMs to write its code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
- Large tool response handling outside the LLM context. This minimizes context bloat from large tool responses.
- Dynamic just-in-time access to thousands of tools across hundreds of apps. Composio loads the tools your agent needs, so LLMs are not overwhelmed by tools they do not need.

## Connect Outlook to VS Code

### Integrate Outlook MCP with VS Code
### 1. Install with one click
Click the button below to add Composio to VS Code. You will be prompted to authorize. This requires VS Code 1.99+ with GitHub Copilot.
[+Install in VS Code](vscode:mcp/install?%7B%22name%22%3A%22composio%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fconnect.composio.dev%2Fmcp%22%7D)
### 2. Or add manually
Open or create .vscode/mcp.json in your project root and add the following configuration:

```bash
{
  "servers": {
    "composio": {
      "type": "http",
      "url": "https://connect.composio.dev/mcp"
    }
  }
}
```

## What is the Outlook MCP server, and what's possible with it?

The Outlook MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Outlook account. It provides structured and secure access to your email, calendar, and contacts, so your agent can perform actions like sending emails, organizing folders, managing your calendar, and handling attachments on your behalf.
- Email organization and folder management: Let your agent create, delete, or organize mail folders to keep your inbox tidy and efficient.
- Calendar and event creation: Easily have your agent set up new calendars, so you can organize meetings and events without lifting a finger.
- Smart attachments handling: Automatically download files from your emails or add attachments to outgoing messages for seamless file management.
- Automated rules and filtering: Direct your agent to create email rules that filter, sort, or take action on messages as they arrive.
- Contact and category organization: Ask your agent to create new contact folders or master categories to streamline how you manage people and projects.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `OUTLOOK_ADD_MAIL_ATTACHMENT` | Add mail attachment | Tool to add an attachment to an email message. use when you have a message id and need to attach a small (<3 mb) file or reference. |
| `OUTLOOK_CREATE_CALENDAR` | Create calendar | Tool to create a new calendar in the signed-in user's mailbox. use when organizing events into a separate calendar. |
| `OUTLOOK_CREATE_CONTACT_FOLDER` | Create contact folder | Tool to create a new contact folder in the user's mailbox. use when needing to organize contacts into custom folders. |
| `OUTLOOK_CREATE_EMAIL_RULE` | Create Email Rule | Create email rule filter with conditions and actions |
| `OUTLOOK_CREATE_MAIL_FOLDER` | Create mail folder | Tool to create a new mail folder. use when you need to organize email into a new folder. |
| `OUTLOOK_CREATE_MASTER_CATEGORY` | Create master category | Tool to create a new category in the user's master category list. use after selecting a unique display name. |
| `OUTLOOK_DELETE_MAIL_FOLDER` | Delete mail folder | Delete a mail folder from the user's mailbox. use when you need to remove an existing mail folder. |
| `OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT` | Download Outlook attachment | Downloads a specific file attachment from an email message in a microsoft outlook mailbox; the attachment must contain 'contentbytes' (binary data) and not be a link or embedded item. |
| `OUTLOOK_GET_MAILBOX_SETTINGS` | Get mailbox settings | Tool to retrieve mailbox settings. use when you need to view settings such as automatic replies, time zone, and working hours for the signed-in or specified user. |
| `OUTLOOK_GET_MAIL_DELTA` | Get mail delta | Tool to retrieve incremental changes (delta) of messages in a mailbox. use when syncing mailbox updates since last checkpoint. |
| `OUTLOOK_GET_MAIL_TIPS` | Get mail tips | Tool to retrieve mail tips such as automatic replies and mailbox full status. use when you need to check recipient status before sending mail. |
| `OUTLOOK_GET_MASTER_CATEGORIES` | Get master categories | Tool to retrieve the user's master category list. use when you need to get all categories defined for the user. |
| `OUTLOOK_GET_SUPPORTED_LANGUAGES` | Get supported languages | Tool to retrieve supported languages in the user's mailbox. use when you need to display or select from available mailbox languages. |
| `OUTLOOK_GET_SUPPORTED_TIME_ZONES` | Get supported time zones | Tool to retrieve supported time zones in the user's mailbox. use when you need a list of time zones to display or choose from for event scheduling. |
| `OUTLOOK_LIST_CALENDARS` | List Outlook calendars | Tool to list calendars in the signed-in user's mailbox. use when you need to retrieve calendars with optional odata queries. |
| `OUTLOOK_LIST_EVENT_ATTACHMENTS` | List event attachments | Tool to list attachments for a specific outlook calendar event. use when you have an event id and need to view its attachments. |
| `OUTLOOK_LIST_OUTLOOK_ATTACHMENTS` | List Outlook attachments | Lists metadata (like name, size, and type, but not `contentbytes`) for all attachments of a specified outlook email message. |
| `OUTLOOK_LIST_REMINDERS` | List event reminders | Tool to retrieve reminders for events occurring within a specified time range. use when you need to see upcoming reminders between two datetimes. |
| `OUTLOOK_OUTLOOK_ADD_EVENT_ATTACHMENT` | Add event attachment | Adds an attachment to a specific outlook calendar event. use when you need to attach a file or nested item to an existing event. |
| `OUTLOOK_OUTLOOK_CALENDAR_CREATE_EVENT` | Create Calendar Event | Creates a new outlook calendar event, ensuring `start datetime` is chronologically before `end datetime`. |
| `OUTLOOK_OUTLOOK_CREATE_CONTACT` | Create contact | Creates a new contact in a microsoft outlook user's contacts folder. |
| `OUTLOOK_OUTLOOK_CREATE_DRAFT` | Create email draft | Creates an outlook email draft with subject, body, recipients, and an optional attachment. supports creating drafts as part of existing conversation threads by specifying a conversationid; attachments require a name, mimetype, and content. |
| `OUTLOOK_OUTLOOK_CREATE_DRAFT_REPLY` | Create a draft reply | Creates a draft reply in the specified user's outlook mailbox to an existing message (identified by a valid `message id`), optionally including a `comment` and cc/bcc recipients. |
| `OUTLOOK_OUTLOOK_DELETE_CONTACT` | Delete Contact | Permanently deletes an existing contact, using its `contact id` (obtainable via 'list user contacts' or 'get contact'), from the outlook contacts of the user specified by `user id`. |
| `OUTLOOK_OUTLOOK_DELETE_EVENT` | Delete Calendar Event | Deletes an existing calendar event, identified by its unique `event id`, from a specified user's microsoft outlook calendar, with an option to send cancellation notifications to attendees. |
| `OUTLOOK_OUTLOOK_GET_CONTACT` | Get contact | Retrieves a specific outlook contact by its `contact id` from the contacts of a specified `user id` (defaults to 'me' for the authenticated user). |
| `OUTLOOK_OUTLOOK_GET_CONTACT_FOLDERS` | Get contact folders | Tool to retrieve a list of contact folders in the signed-in user's mailbox. use after authentication when you need to browse or select among contact folders. |
| `OUTLOOK_OUTLOOK_GET_EVENT` | Get calendar event | Retrieves the full details of a specific calendar event by its id from a user's outlook calendar, provided the event exists. |
| `OUTLOOK_OUTLOOK_GET_MESSAGE` | Get email message | Retrieves a specific email message by its id from the specified user's outlook mailbox. use the 'select' parameter to include specific fields like 'internetmessageheaders' for filtering automated emails. |
| `OUTLOOK_OUTLOOK_GET_PROFILE` | Get Outlook profile | Retrieves the microsoft outlook profile for a specified user. |
| `OUTLOOK_OUTLOOK_GET_SCHEDULE` | Get schedule | Retrieves free/busy schedule information for specified email addresses within a defined time window. |
| `OUTLOOK_OUTLOOK_LIST_CONTACTS` | List Outlook contacts | Retrieves a user's microsoft outlook contacts, from the default or a specified contact folder. |
| `OUTLOOK_OUTLOOK_LIST_EVENTS` | List events | Retrieves events from a user's outlook calendar via microsoft graph api, supporting pagination, filtering, property selection, sorting, and timezone specification. |
| `OUTLOOK_OUTLOOK_LIST_MAIL_FOLDERS` | List mail folders | Tool to list a user's top-level mail folders. use when you need folders like inbox, drafts, sent items; set include hidden folders=true to include hidden folders. |
| `OUTLOOK_OUTLOOK_LIST_MESSAGES` | List Messages | Retrieves a list of email messages from a specified mail folder in an outlook mailbox, with options for filtering (including by conversationid to get all messages in a thread), pagination, and sorting; ensure 'user id' and 'folder' are valid, and all date/time strings are in iso 8601 format. |
| `OUTLOOK_OUTLOOK_MOVE_MESSAGE` | Move message to folder | Move a message to another folder within the specified user's mailbox. this creates a new copy of the message in the destination folder and removes the original message. |
| `OUTLOOK_OUTLOOK_REPLY_EMAIL` | Reply to Email | Sends a plain text reply to an outlook email message, identified by `message id`, allowing optional cc and bcc recipients. |
| `OUTLOOK_OUTLOOK_SEARCH_MESSAGES` | Search Outlook messages | Searches messages in a microsoft 365 or enterprise outlook account mailbox, supporting filters for sender, subject, attachments, pagination, and sorting by relevance or date. |
| `OUTLOOK_OUTLOOK_SEND_EMAIL` | Send email | Sends an email with subject, body, recipients, and an optional attachment via microsoft graph api; attachments require a non-empty file with valid name and mimetype. |
| `OUTLOOK_OUTLOOK_UPDATE_CALENDAR_EVENT` | Update calendar event | Updates specified fields of an existing outlook calendar event. |
| `OUTLOOK_OUTLOOK_UPDATE_CONTACT` | Update Contact | Updates an existing outlook contact, identified by `contact id` for the specified `user id`, requiring at least one other field to be modified. |
| `OUTLOOK_OUTLOOK_UPDATE_EMAIL` | Update email message | Updates specified properties of an existing email message; `message id` must identify a valid message within the specified `user id`'s mailbox. |
| `OUTLOOK_UPDATE_MAILBOX_SETTINGS` | Update mailbox settings | Tool to update mailbox settings for the signed-in user. use when you need to configure automatic replies, default time zone, language, or working hours. example: schedule automatic replies for vacation. |

## Supported Triggers

| Trigger slug | Name | Description |
|---|---|---|
| `OUTLOOK_CONTACT_TRIGGER` | New Contact Added | Triggered when a new contact is added in the Outlook contacts. |
| `OUTLOOK_EVENT_CHANGE_TRIGGER` | Calendar Event Changes | Triggered when a new calendar event occurs (created, updated, or deleted) in the Outlook calendar. |
| `OUTLOOK_EVENT_TRIGGER` | New Calendar Event | Triggered when a new calendar event is created in the Outlook calendar. |
| `OUTLOOK_MESSAGE_TRIGGER` | New Outlook Message | Triggered when a new message is received in the Outlook mailbox. |
| `OUTLOOK_SENT_MESSAGE_TRIGGER` | New Sent Message | Triggered when a new message is sent from the Outlook mailbox. |

## Creating MCP Server - Stand-alone vs Composio SDK

Once connected, VS Code can access the Outlook MCP server via Composio to run the app actions you authorize, directly from your coding workflow.

## Complete Code

None listed.

## Conclusion

### Way Forward
Now that Outlook is connected, extend your setup by connecting the other apps you already use every day, so your agent can run true cross-app workflows end to end.
- Connect Calendar to turn threads into scheduled meetings automatically.
- Connect Slack or Teams to post summaries, approvals, and alerts where your team works.
- Connect Notion, Linear, Jira, or Asana to convert requests into tickets, tasks, and docs.
- Connect Drive, Dropbox, or OneDrive to fetch, file, and share attachments without manual steps.
- Connect HubSpot or Salesforce to log customer context, update records, and draft follow-ups.
Start with one workflow you do repeatedly, then keep adding apps as you find new handoffs. With everything behind a single MCP endpoint, your agent can coordinate multiple tools safely and reliably in one conversation.

## How to build Outlook MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/outlook/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/outlook/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/outlook/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/outlook/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/outlook/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/outlook/framework/codex)
- [Cursor](https://composio.dev/toolkits/outlook/framework/cursor)
- [OpenCode](https://composio.dev/toolkits/outlook/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/outlook/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/outlook/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/outlook/framework/cli)
- [Google ADK](https://composio.dev/toolkits/outlook/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/outlook/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/outlook/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/outlook/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/outlook/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/outlook/framework/crew-ai)

## Related Toolkits

- [Gmail](https://composio.dev/toolkits/gmail) - Gmail is Google's email service with powerful spam protection, search, and G Suite integration. It keeps your inbox organized and makes communication fast and reliable.
- [Slack](https://composio.dev/toolkits/slack) - Slack is a channel-based messaging platform for teams and organizations. It helps people collaborate in real time, share files, and connect all their tools in one place.
- [Gong](https://composio.dev/toolkits/gong) - Gong is a platform for video meetings, call recording, and team collaboration. It helps teams capture conversations, analyze calls, and turn insights into action.
- [Microsoft teams](https://composio.dev/toolkits/microsoft_teams) - Microsoft Teams is a collaboration platform that combines chat, meetings, and file sharing within Microsoft 365. It keeps distributed teams connected and productive through seamless virtual communication.
- [Slackbot](https://composio.dev/toolkits/slackbot) - Slackbot is a conversational automation tool for Slack that handles reminders, notifications, and automated responses. It boosts team productivity by streamlining onboarding, answering FAQs, and managing timely alerts—all right inside Slack.
- [2chat](https://composio.dev/toolkits/_2chat) - 2chat is an API platform for WhatsApp and multichannel text messaging. It streamlines chat automation, group management, and real-time messaging for developers.
- [Agent mail](https://composio.dev/toolkits/agent_mail) - Agent mail provides AI agents with dedicated email inboxes for sending, receiving, and managing emails. It empowers agents to communicate autonomously with people, services, and other agents—no human intervention needed.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Chatwork](https://composio.dev/toolkits/chatwork) - Chatwork is a team communication platform with group chats, file sharing, and task management. It helps businesses boost collaboration and streamline productivity.
- [Clickmeeting](https://composio.dev/toolkits/clickmeeting) - ClickMeeting is a cloud-based platform for running online meetings and webinars. It helps businesses and individuals host, manage, and engage virtual audiences with ease.
- [Confluence](https://composio.dev/toolkits/confluence) - Confluence is Atlassian's team collaboration and knowledge management platform. It helps your team organize, share, and update documents and project content in one secure workspace.
- [Dailybot](https://composio.dev/toolkits/dailybot) - DailyBot streamlines team collaboration with chat-based standups, reminders, and polls. It keeps work flowing smoothly in your favorite messaging platforms.
- [Dialmycalls](https://composio.dev/toolkits/dialmycalls) - Dialmycalls is a mass notification service for sending voice and text messages to contacts. It helps teams and organizations quickly broadcast urgent alerts and updates.
- [Dialpad](https://composio.dev/toolkits/dialpad) - Dialpad is a cloud-based business phone and contact center system for teams. It unifies voice, video, messaging, and meetings across your devices.
- [Discord](https://composio.dev/toolkits/discord) - Discord is a real-time messaging and VoIP platform for communities and teams. It lets users chat, share media, and collaborate across public and private channels.
- [Discordbot](https://composio.dev/toolkits/discordbot) - Discordbot is an automation tool for Discord servers that handles moderation, messaging, and user engagement. It helps communities run smoothly by automating routine and complex tasks.
- [Echtpost](https://composio.dev/toolkits/echtpost) - Echtpost is a secure digital communication platform for encrypted document and message exchange. It ensures confidential data stays private and protected during transmission.
- [Egnyte](https://composio.dev/toolkits/egnyte) - Egnyte is a cloud-based platform for secure file sharing, storage, and governance. It helps teams collaborate efficiently while maintaining data compliance and security.
- [Google Meet](https://composio.dev/toolkits/googlemeet) - Google Meet is a secure video conferencing platform for virtual meetings, chat, and screen sharing. It helps teams connect, collaborate, and communicate seamlessly from anywhere.
- [Heartbeat](https://composio.dev/toolkits/heartbeat) - Heartbeat is a plug-and-play platform for building and managing online communities. It helps you organize users, channels, events, and discussions in one place.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Outlook MCP?

With a standalone Outlook MCP server, the agents and LLMs can only access a fixed set of Outlook tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Outlook and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with VS Code?

Yes, you can. VS Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Outlook tools.

### Can I manage the permissions and scopes for Outlook while using Tool Router?

Yes, absolutely. You can configure which Outlook scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Outlook data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
