CLI for the Microsoft Learn MCP server. Provides commands to search Microsoft documentation, fetch documents, and search code samples through the Learn MCP server.
This MCP server has three tools with adequate naming (verb_noun pattern) but critically weak descriptions and missing output schema documentation. Tool descriptions are minimal (11-22 chars), falling well below the 50-200 char baseline for LLM-optimized tooling. Input parameters lack descriptions entirely in the source schema. The tools are read-only, which is appropriate for a documentation search interface, but the server provides no output schema documentation, making it impossible for agents to plan downstream operations. Tool definitions are directly visible in tool-discovery.ts, so they are not inferred. The implementation uses the mcp-sdk correctly for HTTP transport, but definition quality is significantly below production standards.
Search Microsoft Learn code samples through the Learn MCP server.
Fetch a Microsoft Learn document in markdown-friendly form.
Search official Microsoft documentation through the Learn MCP server.
Tool descriptions are critically short (11-22 chars). Pattern baseline is 50-200 chars. Descriptions provide no context for LLM tool selection, no 'when to use' guidance, and no indication of what the tool returns. Example: 'Search official Microsoft documentation through the Learn MCP server.' provides no distinction from competing search tools.
Input parameter descriptions are completely missing from source schema. The 'query' and 'url' parameters in the schema have only type and no description. LLMs cannot infer what 'query' should contain (free text? exact phrase? Boolean operators?) or what 'url' format is expected (HTTPS only? relative paths?). Pattern requires non-empty descriptions for every input parameter.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | <=2025-11-25 | v2 |
| 2026-03-11 | F | 46 | - | v1 |
Output schema is not documented in the source code. No response structure is visible, LLMs cannot plan tool composition or extract IDs/references for downstream calls. Pattern baseline requires documented return types for 100% of A+ tools. This server provides zero output documentation.
The 'language' parameter in microsoft_code_sample_search is undescribed and has no constraint/enum. LLMs will hallucinate language names. Should specify valid values (e.g., 'python', 'javascript', 'csharp', 'java') as an enum and explain what 'preferred' means, does it filter results or rank them?
No error handling guidance. If a search returns zero results, a malformed URL, or a rate limit, what does the LLM receive? No error messages are documented. Pattern requires error responses to tell LLMs what to do next (retry, search differently, ask user).