Modular Outlook MCP Server
MCP server for Claude to access Outlook data via Microsoft Graph API
Overview
The Modular Outlook MCP Server is a server implementation that connects Claude with Microsoft Outlook using the Microsoft Graph API, allowing for efficient email management and interaction.
To use the server, configure it by editing the config.js file, authenticate with Microsoft, and utilize the email management tools provided in the server.
- OAuth 2.0 authentication with Microsoft Graph API - Email functionalities including listing, searching, reading, and sending emails - Modular structure for better maintainability - OData filter handling for query management - Test mode for simulated responses without real API calls
- Managing Outlook emails through a custom interface.
- Integrating email functionalities into applications using Microsoft Graph API.
- Testing email management features without affecting real data.
Add to your AI client
Use these steps to connect Modular Outlook MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"outlook-mcp-ryaker": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-outlook-mcp-ryaker"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"outlook-mcp-ryaker": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-outlook-mcp-ryaker"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"outlook-mcp-ryaker": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-outlook-mcp-ryaker"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"outlook-mcp-ryaker": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-outlook-mcp-ryaker"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"outlook-mcp-ryaker": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-outlook-mcp-ryaker"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"outlook-mcp-ryaker": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-outlook-mcp-ryaker"
]
}
}
}FAQ
How do I authenticate with Microsoft?
Use the `authenticate` tool after starting the local authentication server.
Can I test the server without real API calls?
Yes! You can use the test mode for simulated responses.
How do I extend the server's functionality?
Create new module directories and implement tool handlers in separate files.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":2749,"uuid":"7a061158-9ad8-40e9-9976-43cf3ea38898","name":"outlook-mcp","title":"Modular Outlook MCP Server","description":"MCP server for Claude to access Outlook data via Microsoft Graph API","avatar_url":"https://avatars.githubusercontent.com/u/947669?v=4","created_at":"2025-03-14T00:59:29.892Z","updated_at":"2025-03-14T01:36:34.449Z","status":"created","author_name":"ryaker","author_avatar_url":"https://avatars.githubusercontent.com/u/947669?v=4","tags":"[]","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/ryaker/outlook-mcp","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":"{\"star\":\"35\",\"license\":\"\",\"language\":\"JavaScript\",\"is_official\":false,\"latest_commit_time\":\"2025-05-03 09:55:32\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]