Outlook SNDS について
Outlook SNDSは、Outlook.com Smart Network Data Servicesのレポートを取得するローカルMCPサーバーです。メール送信IPの評価を確認するユーザー向けで、Microsoft OAuthによる認証とトークンの自動更新に対応します。
主な機能
- 01PKCE対応のOAuth 2.0認証
- 02日付指定のIPデータレポート取得
- 03IPv4アドレスによるレポート絞り込み
- 04IPのブロック・ボット状態確認
- 05トークンの自動保存と更新
活用シーン
- 01Outlook.comでのメール量と苦情率の確認
- 02スパム判定とスパムトラップ検知の確認
- 03ブロックまたはボット扱いのIP特定
MCP 対応
ローカルstdioサーバーとして、SNDS認証、IPデータレポート、IP状態を確認するツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Outlook SNDS MCP
Outlook.com Smart Network Data Services(SNDS) REST API を Claude/Cowork/Claude Desktop やその他の MCP クライアントで利用できるようにする MCP サーバーです。
Microsoft アカウントで一度サインインすれば、サーバーがループバック(http://localhost)リダイレクトを使った OAuth 2.0
認可コード+PKCE フローを処理し、トークンをキャッシュして自動的に更新します。その後は、IP の
レピュテーションデータを尋ねるだけです。
SNDS を使うと、送信者は Outlook.com から見たメールの状況を IP ごとに把握できます: 送信量、苦情率、スパムフィルターの判定、トラップへのヒット、ブロック/ボットのステータスなどです。
OptiPub の Postmaster+ チームが開発・保守しています。
インストール
リリースからインストール(推奨)
- 最新リリースから
outlook-snds.mcpbをダウンロードします。 - Cowork/Claude Desktop で、Settings → Capabilities → install extension を選択し、ファイルを指定します(ファイルをダブルクリックするだけでもかまいません)。
- 設定は不要です。
ソースからインストール — ビルドを参照してください。
他の MCP クライアント(Cursor、VS Code、Windsurf など)での使用
.mcpb は Claude Desktop/Cowork 向けのパッケージ形式にすぎません。
内部では標準的な stdio MCP サーバーとして動作するため、ローカル MCP サーバーを実行できるクライアントであれば、.mcpb を使わずに直接利用できます。クライアントから
server/index.js を指定してください。
まずリポジトリをクローンまたはダウンロードし、サーバーエントリを追加します:
Cursor — ~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクトごと)を編集します:
{
"mcpServers": {
"outlook-snds": {
"command": "node",
"args": ["/absolute/path/to/outlook-snds-mcp/server/index.js"]
}
}
}
VS Code(.vscode/mcp.json)、Windsurf、Claude Desktop(手動設定)、およびほとんどの他のクライアントでは、同じ command + args の形式を使います。異なるのは設定ファイルの場所だけです。任意の環境変数による上書き(設定(任意)を参照)は、"env": { ... } オブジェクトに指定します。
最初のツール呼び出しで SNDS のサインイン用にブラウザーが開きます。Cowork と同様に、localhost の OAuth ループバックはどのローカルデスクトップクライアントでも機能します。
**リモート専用クライアント(例:Perplexity、ChatGPT のコネクター):**これらのクライアントが受け付けるのはリモート HTTPS MCP サーバーの URL のみであり、ローカルコマンドは指定できません。そのため、この stdio ビルドを直接追加することはできません。利用するには、ウェブベースの OAuth リダイレクトを使うリモートサーバーとしてホストする必要があります。
使用方法
s n d s _ a u t h e n t i c a t e を一度実行し(ブラウザーが開き、Microsoft サインイン画面が表示されます)、その後は次のように使います:
| 質問 | ツール |
|---|---|
| 「SNDS にサインインしてください」 | snds_authenticate |
| 「SNDS にサインインしていますか?」 | snds_auth_status |
| 「最新の SNDS データレポートを表示してください」 | get_data_report |
| 「2026-12-31 の SNDS データ」 | get_data_report { date: "2026-12-31" } |
| 「2026-12-31 の 1.2.3.4 の SNDS データ」 | get_data_report { date: "2026-12-31", ip: "1.2.3.4" } |
| 「ブロック済み/ボット/ジャンク扱いの IP はありますか?」 | get_ip_status |
| 「SNDS からサインアウトしてください」 | snds_sign_out |
get_data_report では、date(yyyy-MM-dd)と ip
(IPv4)を任意で指定できます。IP で絞り込むには日付が必要です。API のパスが
/api/report/data/{date}/{ip} であるためです。
認証の仕組み
| フィールド | 値 |
|---|---|
| 認可 | https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize |
| トークン | https://login.microsoftonline.com/consumers/oauth2/v2.0/token |
| クライアント ID | a53a6cc1-a1cd-46f7-a4aa-281cdabec33c(SNDS ポータルのパブリッククライアント) |
| スコープ | a53a6cc1-a1cd-46f7-a4aa-281cdabec33c/.default offline_access openid profile |
| リダイレクト | http://localhost:<dynamic-port>(ループバック) |
サインインすると、サーバーは短時間だけ有効な HTTP リスナーを 127.0.0.1 で起動し、Microsoft のログイン画面をブラウザーで開き、ループバック URL で認可コードを受け取り、PKCE コードベリファイアーを使用してトークンと交換します。
このリポジトリにシークレットは含まれていません。 PKCE を使用するパブリック OAuth クライアントであり、クライアントシークレットはありません。トークンは 0600 の権限で、お使いのマシンの ~/.snds-mcp/tokens.json にのみ保存され、Git の追跡対象外です。
ラップされている REST エンドポイント
ベース URL:https://substrate.office.com/ip-domain-management-snds
GET /api/report/data/{date?}/{ip?}— IP データレポートGET /api/report/status/ip— IP ステータスレポート
設定(任意)
すべて SNDS ポータルの値がデフォルトです。必要に応じて、環境変数で上書きできます。
| 変数 | デフォルト |
|---|---|
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 |
ビルド
Node 18 以降が必要です。
npx @anthropic-ai/mcpb validate manifest.json
npx @anthropic-ai/mcpb pack . outlook-snds.mcpb
v1.0.0 のようなタグをプッシュすると、CI が検証とパッケージ化を行い、.mcpb を GitHub リリースに自動で添付します(.github/workflows/release.yml を参照)。
依存関係がゼロである理由
ランタイムでは Node.js の組み込みモジュール(http、https、crypto、readline)のみを使用します。これにより、バンドルを小さく(約 11 KB)保ち、サプライチェーンのリスクを排除し、ランタイムで npm install を実行する必要もなくなります。
コントリビューション
プルリクエストや問題の報告を歓迎します。CONTRIBUTING.md をご覧ください。
ライセンス
MIT © OptiPub
Microsoft とは提携関係になく、Microsoft による承認も受けていません。「Outlook」、「Outlook.com」、「SNDS」は Microsoft Corporation の商標です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。