- Home
- MCP servers
- Modular Outlook
Modular Outlook
- javascript
197
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"ryaker-outlook-mcp": {
"command": "node",
"args": [
"/absolute/path/to/outlook-mcp/index.js"
],
"env": {
"USE_TEST_MODE": "false",
"OUTLOOK_CLIENT_ID": "your-client-id-here",
"OUTLOOK_CLIENT_SECRET": "your-client-secret-here"
}
}
}
}You can connect Claude to your Microsoft Outlook data through a modular MCP server that handles authentication and provides email and calendar actions via the Microsoft Graph API. This MCP server is designed for clean separation of concerns, easy maintenance, and testable interactions with Outlook data.
How to use
You run the local MCP server configuration and connect Claude through an MCP client. The server exposes tools for managing your Outlook data, including reading and sending emails and handling calendar events. To start using it, you configure Claude Desktop to point at your local MCP server, authenticate with Microsoft, and then invoke the available Outlook tools from Claude to interact with your mailbox and calendar.
How to install
Prerequisites: you need Node.js 14.0.0 or higher and npm (or yarn) installed on your system. You also need an Azure account to register an app for Microsoft Graph access.
Install dependencies for the MCP server project:
npm install
If you are using a local MCP command configuration, the following snippet describes how the server can be started via a stdio configuration. Use your absolute path to the MCP index file in your setup.
{
"type": "stdio",
"name": "outlook_mcp",
"command": "node",
"args": ["/absolute/path/to/outlook-mcp/index.js"],
"env": {
"USE_TEST_MODE": "false",
"OUTLOOK_CLIENT_ID": "your-client-id-here",
"OUTLOOK_CLIENT_SECRET": "your-client-secret-here"
}
}
Configuration
Environment variables you will configure for the MCP server are used to connect to Azure and control test mode. Create a .env file in the project root with these values.
# Get these values from your Azure App Registration
USE_TEST_MODE=false
OUTLOOK_CLIENT_ID=your-client-id-here
OUTLOOK_CLIENT_SECRET=your-client-secret-here
Security and authentication
The server relies on OAuth 2.0 with Microsoft Graph. Tokens are obtained through the authentication flow initiated from Claude Desktop and are stored locally for reuse. Ensure you keep client secrets confidential and rotate them periodically in Azure.
Notes
The server is designed with a modular structure. Authentication, calendar, email, and utility helpers live in separate modules to simplify maintenance and testing.
Troubleshooting
If you encounter issues starting the authentication flow, verify that the authentication server is running and that the environment variables are correctly set in both your local environment and Claude Desktop configuration.
Extending the server
To add or modify functionality, create new module directories (for example, calendar or email), implement handlers for the new tools, export them from module index files, and wire them into the main server entry. This keeps changes isolated and maintainable.
Available tools
authenticate
Initiate OAuth flow to obtain tokens for Microsoft Graph access via Claude Desktop
email.list
List emails in the connected mailbox
email.read
Read a specific email by ID or query
email.search
Search emails by keywords or filters
email.send
Send an email using the connected account
calendar.list
List calendar events for the connected account
calendar.create
Create a new calendar event
calendar.accept
Accept an event invite
calendar.decline
Decline a calendar invite
calendar.tentative
Tentatively accept a calendar invite
calendar.delete
Delete a calendar event