Outlook.com SNDS (Smart Network Data Services) as an MCP server — OAuth sign-in, IP Data & IP Status reports in Claude, Cursor, and any MCP client. Zero dependencies.
claude mcp add outlook-snds-mcp -- npx -y @anthropic-ai/mcpb{
"mcpServers": {
"outlook-snds-mcp": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcpb"]
}
}
}MCP Servers overview
# Outlook SNDS MCP
[](LICENSE)
[](https://github.com/anthropics/mcpb)
[](https://nodejs.org)
[](#why-zero-dependencies)
An [MCP](https://modelcontextprotocol.io) server that brings the **Outlook.com
Smart Network Data Services (SNDS)** REST API into Claude / Cowork / Claude
Desktop and any other MCP client.
Sign in once with your Microsoft account — the server handles the full OAuth 2.0
authorization-code + PKCE flow over a loopback (`http://localhost`) redirect,
caches the tokens, and refreshes them automatically. Then just ask for your IP
reputation data.
> SNDS gives senders per-IP insight into how Outlook.com sees their mail:
> volume, complaint rates, spam-filter verdicts, trap hits, and block/bot status.
Built & maintained by the **[Postmaster+](https://postmasterplus.com)** team at **[OptiPub](https://optipub.com)**.
## Install
**From a release (recommended)**
1. Download `outlook-snds.mcpb` from the [latest release](../../releases/latest).
2. In Cowork / Claude Desktop: **Settings → Capabilities → install extension**, pick the file (or just double-click it).
3. No configuration required.
**From source** — see [Build](#build).
## Use with other MCP clients (Cursor, VS Code, Windsurf, …)
The `.mcpb` is just a packaging convenience for Claude Desktop / Cowork.
Underneath, this is a standard **stdio MCP server**, so any client that runs
local MCP servers can use it directly — no `.mcpb` required. Just point the
client at `server/index.js`.
Clone or download the repo first, then add a server entry:
**Cursor** — edit `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (per project):
```json
{
"mcpServers": {
"outlook-snds": {
"command": "node",
"args": ["/absolute/path/to/outlook-snds-mcp/server/index.js"]
}
}
}
```
**VS Code** (`.vscode/mcp.json`), **Windsurf**, **Claude Desktop** (manual
config), and most other clients use the same `command` + `args` shape — only the
config file location differs. Optional environment overrides (see
[Configuration](#configuration-optional)) go in an `"env": { ... }` object.
The first tool call opens your browser for the SNDS sign-in, exactly as in
Cowork — the localhost OAuth loopback works on any local desktop client.
> **Remote-only clients (e.g. Perplexity, ChatGPT connectors):** these accept
> only a remote HTTPS MCP server URL, not a local command, so this stdio build
> can't be added directly. Using it there would require hosting it as a remote
> server with a web-based OAuth redirect.
## Usage
Run `snds_authenticate` once (your browser opens for a Microsoft sign-in), then:
| Ask | Tool |
| --- | --- |
| "Sign me in to SNDS" | `snds_authenticate` |
| "Am I signed in to SNDS?" | `snds_auth_status` |
| "Show my latest SNDS data report" | `get_data_report` |
| "SNDS data for 2026-12-31" | `get_data_report { date: "2026-12-31" }` |
| "SNDS data for 1.2.3.4 on 2026-12-31" | `get_data_report { date: "2026-12-31", ip: "1.2.3.4" }` |
| "Any blocked/bot/junked IPs?" | `get_ip_status` |
| "Sign me out of SNDS" | `snds_sign_out` |
`get_data_report` takes an optional `date` (`yyyy-MM-dd`) and an optional `ip`
(IPv4). A date is required to filter by IP, because the API path is
`/api/report/data/{date}/{ip}`.
## How authentication works
| Field | Value |
| --- | --- |
| Authorize | `https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize` |
| Token | `https://login.microsoftonline.com/consumers/oauth2/v2.0/token` |
| Client ID | `a53a6cc1-a1cd-46f7-a4aa-281cdabec33c` (the SNDS portal's **public** client) |
| Scope | `a53a6cc1-a1cd-46f7-a4aa-281cdabec33c/.default offline_access openid profile` |
| Redirect | `http://localhost:<dynamic-port>` (loopback) |
On sign-in the server starts a short-lived HTTP listener on `127.0.0.1`, opens
your browser to the Microsoft login, receives the authorization code on the
loopback URL, and exchanges it (with the PKCE code verifier) for tokens.
**No secrets ship in this repo.** It's a public OAuth client using PKCE — there
is no client secret. Tokens are stored only on your machine at
`~/.snds-mcp/tokens.json` with `0600` permissions, and are git-ignored.
## REST endpoints wrapped
Base URL: `https://substrate.office.com/ip-domain-management-snds`
- `GET /api/report/data/{date?}/{ip?}` — IP Data report
- `GET /api/report/status/ip` — IP Status report
## Configuration (optional)
Everything defaults to the SNDS portal values. Override via environment
variables if you need to:
| Variable | Default |
| --- | --- |
| `SNDS_CLIENT_ID` | `a53a6cc1-a1cd-46f7-a4aa-281cdabec33c` |
| `SNDS_AUTHORITY` | `https://login.microsoftonline.com/consumers` |
| `SNDS_SCOPE` | `<client-id>/.default offline_access openid profile` |
| `SNDS_API_BASE` | `https://substrate.office.com/ip-domain-management-snds` |
| `SNDS_TOKEN_DIR` | `~/.snds-mcp` |
| `SNDS_LOGIN_TIMEOUT_MS` | `180000` |
| `SNDS_REQUEST_TIMEOUT_MS` | `60000` |
## Build
Requires Node 18+.
```bash
npx @anthropic-ai/mcpb validate manifest.json
npx @anthropic-ai/mcpb pack . outlook-snds.mcpb
```
Pushing a tag like `v1.0.0` triggers CI to validate, pack, and attach the
`.mcpb` to a GitHub Release automatically (see
[`.github/workflows/release.yml`](.github/workflows/release.yml)).
## Why zero dependencies
The runtime uses only Node.js built-ins (`http`, `https`, `crypto`,
`readline`). That keeps the bundle tiny (~11 KB), removes supply-chain risk, and
means there's nothing to `npm install` at runtime.
## Contributing
PRs and issues welcome — see [CONTRIBUTING.md](CONTRIBUTING.md).
## License
[MIT](LICENSE) © OptiPub
---
*Not affiliated with or endorsed by Microsoft. "Outlook", "Outlook.com", and
"SNDS" are trademarks of Microsoft Corporation.*
What people ask about outlook-snds-mcp
What is optipub/outlook-snds-mcp?
+
optipub/outlook-snds-mcp is mcp servers for the Claude AI ecosystem. Outlook.com SNDS (Smart Network Data Services) as an MCP server — OAuth sign-in, IP Data & IP Status reports in Claude, Cursor, and any MCP client. Zero dependencies. It has 3 GitHub stars and was last updated today.
How do I install outlook-snds-mcp?
+
You can install outlook-snds-mcp by cloning the repository (https://github.com/optipub/outlook-snds-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is optipub/outlook-snds-mcp safe to use?
+
optipub/outlook-snds-mcp has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.
Who maintains optipub/outlook-snds-mcp?
+
optipub/outlook-snds-mcp is maintained by optipub. The last recorded GitHub activity is from today, with 0 open issues.
Are there alternatives to outlook-snds-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy outlook-snds-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/optipub-outlook-snds-mcp)<a href="https://claudewave.com/repo/optipub-outlook-snds-mcp"><img src="https://claudewave.com/api/badge/optipub-outlook-snds-mcp" alt="Featured on ClaudeWave: optipub/outlook-snds-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。