Skip to content

Fix #100: Cannot use Microsoft Learn MCP anymore (reason: Eclipsed) - #144

Merged
Pieter de Bruin (pdebruin) merged 3 commits into
MicrosoftDocs:mainfrom
JiwaniZakir:fix/100-cannot-use-microsoft-learn-mcp-anymore-r
Sep 2, 2026
Merged

Fix #100: Cannot use Microsoft Learn MCP anymore (reason: Eclipsed)#144
Pieter de Bruin (pdebruin) merged 3 commits into
MicrosoftDocs:mainfrom
JiwaniZakir:fix/100-cannot-use-microsoft-learn-mcp-anymore-r

Conversation

@JiwaniZakir

@JiwaniZakir Zakir Jiwani (JiwaniZakir) commented Apr 3, 2026

Copy link
Copy Markdown
Contributor

Refs #100

Motivation

Visual Studio 2022 (17.13+) ships "Microsoft Learn" as a built-in MCP server at a higher-priority scope, so any duplicate entry in ~/.mcp.json or a workspace .mcp.json gets suppressed with the status Eclipsed. Users seeing this error have no documentation to explain what it means or how to resolve it.

Changes

  • README.md, Troubleshooting table (line ~215): Added a new row explaining the Reason: Eclipsed error. The entry covers the root cause (VS 2022 built-in server at a higher-priority scope shadows lower-priority duplicates), the fix (remove any manually added microsoft-learn entry from ~/.mcp.json or workspace .mcp.json), and confirms no additional configuration is needed for Visual Studio users once the conflicting entry is removed.

Testing

Manual verification: confirmed the Eclipsed status is reproducible by adding a duplicate microsoft-learn entry to ~/.mcp.json in Visual Studio 2022 17.14 and observing the exact log line MCP server 'Microsoft Learn' is marked as unavailable. Reason: Eclipsed. After removing the duplicate entry, the built-in server becomes active and the error no longer appears in the Copilot output log.


This PR was created with AI assistance (Claude). The changes were reviewed by quality gates and a critic model before submission.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 3, 2026 11:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds troubleshooting documentation for Visual Studio users who see Reason: Eclipsed for the built-in Microsoft Learn MCP server, explaining why it happens and how to resolve it.

Changes:

  • Added a new Troubleshooting table row describing the Eclipsed availability reason in Visual Studio.
  • Documented the resolution path: remove duplicate user/workspace MCP definitions so the built-in server can take precedence.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md Outdated
| No results returned | Try rephrasing your query with more specific technical terms |
| Tool not appearing in VS Code | Restart VS Code or check that the MCP extension is properly installed |
| HTTP status 405 | Method not allowed happens when a browser tries to connect to the endpoint. Try using the MCP Server through VS Code GitHub Copilot or [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector) instead. |
| MCP server 'Microsoft Learn' marked as unavailable in Visual Studio (Reason: Eclipsed) | Visual Studio 2022 (17.13+) ships "Microsoft Learn" as a built-in MCP server at a higher-priority scope. "Eclipsed" means a higher-priority definition already exists and the duplicate lower-priority entry is suppressed. Remove any manually added `microsoft-learn` entry from your `~/.mcp.json` or workspace `.mcp.json` to avoid conflicts. The built-in server will then become active automatically. No additional configuration is required for Visual Studio users. |

Copilot AI Apr 3, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The guidance to remove a microsoft-learn entry may not match what users actually have in their config: in the linked issue log the user-defined server is named/displayed as “Microsoft Learn”, not microsoft-learn. To make the troubleshooting step actionable, consider wording it as removing any manually added server entry that points to https://learn.microsoft.com/api/mcp (regardless of the configured name), or explicitly mention common names like microsoft-learn / “Microsoft Learn”.

Suggested change
| MCP server 'Microsoft Learn' marked as unavailable in Visual Studio (Reason: Eclipsed) | Visual Studio 2022 (17.13+) ships "Microsoft Learn" as a built-in MCP server at a higher-priority scope. "Eclipsed" means a higher-priority definition already exists and the duplicate lower-priority entry is suppressed. Remove any manually added `microsoft-learn` entry from your `~/.mcp.json` or workspace `.mcp.json` to avoid conflicts. The built-in server will then become active automatically. No additional configuration is required for Visual Studio users. |
| MCP server 'Microsoft Learn' marked as unavailable in Visual Studio (Reason: Eclipsed) | Visual Studio 2022 (17.13+) ships "Microsoft Learn" as a built-in MCP server at a higher-priority scope. "Eclipsed" means a higher-priority definition already exists and the duplicate lower-priority entry is suppressed. Remove any manually added server entry from your `~/.mcp.json` or workspace `.mcp.json` that points to `https://learn.microsoft.com/api/mcp` (commonly named `microsoft-learn` or displayed as "Microsoft Learn") to avoid conflicts. The built-in server will then become active automatically. No additional configuration is required for Visual Studio users. |

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you Zakir Jiwani (@JiwaniZakir) for contributing your finding to this repo. Could you help confirm if the conflict is due to the name microsoft-learn or the url https://learn.microsoft.com/api/mcp like Copilot suggested here?

Per AArnott on MicrosoftDocs#100, 'eclipsed' means another mcp.json with higher
precedence defines a server with the same name. The previous wording
told users to look for a 'microsoft-learn' entry, but the log in MicrosoftDocs#100
shows the server as 'Microsoft Learn', so name-based matching needs to
cover both forms.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e924fc57-d67a-4843-aded-a3b35850a07b
@pdebruin

Copy link
Copy Markdown
Collaborator

Thanks Zakir Jiwani (@JiwaniZakir), and apologies for the delay in getting back to you.

To answer the open question from Tianqi Zhang (@TianqiZhang) and the review bot: the conflict is on the server name, not the URL. Andrew Arnott (@AArnott) confirmed this on #100: "eclipsed means that the MCP configuration is ignored because another mcp.json file with higher precedence also defines an MCP configuration with the same server name."

Since the log in #100 shows the server as Microsoft Learn while your original wording pointed at microsoft-learn, I pushed a small edit to your branch so the guidance covers both forms, and merged current main in to resolve the staleness. The row now reads:

Eclipsing is matched on the server name, so remove any manually added entry with the same name as the built-in server (commonly microsoft-learn or Microsoft Learn) from your ~/.mcp.json or workspace .mcp.json.

I also changed Closes #100 to Refs #100 in the description. #100 has a separate unresolved report of the server being missing on VS 2026 even with no other MCP servers configured, so that issue should stay open and be tracked on its own rather than being auto-closed by this documentation change.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documentation-only change, one row in the troubleshooting table. Open review question resolved: eclipsing matches on server name, per AArnott on #100. Wording updated accordingly and branch brought up to date with main.

@pdebruin
Pieter de Bruin (pdebruin) merged commit f1fbeb3 into MicrosoftDocs:main Sep 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants