{
  "slug": "microsoft-learn",
  "name": "Microsoft Learn",
  "author": "microsoft.com",
  "category": "Docs and knowledge",
  "tier": "checkable",
  "kind": "remote",
  "endpointUrl": "https://learn.microsoft.com/api/mcp",
  "sourceUrl": "https://registry.modelcontextprotocol.io/v0/servers/com.microsoft%2Fmicrosoft-learn-mcp/versions/latest",
  "repoUrl": "https://github.com/MicrosoftDocs/mcp",
  "enrichment": {},
  "current": {
    "verdict": "alive",
    "reason": "all_passed",
    "failedChecks": [],
    "untestedTools": 0,
    "checkedAt": "2026-10-29T06:45:42.874Z",
    "methodologyVersion": "1.0.0",
    "serverVersion": "1.0.0",
    "checks": [
      {
        "id": "L0.reachable",
        "detail": "http 200",
        "status": "pass",
        "durationMs": 118
      },
      {
        "id": "L0.tls",
        "status": "pass"
      },
      {
        "id": "L0.initialize",
        "status": "pass",
        "evidence": {
          "raw": "event: message\ndata: {\"result\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{\"logging\":{},\"prompts\":{\"listChanged\":true},\"resources\":{\"listChanged\":true},\"tools\":{\"listChanged\":true}},\"serverInfo\":{\"name\":\"Microsoft Learn MCP Server\",\"version\":\"1.0.0\"},\"instructions\":\"# Microsoft Learn MCP Server\\r\\n\\r\\nThis server gives structured access to official Microsoft and Azure documentation via three tools:\\r\\n\\r\\n## Tools\\r\\n\\r\\n### microsoft_docs_search\\r\\nSearch official documentation and return up to 10 concise, high-quality content chunks (max 500 tokens each), including title, URL, and excerpt.\\r\\n\\r\\n- Use first to get a quick, reliable overview\\r\\n- Ideal for grounding answers in Microsoft knowledge\\r\\n\\r\\n### microsoft_code_sample_search\\r\\nSearch for code snippets and examples in official Microsoft Learn documentation and return up to 20 relevant, high-quality code samples.\\r\\n\\r\\n- Use when you need to provide sample Microsoft/Azure related code in your answers.  \\r\\n- Ideal for generating code snippets or practical implementation examples.  \\r\\n- Optional parameter \\u0060language\\u0060 can filter results. \\r\\n\\r\\n### microsoft_docs_fetch\\r\\nFetch and convert full Microsoft documentation pages to markdown.\\r\\n\\r\\n- Use after search when you need full content from a specific URL\\r\\n- Required for detailed tutorials, troubleshooting, prerequisites, code samples, or when search results are incomplete or outdated\\r\\n\\r\\n## Workflow\\r\\n\\r\\n1. Use \\u0060microsoft_docs_search\\u0060 to find relevant documents.\\r\\n2. If you need code examples or practical snippets, use \\u0060microsoft_code_sample_search\\u0060.\\r\\n3. If deeper or complete information is needed, use \\u0060microsoft_docs_fetch\\u0060.\\r\\n\\r\\n**Search gives breadth. Code Sample Search gives practical examples. Fetch gives depth.**\\r\\n\\r\\nAll content comes from Microsoft Learn or official sources, returned in clean markdown format.\"},\"id\":1,\"jsonrpc\":\"2.0\"}\n\n",
          "httpStatus": 200,
          "contentType": "text/event-stream"
        },
        "durationMs": 118
      },
      {
        "id": "L0.protocol_version",
        "detail": "server reported \"2025-06-18\"; published versions: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25",
        "status": "pass"
      },
      {
        "id": "L0.capabilities",
        "detail": "logging, prompts, resources, tools",
        "status": "pass"
      },
      {
        "id": "L1.server_info",
        "detail": "Microsoft Learn MCP Server 1.0.0",
        "status": "pass"
      },
      {
        "id": "L1.tools_list",
        "detail": "3 tools",
        "status": "pass"
      },
      {
        "id": "L1.tool_schemas",
        "detail": "3 schemas valid",
        "status": "pass"
      },
      {
        "id": "L1.resources_list",
        "detail": "0 entries",
        "status": "pass"
      },
      {
        "id": "L1.prompts_list",
        "detail": "0 entries",
        "status": "pass"
      },
      {
        "id": "L1.unknown_method",
        "status": "pass",
        "evidence": {
          "raw": "event: message\ndata: {\"error\":{\"code\":-32601,\"message\":\"Method \\u0027knot/verified-probe-unknown-method\\u0027 is not available.\"},\"id\":5,\"jsonrpc\":\"2.0\"}\n\n",
          "httpStatus": 200
        },
        "durationMs": 117
      },
      {
        "id": "L1.envelope",
        "detail": "5 replies valid",
        "status": "pass"
      },
      {
        "id": "L2.call_ok",
        "tool": "microsoft_code_sample_search",
        "status": "pass",
        "evidence": {
          "raw": "event: message\ndata: {\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"{\\u0022results\\u0022:[{\\u0022description\\u0022:\\u0022description: Creates an origin group named \\\\u0027myorigingroup\\\\u0027 in the Azure Front Door profile \\\\u0027myfrontdoorprofile\\\\u0027 with health probe settings to monitor the health of backend origins.\\\\nlanguage: azurecli\\\\n\\u0022,\\u0022codeSnippet\\u0022:\\u0022az afd origin-group create --resource-group my-deid --origin-group-name myorigingroup --profile-name myfrontdoorprofile --probe-request-type GET --probe-protocol Https --probe-interval-in-seconds 60 --probe-path /health --sample-size 1 --successful-samples-required 1 --additional-latency-in-milliseconds 50 --enable-health-probe\\u0022,\\u0022link\\u0022:\\u0022https://learn.microsoft.com/azure/healthcare-apis/deidentification/reliability-health-data-services-deidentification#disaster-recovery-tutorial\\u0022,\\u0022language\\u0022:\\u0022azurecli\\u0022},{\\u0022description\\u0022:\\u0022description: Runs a bash command to test network connectivity to the AKS cluster\\\\u0027s fully qualified domain name (FQDN) on port 443 from a Linux node.\\\\nlanguage: bash\\\\n\\u0022,\\u0022codeSnippet\\u0022:\\u0022nc -vz \\\\u003Ccluster-fqdn\\\\u003E 443\\u0022,\\u0022link\\u0022:\\u0022https://learn.microsoft.com/troubleshoot/azure/azure-kubernetes/create-upgrade-delete/windows-cse-error-check-api-server-connectivity#troubleshooting-steps\\u0022,\\u0022language\\u0022:\\u0022bash\\u0022},{\\u0022description\\u0022:\\u0022description: Runs a curl command to test HTTPS connectivity to a hostname with a timeout.\\\\nlanguage: bash\\\\n\\u0022,\\u0022codeSnippet\\u0022:\\u0022nc -vz \\\\u003Chostname\\\\u003E 443\\u0022,\\u0022link\\u0022:\\u0022https://learn.microsoft.com/troubleshoot/azure/azure-kubernetes/error-codes/vmextensionerror-k8sdownloadtimeout#solution\\u0022,\\u0022language\\u0022:\\u0022bash\\u0022},{\\u0022description\\u0022:\\u0022description: Creates an Azure Front Door origin group with specified health probe settings using the Azure CLI.\\\\nlanguage: azurecli\\\\n\\u0022,\\u0022codeSnippet\\u0022:\\u0022az afd origin-group create \\\\\\\\\\\\r\\\\n    --resource-group $RESOURCE_GROUP \\\\\\\\\\\\r\\\\n    --origin-group-name $AFD_ORIGIN_GROUP \\\\\\\\\\\\r\\\\n    --profile-name $AFD_PROFILE \\\\\\\\\\\\r\\\\n    --probe-request-type GET \\\\\\\\\\\\r\\\\n    --probe-protocol Http \\\\\\\\\\\\r\\\\n    --probe-interval-in-seconds 60 \\\\\\\\\\\\r\\\\n    --probe-path / \\\\\\\\\\\\r\\\\n    --sample-size 4 \\\\\\\\\\\\r\\\\n    --successful-samples-required 3 \\\\\\\\\\\\r\\\\n    --additional-latency-in-milliseconds 50\\u0022,\\u0022link\\u0022:\\u0022https://learn.microsoft.com/azure/container-apps/how-to-integrate-with-azure-front-door?pivots=azure-cli#create-an-azure-front-door-origin-group\\u0022,\\u0022language\\u0022:\\u0022azurecli\\u0022},{\\u0022description\\u0022:\\u0022description: Creates an Azure Front Door origin group with health probe settings to monitor backend origins for load balancing and failover.\\\\nlanguage: azurecli\\\\n\\u0022,\\u0022codeSnippet\\u0022:\\u0022az afd origin-group create --resource-group \\\\u003Cresource-group\\\\u003E --origin-group-name \\\\u003Cfront-door-origin-group\\\\u003E --profile-name \\\\u003Cfront-door-profile\\\\u003E \\\\\\\\\\\\r\\\\n   --probe-request-type \\\\u003Cprobe-request\\\\u003E \\\\\\\\\\\\r\\\\n   --probe-protocol \\\\u003Cprobe-protocol\\\\u003E \\\\\\\\\\\\r\\\\n   --probe-interval-in-seconds \\\\u003Cprobe-interval\\\\u003E \\\\\\\\\\\\r\\\\n   --probe-path \\\\u003Cprobe-path\\\\u003E \\\\\\\\\\\\r\\\\n   --sample-size \\\\u003Csample-size\\\\u003E \\\\\\\\\\\\r\\\\n   --successful-samples-required \\\\u003Crequired-samples\\\\u003E \\\\\\\\\\\\r\\\\n   --additional-latency-in-milliseconds \\\\u003Cextra-latency\\\\u003E\\u0022,\\u0022link\\u0022:\\u0022https://learn.microsoft.com/azure/app-service/tutorial-multi-region-app#configure-azure-front-door\\u0022,\\u0022language\\u0022:\\u0022azurecli\\u0022},{\\u0022description\\u0022:\\u0022description: Uses the kernel debugger command \\\\u0027!verifier\\\\u0027 to dump captured Driver Verifier statistics, helping to analyze driver issues.\\\\nlanguage: dbgcmd\\\\n\\u0022,\\u0022codeSnippet\\u0022:\\u0022kd…[truncated]",
          "arguments": {
            "query": "knot-verified-probe"
          },
          "httpStatus": 200
        },
        "durationMs": 397
      },
      {
        "id": "L2.output_schema",
        "tool": "microsoft_code_sample_search",
        "status": "pass"
      },
      {
        "id": "L2.bad_input",
        "tool": "microsoft_code_sample_search",
        "status": "pass",
        "evidence": {
          "raw": "event: message\ndata: {\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"An error occurred invoking \\u0027microsoft_code_sample_search\\u0027.\"}],\"isError\":true},\"id\":7,\"jsonrpc\":\"2.0\"}\n\n",
          "arguments": {}
        },
        "durationMs": 96
      },
      {
        "id": "L2.call_ok",
        "tool": "microsoft_docs_fetch",
        "status": "pass",
        "evidence": {
          "raw": "event: message\ndata: {\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"The provided URL is not a valid Microsoft documentation webpage link.\"}]},\"id\":8,\"jsonrpc\":\"2.0\"}\n\n",
          "arguments": {
            "url": "knot-verified-probe"
          },
          "httpStatus": 200
        },
        "durationMs": 97
      },
      {
        "id": "L2.bad_input",
        "tool": "microsoft_docs_fetch",
        "status": "pass",
        "evidence": {
          "raw": "event: message\ndata: {\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"An error occurred invoking \\u0027microsoft_docs_fetch\\u0027.\"}],\"isError\":true},\"id\":9,\"jsonrpc\":\"2.0\"}\n\n",
          "arguments": {}
        },
        "durationMs": 97
      },
      {
        "id": "L2.call_ok",
        "tool": "microsoft_docs_search",
        "status": "pass",
        "evidence": {
          "raw": "event: message\ndata: {\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"{\\u0022results\\u0022:[]}\"}],\"structuredContent\":{\"results\":[]}},\"id\":10,\"jsonrpc\":\"2.0\"}\n\n",
          "arguments": {},
          "httpStatus": 200
        },
        "durationMs": 95
      },
      {
        "id": "L2.output_schema",
        "tool": "microsoft_docs_search",
        "status": "pass"
      },
      {
        "id": "L2.bad_input",
        "tool": "microsoft_docs_search",
        "status": "pass",
        "evidence": {
          "raw": "event: message\ndata: {\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"An error occurred invoking \\u0027microsoft_docs_search\\u0027.\"}],\"isError\":true},\"id\":11,\"jsonrpc\":\"2.0\"}\n\n",
          "arguments": {
            "query": 12345
          }
        },
        "durationMs": 95
      },
      {
        "id": "L2.timeout",
        "detail": "3 calls answered within 30000 ms",
        "status": "pass"
      }
    ],
    "metrics": {
      "callMs": [
        397,
        96,
        97,
        97,
        95,
        95
      ],
      "toolsListMs": 98,
      "initializeMs": 118
    },
    "facts": {
      "tls": {
        "validTo": "Apr  8 00:23:13 2027 GMT",
        "protocol": "TLSv1.3",
        "daysToExpiry": 160
      },
      "authModel": "none",
      "transport": "streamable-http",
      "capabilities": [
        "logging",
        "prompts",
        "resources",
        "tools"
      ],
      "toolAnnotations": {
        "readOnly": 3,
        "unmarked": 0,
        "destructive": 0
      },
      "credentialsInUrl": false
    }
  },
  "l3": {
    "uptime": {
      "24h": null,
      "7d": 1,
      "30d": 1
    },
    "sampleSize": {
      "24h": 0,
      "7d": 1,
      "30d": 1
    },
    "latency": {
      "initialize": {
        "p50": 118,
        "p95": 118
      },
      "calls": {
        "p50": 96,
        "p95": 397
      }
    },
    "flakiness": null,
    "versionDrift": []
  },
  "history": [
    {
      "startedAt": "2026-10-29T06:45:41.266Z",
      "runKind": "full",
      "l0Ok": true,
      "verdict": "alive"
    }
  ]
}