Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/outlook-mcp/issues.md or /mcp/outlook-mcp/issues.json, or Pod over MCP.

Reported issues for outlook-mcp

Pod holds 18 of 94 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to outlook-mcp.

Most discussed

v3.7.2 E2E test sweep — 48 findings across all 22 tools

Summary

Manual E2E sweep of every tool/action permutation in v3.7.2 against a live Personal Outlook.com account, run on 2026-05-05.

Severity histogram

| Severity | Coun

Read the thread · 2026-05-05 · closed · 5 comments

search-emails: searchAllFolders=true silently drops kqlQuery and returns wrong results

Summary

The search-emails tool's searchAllFolders=true branch is unreliable in two ways:

  1. kqlQuery is silently ignored. A KQL filter that should narrow results is dropped; the call returns a chronological dump of recent inbox messages with _Search strategy: combined-search_ (a strategy line that lies about what was applied).
  2. query returns zero where without searchAllFolders it returns matches. The cross-folder branch sometimes finds strictly fewer results than the i

Read the thread · 2026-05-05 · open · 3 comments

Add JSDoc comments to exported functions in utils/graph-api.js

The utils/graph-api.js module is the core Graph API client used by every tool module, but its exported functions lack JSDoc documentation.

What to do:

Why this matters:

Read the thread · 2026-03-09 · closed · 3 comments

v3.7.3 regression: F-24 fix incomplete — chokepoint misses JSON-stringified arrays from MCP transport

Summary

The post-tag commit 9b4373a ("fix(coerce): close v3.7.3 verification gaps (F-17, F-24)") claims to fix F-24 (array literals in string-typed params like to/cc/bcc), but the fix only catches the case where the value arrives as a real JS array. In practice, MCP clients (Claude Code's MCP harness, at minimum) JSON-stringify the array literal before transmission when the schema declares type: "string", so the chokepoint receives a string like '["nathanschram@live.com"]' (liter

Read the thread · 2026-05-05 · closed · 2 comments

Theme: tool outputs omit useful context (IDs, pagination, identity)

Tracking issue: #159 Severity: inefficiency Theme: Tools return human-readable output but skip details that callers (especially AI agents) need to drive subsequent operations

The pattern

A common failure mode: tool A creates a thing, tool B operates on it. If A doesn't return the ID, the caller has to make an extra `list` call (with potential ambiguity if names aren't unique). Or: a list returns 50 items with no pagination indicator, leaving the caller unsure whether more exis

Read the thread · 2026-05-05 · closed · 2 comments

Theme: param-shape mismatches — array/boolean/string schema-vs-handler drift

Tracking issue: #159 Severity: blocker (multiple sub-findings) Theme: Param shape mismatches across the entire tool surface

The pattern

Schema declares one type, handler reads another. Common variants:

Read the thread · 2026-05-05 · closed · 2 comments

feat: publisher-verified shared multi-tenant app (one-click setup for read-only)

Summary

Register a publisher-verified shared multi-tenant Azure app owned by Little Bear Apps so end users can connect Outlook Assistant without each creating their own Azure app. The shared app is read-only by design; users who need write scopes (Mail.Send, Mail.ReadWrite, etc.) continue to use BYO mode via OUTLOOK_CLIENT_ID override.

One app covers both Microsoft 365 work/school accounts and personal Microsoft accounts (outlook.com, hotmail.com, live.com) via `signInAudi

Read the thread · 2026-04-20 · open · 2 comments

feat: add draft email tool (create, update, send, delete, reply, forward)

Summary

Add a consolidated draft tool to manage email drafts via the Microsoft Graph API. Follows the existing action-based routing pattern used by update-email, folders, manage-rules, etc.

Actions

Action Graph API Description
create POST me/messages Create new draft in Drafts folder
update PATCH me/messages/{id} Update existing draft (subject, body, recipients, importance)
send `POST me/messages/{id}/sen

Read the thread · 2026-03-29 · closed · 2 comments

Most recent

docs: folders delete is recoverable (moves to Deleted Items), not "no recycle-bin recovery"

Summary

The folders tool's delete action is described as permanent:

action=delete permanently removes a folder (by folderName/path or folderId) and its contents — there is no recycle-bin recovery.

But on personal Outlook.com, deleting a mail folder actually moves it (and its contents) to Deleted Items, where it is recoverable — it is not an unrecoverable hard delete.

Observed during the v3.9.0 live E2E sweep: after folders delete folderName="e2e-v390-parent", t

Read the thread · 2026-07-22 · open · 0 comments

