[BUG] Claude for PowerPoint: MCP connector tools are not loaded into Claude's tool list at session start; only become available after refresh_mcp_connectors runs

Open 💬 4 comments Opened May 13, 2026 by larrygfr

Summary

MCP-connector tools are not available to Claude on the first turn of a new Claude for PowerPoint session, even when the connector is connected and enabled. Claude ignores the MCP server entirely and falls back to built-in tools.

The tools only become visible after the user manually types "refresh Acme MCP tools", which triggers refresh_mcp_connectors. This is an undocumented workaround users shouldn't need to know.

Environment

  • Product: Claude for PowerPoint add-in
  • Host: PowerPoint on Windows (Microsoft 365 desktop)
  • Model: Claude Opus 4.7 / Sonnet 4.6 (both affected)
  • Plan: Enterprise
  • MCP server: Custom .NET 10 server, Streamable HTTP, tools.listChanged = true

Steps to Reproduce

  1. Register and enable a custom MCP connector ("Acme MCP") in the Claude for PowerPoint connector settings.
  2. Close and reopen the Claude task pane to start a fresh session.
  3. Send a request that matches a tool on the MCP server (e.g. "update all links").
  4. Observe that Claude ignores the MCP connector and uses only built-in tools, then fails.
  5. Send "refresh Acme MCP tools" — Claude calls refresh_mcp_connectors and confirms "Acme MCP is connected."
  6. Re-send the original request — Claude now correctly calls the MCP tool and completes the task.

Expected Behaviour

MCP connector tools should be fetched and merged into Claude's tool list before the first user message is processed, so they are available on turn 1 without any manual refresh.

Actual Behaviour

MCP tools are lazy-loaded and absent on turn 1. Claude ignores the connector and fails to complete requests it could handle, requiring users to manually trigger a refresh first.

Proposed Fix

At session start (or when a connector is toggled on), call tools/list before the first user message is sent. If the server declares tools.listChanged = true, also register a notifications/tools/list_changed handler. As a minimum, run refresh_mcp_connectors implicitly at session start.

Related Issues

  • #13646 — MCP tool list not refreshed on notifications/tools/list_changed
  • #27193 — "Tool names must be unique" error on first message

Contact

Reporter: Larry — happy to provide server logs or a screen recording on request.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