Outlook
HTTP-SSE连接Claude与Outlook的增强型MCP服务器
连接Claude与Outlook的增强型MCP服务器
This is an enhanced, modular implementation of the Outlook MCP (Model Context Protocol) server that connects Claude with Microsoft Outlook through the Microsoft Graph API. This server provides a robust set of tools for email, calendar, folder management, and rule creation.
/enhanced-outlook-mcp/
├── index.js # Main entry point
├── config.js # Configuration settings
├── .env.example # Example environment variables
├── auth/ # Authentication modules
│ ├── index.js # Authentication exports
│ ├── token-manager.js # Token storage and refresh
│ ├── multi-user-support.js # Multiple user support
│ └── tools.js # Auth-related tools
├── email/ # Email functionality
│ ├── index.js # Email exports
│ ├── list.js # List emails
│ ├── search.js # Search emails
│ ├── read.js # Read email
│ ├── send.js # Send email
│ └── attachments.js # Handle email attachments
├── calendar/ # Calendar functionality
│ ├── index.js # Calendar exports
│ ├── create-event.js # Create calendar events
│ ├── list-events.js # List calendar events
│ ├── update-event.js # Update calendar events
│ └── delete-event.js # Delete calendar events
├── folder/ # Folder management
│ ├── index.js # Folder exports
│ ├── list.js # List folders
│ ├── create.js # Create folders
│ └── move.js # Move items between folders
├── rules/ # Mail rules functionality
│ ├── index.js # Rules exports
│ ├── create.js # Create mail rules
│ ├── list.js # List mail rules
│ └── delete.js # Delete mail rules
└── utils/ # Utility functions
├── graph-api.js # Microsoft Graph API helper
├── odata-helpers.js # OData query building
├── logger.js # Logging utility
├── rate-limiter.js # API rate limiting
└── mock-data/ # Test mode mock data
├── emails.js # Mock email data
├── folders.js # Mock folder data
├── calendar.js # Mock calendar data
└── rules.js # Mock rules data
Clone the repository:
git clone https://github.com/your-username/enhanced-outlook-mcp.git
cd enhanced-outlook-mcp
Install dependencies:
npm install
Create a .env file based on .env.example with your Microsoft App Registration details:
MS_CLIENT_ID=your_client_id
MS_CLIENT_SECRET=your_client_secret
# Additional configuration options
Configure Claude to use the MCP server by adding the following to your Claude configuration:
{ "tools": [ { "name": "enhanced-outlook-mcp", "url": "http://localhost:3000", "auth": { "type": "none" } } ] }
Start the MCP server:
npm start
In a separate terminal, start the authentication server:
npm run auth-server
Use the authenticate tool in Claude to initiate the authentication flow.
authenticate tool to get an authentication URLTo run the server in development mode with auto-reload:
npm run dev
To run tests:
npm test
MIT License
Contributions are welcome! Please feel free to submit a Pull Request.