mcpField
M
microsoft-code-reference

microsoft-code-reference

github.com/githubDevelopment40.5k14.3k installsUpdated today
Repository

About microsoft-code-reference

A skill for checking Microsoft API details and finding official code samples before writing or troubleshooting SDK code. It uses Microsoft Learn search and fetch tools, with the mslearn CLI as an alternative.

Key features

  1. 01Search API methods and classes
  2. 02Find official code samples
  3. 03Fetch full API reference pages
  4. 04Troubleshoot SDK errors
  5. 05Verify packages, signatures, and versions
  6. 06Use mslearn CLI as an alternative

Use cases

  1. 01Check an SDK method before coding
  2. 02Find a sample for an Azure task
  3. 03Compare code with a working example
  4. 04Investigate authentication or API errors

MCP support

It uses Microsoft Learn MCP tools for documentation search, code-sample search, and page retrieval. If the Learn MCP server is unavailable, the skill describes equivalent operations with the mslearn CLI.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/github/awesome-copilot --skill microsoft-code-reference

After installing, type/microsoft-code-referencein Claude Code to confirm it loaded.

Details

From the project README

Microsoft Code Reference

Tools

NeedToolExample
API method/class lookupmicrosoft_docs_search"BlobClient UploadAsync Azure.Storage.Blobs"
Working code samplemicrosoft_code_sample_searchquery: "upload blob managed identity", language: "python"
Full API referencemicrosoft_docs_fetchFetch URL from microsoft_docs_search (for overloads, full signatures)

Finding Code Samples

Use microsoft_code_sample_search to get official, working examples:

microsoft_code_sample_search(query: "upload file to blob storage", language: "csharp")
microsoft_code_sample_search(query: "authenticate with managed identity", language: "python")
microsoft_code_sample_search(query: "send message service bus", language: "javascript")

When to use:

  • Before writing code—find a working pattern to follow
  • After errors—compare your code against a known-good sample
  • Unsure of initialization/setup—samples show complete context

API Lookups

# Verify method exists (include namespace for precision)
"BlobClient UploadAsync Azure.Storage.Blobs"
"GraphServiceClient Users Microsoft.Graph"

# Find class/interface
"DefaultAzureCredential class Azure.Identity"

# Find correct package
"Azure Blob Storage NuGet package"
"azure-storage-blob pip package"

Fetch full page when method has multiple overloads or you need complete parameter details.

Error Troubleshooting

Use microsoft_code_sample_search to find working code samples and compare with your implementation. For specific errors, use microsoft_docs_search and microsoft_docs_fetch:

Error TypeQuery
Method not found"[ClassName] methods [Namespace]"
Type not found"[TypeName] NuGet package namespace"
Wrong signature"[ClassName] [MethodName] overloads" → fetch full page
Deprecated warning"[OldType] migration v12"
Auth failure"DefaultAzureCredential troubleshooting"
403 Forbidden"[ServiceName] RBAC permissions"

When to Verify

Always verify when:

  • Method name seems "too convenient" (UploadFile vs actual Upload)
  • Mixing SDK versions (v11 CloudBlobClient vs v12 BlobServiceClient)
  • Package name doesn't follow conventions (Azure.* for .NET, azure-* for Python)
  • Using an API for the first time

Validation Workflow

Before generating code using Microsoft SDKs, verify it's correct:

  1. Confirm method or package exists — microsoft_docs_search(query: "[ClassName] [MethodName] [Namespace]")
  2. Fetch full details (for overloads/complex params) — microsoft_docs_fetch(url: "...")
  3. Find working sample — microsoft_code_sample_search(query: "[task]", language: "[lang]")

For simple lookups, step 1 alone may suffice. For complex API usage, complete all three steps.

CLI Alternative

If the Learn MCP server is not available, use the mslearn CLI from a terminal or shell (for example, Bash, PowerShell, or cmd) instead:

# Run directly (no install needed)
npx @microsoft/learn-cli search "BlobClient UploadAsync Azure.Storage.Blobs"

# Or install globally, then run
npm install -g @microsoft/learn-cli
mslearn search "BlobClient UploadAsync Azure.Storage.Blobs"
MCP ToolCLI Command
microsoft_docs_search(query: "...")mslearn search "..."
microsoft_code_sample_search(query: "...", language: "...")mslearn code-search "..." --language ...
microsoft_docs_fetch(url: "...")mslearn fetch "..."

Pass --json to search or code-search to get raw JSON output for further processing.

Comments

Markdown supported