docs: raw searchExpression field-scoped $search returns 0 on personal Outlook.com

Summary

On personal Outlook.com accounts, a raw searchExpression (formerly kqlQuery) using field-scoped $search syntax — e.g. subject:"LinkedIn", from:github.com — often returns 0 results, even when matching messages clearly exist. The raw-$search branch intentionally does not fall back to the OData/client-side ladder (that's the #169 V37-F-1 fix that stopped it silently dropping the filter), so the user just sees "No emails found".

Surfaced during the v3.9.0 live E2

Read the thread · 2026-07-22 · open · 0 comments

feat: nested folder addressing (path syntax + folder IDs) for folders tool

Summary

The folders tool cannot address any non-top-level (nested) folder for move, stats, or delete. On work/school (Entra ID) accounts — where deep folder trees are the norm — this makes large parts of the mailbox unreachable.

Reported by @boz-tech on #159 (v3.8.1, Claude Desktop / Windows, work-school Entra ID account). Splitting into its own issue because #159 is the (now closed) v3.7.2 personal-account E2E sweep tracker; this is a distinct cross-cutting capability gap.

Read the thread · 2026-07-22 · closed · 0 comments

Security Audit: bump @modelcontextprotocol/sdk to clear transitive hono (high) + body-parser (low) advisories

Context

The required Security Audit CI gate (npm audit --omit=dev --audit-level=high) fails on main due to pre-existing, transitive advisories, not any first-party code:

Read the thread · 2026-07-21 · open · 0 comments

Device-code auth returns empty output on failure (reported via LinkedIn)

Report

A user ("Ben", Windows 11, Claude Cowork remote-connector session) reported that:

Root cause

handleDeviceCodeAuth() called initiateDeviceCodeFlow() with no try/catch. When the HTTPS request to Microsoft throws (blocked outbound egress in a sandbo

Read the thread · 2026-07-21 · closed · 0 comments

docs: add docs/faq/index.md for help-centre FAQPage schema

Context

The littlebearapps.com help centre now emits Schema.org FAQPage JSON-LD on any help article whose category: faq frontmatter is set, or whose body contains ≥3 question-shaped H2s. The category exists in the help collection schema, but no tool currently has a dedicated FAQ article — synced or hand-written. This issue tracks creating that scaffold for Outlook Assistant.

The marketing-site infrastructure (FAQPage extractor, author byline, heading anchors, per-tool `llms.tx

Read the thread · 2026-05-05 · open · 1 comment

Theme: README promises features that aren't fully delivered

Tracking issue: #159 Severity: docs (credibility) / bug Theme: README and tools-reference advertise features that are partial, broken, or missing

The pattern

The README leans hard on differentiator claims ("most Graph API wrappers fail silently; this one adapts", "forensic analysis built in as a first-class feature", "send-email protections", etc.). The E2E sweep found several of these are aspirational or partial.

Findings under this theme

🚨 F-12 — Progressive sea

Read the thread · 2026-05-05 · closed · 1 comment

Theme: schema-vs-docs param-name drift across tools

Tracking issue: #159 Severity: docs / inefficiency Theme: Param names are inconsistent across tools and not always discoverable

The pattern

Each tool was built with its own naming conventions. There's no shared vocabulary for:

Read the thread · 2026-05-05 · closed · 1 comment

Theme: invalid actions silently fall through to default handler

Tracking issue: #159 Severity: bug (UX + correctness) Theme: Multi-action tools' switch statements default to `get`/`list` for unknown actions

The pattern

Every multi-action tool has:

```js switch (action) { case 'create': return handleCreate(args); case 'update': return handleUpdate(args); case 'delete': return handleDelete(args); case 'get': default: return handleGet(args); // ← swallows typos } ```

Calling `mailbox-settings action=set-auto-repl

Read the thread · 2026-05-05 · closed · 1 comment

Theme: PATCH-then-format silent failures across mutating tools

Tracking issue: #159 Severity: bug (data integrity) Theme: Tool reports "updated!" but Graph state didn't change

The pattern

Multiple tools follow this template:

  1. Read current state (GET).
  2. Build a partial settings object.
  3. PATCH it to Graph.
  4. GET fresh state.
  5. Format and return: "X updated!\n\n{formatted state}".

When step 3's PATCH is silently rejected by Graph (or the partial object has no effect), step 5 still returns "updated!" — but the formatted state s

Read the thread · 2026-05-05 · closed · 1 comment

The remaining reports are on the project's issue tracker.