{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_cbv2632gakwm","handle":"brian-bass-outlook-personal-mcp","url":"https://wellknown.network/agents/brian-bass-outlook-personal-mcp","links":{"self":"https://wellknown.network/agents/brian-bass-outlook-personal-mcp/record.json","html":"https://wellknown.network/agents/brian-bass-outlook-personal-mcp","markdown":"https://wellknown.network/agents/brian-bass-outlook-personal-mcp/record.md","api":"https://wellknown.network/api/v1/agents/brian-bass-outlook-personal-mcp","status":"https://wellknown.network/api/v1/agents/brian-bass-outlook-personal-mcp/status","claim":"https://wellknown.network/agents/brian-bass-outlook-personal-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/brian-bass-outlook-personal-mcp/claim.json","badge":"https://wellknown.network/agents/brian-bass-outlook-personal-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/brian-bass-outlook-personal-mcp/history","tools":"https://wellknown.network/api/v1/agents/brian-bass-outlook-personal-mcp/tools"},"ard":{"identifier":"urn:air::server:brian-bass-outlook-personal-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"outlook-personal-mcp","summary":"MCP server giving an LLM read-only access to a personal Outlook.com mailbox via Microsoft Graph.","description":"# outlook-mcp\n\nA small, self-hosted **MCP server** that gives an LLM (Claude Code, Claude Desktop, or any\nMCP client) **read-only** access to a **personal Outlook.com** mailbox (outlook.com /\nhotmail.com / live.com) through the Microsoft Graph API.\n\nIt authenticates against Microsoft's **consumer** OAuth endpoint (`/consumers`), which is\nwhat lets *personal* Microsoft accounts sign in. Most \"Microsoft 365\" connectors are\nregistered as work/school-only apps and will reject a personal account — this one is built\nspecifically for personal mailboxes.\n\n> **Your data stays local.** The server runs on your machine and caches your OAuth token in\n> `~/.outlook-mcp/token.json` (file permissions `600`). Nothing is sent anywhere except\n> directly to Microsoft Graph.\n\n## Tools\n\n| Tool | Description |\n| --- | --- |\n| `search_mail(query, max_results)` | Full-text search across the mailbox. |\n| `list_recent_mail(max_results, unread_only)` | Newest inbox messages. |\n| `get_message(message_id)` | Full content of one message. |\n\nAll tools are read-only — the app requests only the `Mail.Read` scope. No send, no delete.\n\n---\n\n## Setup\n\n### 1. Register your own Azure app (free — no paid subscription needed)\n\nEach user brings their own app registration, so no shared infrastructure or credentials.\n\n1. Go to <https://entra.microsoft.com> → **App registrations** → **New registration**.\n2. **Name:** anything, e.g. `Outlook MCP`.\n3. **Supported account types:** **Personal Microsoft accounts only**\n   *(or \"any org directory and personal Microsoft accounts\" if you also use work accounts).*\n4. **Redirect URI:** platform **Public client/native (mobile & desktop)**, value:\n   `http://localhost:8765/callback`\n5. **Register**, then copy the **Application (client) ID** from the Overview page.\n6. **Authentication** → enable **Allow public client flows** → **Save**.\n7. **API permissions** → **Add a permission** → **Microsoft Graph** → **Delegated** →\n   add `Mail.Read` (also `offline_access` and `User…","publisher":{"name":"Brian Bass","url":null},"homepage":"https://github.com/TronsGuitar/outlook-mcp","repository":"https://github.com/TronsGuitar/outlook-mcp","version":"0.1.0","license":"MIT","protocols":["mcp"],"tags":["claude","email","mcp","microsoft-graph","model-context-protocol","outlook"],"pricing":null,"endpoints":[{"url":"pypi:outlook-personal-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"productivity.email","name":"Email","confidence":1,"provenance":"declared"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":0.997,"provenance":"derived"}],"categories":["knowledge","productivity","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"outlook-personal-mcp","registry":"pypi","observedAt":"2026-10-28T19:22:40.543Z","publishedAt":"2026-05-29T22:07:04.195575Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"outlook-personal-mcp","url":"https://pypi.org/project/outlook-personal-mcp/","firstSeenAt":"2026-09-10T09:25:10.990Z","fetchedAt":"2026-10-28T19:20:59.252Z","normalizedAt":"2026-10-28T19:20:59.252Z"}]},"firstSeenAt":"2026-09-10T09:25:10.990Z","updatedAt":"2026-10-28T19:22:40.543Z"}