Skip to main content
Glama
access-ctrl

@lnwebworks/outlook-mcp-server

by access-ctrl
README.md
# @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

B3.3/5.0

Scored across 22 tools

Disambiguation3/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues