Fix #100: Cannot use Microsoft Learn MCP anymore (reason: Eclipsed)#144
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
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
Eclipsedavailability 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.
| | 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. | |
There was a problem hiding this comment.
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”.
| | 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. | |
There was a problem hiding this comment.
Thank you @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?
Closes #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.jsonor a workspace.mcp.jsongets suppressed with the statusEclipsed. 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 theReason: Eclipsederror. 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 addedmicrosoft-learnentry from~/.mcp.jsonor 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
Eclipsedstatus is reproducible by adding a duplicatemicrosoft-learnentry to~/.mcp.jsonin Visual Studio 2022 17.14 and observing the exact log lineMCP 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.