Claude Outlook MCP Tool

# Claude Outlook MCP Tool This is a Model Context Protocol (MCP) tool that allows Claude to interact with Microsoft Outlook for macOS. <a href="https://glama.ai/mcp/servers/0j71n92wnh"> <img width="380" height="200" src="https://glama.ai/mcp/servers/0j71n92wnh/badge" alt="Claude Outlook Tool MCP server" /> </a> ## Features - Mail: - Read unread and regular emails - Search emails by keywords - Send emails with to, cc, and bcc recipients - **Send HTML-formatted emails** - **Attach files to emails** - List mail folders - Calendar: - View today's events - View upcoming events - Search for events - Create new calendar events - Contacts: - List contacts - Search contacts by name ## Prerequisites - macOS with Apple Silicon (M1/M2/M3) or Intel chip - [Microsoft Outlook for Mac](https://apps.apple.com/us/app/microsoft-outlook/id985367838) installed and configured - [Bun](https://bun.sh/) installed - [Claude desktop app](https://claude.ai/desktop) installed ## Installation 1. Clone this repository: ```bash git clone https://github.com/syedazharmbnr1/claude-outlook-mcp.git cd claude-outlook-mcp ``` 2. Install dependencies: ```bash bun install ``` 3. Make sure the script is executable: ```bash chmod +x index.ts ``` 4. Update your Claude Desktop configuration: Edit your `claude_desktop_config.json` file (located at `~/Library/Application Support/Claude/claude_desktop_config.json`) to include this tool: ```json { "mcpServers": { "outlook-mcp": { "command": "/Users/YOURUSERNAME/.bun/bin/bun", "args": ["run", "/path/to/claude-outlook-mcp/index.ts"] } } } ``` Make sure to replace `YOURUSERNAME` with your actual macOS username and adjust the path to where you cloned this repository. 5. Restart Claude Desktop app 6. Grant permissions: - Go to System Preferences > Privacy & Security > Privacy - Give Terminal (or your preferred terminal app) access to Accessibility features - You may see permission prompts when the tool is first used ## Usage Once installed, you can use the Outlook tool directly from Claude by asking questions like: - "Can you check my unread emails in Outlook?" - "Search my Outlook emails for the quarterly report" - "Send an email to john@example.com with the subject 'Meeting Tomorrow'" - "What's on my calendar today?" - "Create a meeting for tomorrow at 2pm" - "Find the contact information for Jane Smith" ## Examples ### Email Operations ``` Check my unread emails in Outlook ``` ``` Send an email to alex@example.com with subject "Project Update" and the following body: Here's the latest update on our project. We've completed phase 1 and are moving on to phase 2. ``` ``` Send an HTML email to team@example.com with subject "Weekly Report" and attach the quarterly_results.pdf file ``` ``` Search my emails for "budget meeting" ``` ### Calendar Operations ``` What events do I have today? ``` ``` Create a calendar event for a team meeting tomorrow from 2pm to 3pm ``` ``` Show me my upcoming events for the next 2 weeks ``` ### Contact Operations ``` List all my Outlook contacts ``` ``` Search for contact information for Jane Smith ``` ## Advanced Features ### HTML Email Support You can send rich HTML-formatted emails by setting the `isHtml` parameter to true: ``` Send an HTML email to john@example.com with the subject "Project Update" and body "<h1>Project Update</h1><p>We've made <b>significant progress</b> on the project.</p>" ``` ### File Attachments You can attach files to your emails by providing the file paths in the `attachments` parameter: ``` Send an email to jane@example.com with subject "Monthly Report" and attach the reports/march_2025.pdf file ``` For best results with attachments: - Use absolute file paths when possible - Make sure the files are accessible to the process running the MCP tool - Attachments will automatically be handled with robust error detection ## Troubleshooting If you encounter issues with attachments: - Check if the file exists and is readable - Use absolute file paths instead of relative paths - Make sure the user running the process has permission to read the file If you encounter the error `Cannot find module '@modelcontextprotocol/sdk/server/index.js'`: 1. Make sure you've run `bun install` to install all dependencies 2. Try installing the MCP SDK explicitly: ```bash bun add @modelcontextprotocol/sdk@^1.5.0 ``` 3. Check if the module exists in your node_modules directory: ```bash ls -la node_modules/@modelcontextprotocol/sdk/server/ ``` If the error persists, try creating a new project with Bun: ```bash mkdir -p ~/yourpath/claude-outlook-mcp cd ~/yourpath/claude-outlook-mcp bun init -y ``` Then copy the package.json and index.ts files to the new directory and run: ```bash bun install bun run index.ts ``` Update your claude_desktop_config.json to point to the new location. ## License MIT