@lnwebworks/outlook-mcp-server
# @lnwebworks/outlook-mcp-server
An MCP (Model Context Protocol) server that connects Claude (or any MCP-compatible client) to Outlook via the Microsoft Graph API, using client-credentials (app-only) auth.
## Installation
```bash
npm install -g @lnwebworks/outlook-mcp-server
```
Or run directly with `npx`:
```bash
npx @lnwebworks/outlook-mcp-server
```
## Configuration
Copy `.env.example` to `.env` and fill in your Azure AD app registration details:
```bash
cp .env.example .env
```
Required:
- `AZURE_TENANT_ID`
- `AZURE_CLIENT_ID`
- `AZURE_CLIENT_SECRET`
- `OUTLOOK_USER_EMAIL` — the mailbox this server acts on by default
Optional:
- `OUTLOOK_EXCLUDED_FOLDER_IDS`
- `OUTLOOK_SKIP_EXCLUDED_FOLDERS`
- `OUTLOOK_SIGNOFF_NAME`
## Usage with an MCP client
Add this server to your MCP client's config, e.g.:
```json
{
"mcpServers": {
"outlook": {
"command": "npx",
"args": ["-y", "@lnwebworks/outlook-mcp-server"],
"env": {
"AZURE_TENANT_ID": "...",
"AZURE_CLIENT_ID": "...",
"AZURE_CLIENT_SECRET": "...",
"OUTLOOK_USER_EMAIL": "..."
}
}
}
}
```
## License
MIT
TDQS
Scored across 22 tools
There is a cluster of email retrieval tools—get_recent_emails, get_recent_emails_all_folders, get_unread_emails, and get_todays_briefing—that overlap in function and could lead an agent to pick the wrong one by name alone. Most other tools are clearly separated by resource/action, and the descriptions resolve the ambiguity if read carefully.
All tools use snake_case verb_noun names (get_, create_, update_, cancel_, send_, reply_to_, move_, mark_) with no camelCase or inconsistent style. Even phrase-based names like get_todays_briefing still follow the get_<thing> convention, so the pattern is predictable.
22 tools is on the heavy side for a mail/calendar server, and the four overlapping email-fetch variants add redundancy rather than distinct capabilities. A tighter set closer to 15-16 tools would be easier to navigate, though the count is not extreme.
Email covers fetch, search, triage, drafts, replies, send, move, mark-read, and attachments; calendar covers create/read/update/cancel with conflict checks. The main gaps are no email deletion or forwarding and no direct send for an existing draft, but agents can work around these.