Agent skill
microsoft-code-reference
Find working code samples, verify API signatures, and fix Microsoft SDK errors using official docs. Use whenever the user is writing, debugging, or reviewing code that touches any Microsoft SDK, .NET library, Azure client library, or Microsoft API—even if they don't ask for a "reference." Catches hallucinated methods, wrong signatures, and deprecated patterns. If the task involves producing or fixing Microsoft-related code, this is the right skill.
Install this agent skill to your Project
npx add-skill https://github.com/MicrosoftDocs/mcp/tree/main/skills/microsoft-code-reference
SKILL.md
Microsoft Code Reference
Tools
| Need | Tool | Example |
|---|---|---|
| API method/class lookup | microsoft_docs_search |
"BlobClient UploadAsync Azure.Storage.Blobs" |
| Working code sample | microsoft_code_sample_search |
query: "upload blob managed identity", language: "python" |
| Full API reference | microsoft_docs_fetch |
Fetch 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 Type | Query |
|---|---|
| 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" (
UploadFilevs actualUpload) - Mixing SDK versions (v11
CloudBlobClientvs v12BlobServiceClient) - 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:
- Confirm method or package exists —
microsoft_docs_search(query: "[ClassName] [MethodName] [Namespace]") - Fetch full details (for overloads/complex params) —
microsoft_docs_fetch(url: "...") - 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 the command line 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 Tool | CLI 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.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
microsoft-skill-creator
Create agent skills for Microsoft technologies using official documentation. Use whenever the user wants to build, generate, or scaffold a skill for any Microsoft technology (Azure, .NET, M365, VS Code, Bicep, etc.)—even phrased casually like "make a skill for Cosmos DB." Investigates the topic via official docs, then generates a hybrid skill with essential knowledge stored locally and dynamic lookups for depth.
microsoft-docs
Understand Microsoft technologies by querying official documentation. Use whenever the user asks how something works, wants tutorials, needs configuration options, limits, quotas, or best practices for any Microsoft technology (Azure, .NET, M365, Windows, Power Platform, etc.)—even if they don't mention "docs." If the question is about understanding a concept rather than writing code, this is the right skill.
azure-blueprints
Expert knowledge for Azure Blueprints development including troubleshooting, architecture & design patterns, security, configuration, and integrations & coding patterns. Use when defining Azure Blueprints, mapping built-in compliance sets, automating via CLI/PowerShell/REST, or fixing assignment errors, and other Azure Blueprints related development tasks. Not for Azure Policy (use azure-policy), Azure Resource Manager (use azure-resource-manager), Azure Managed Applications (use azure-managed-applications), Azure Deployment Environments (use azure-deployment-environments).
azure-hdinsight
Expert knowledge for Azure HDInsight development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when working with HDInsight Spark/Hive/Kafka/HBase clusters, Ambari, VNet networking, or Azure SQL/Cosmos DB integration, and other Azure HDInsight related development tasks. Not for Azure Synapse Analytics (use azure-synapse-analytics), Azure Databricks (use azure-databricks), Azure Stream Analytics (use azure-stream-analytics).
azure-advisor
Expert knowledge for Azure Advisor development including best practices, decision making, limits & quotas, security, configuration, and integrations & coding patterns. Use when configuring Advisor alerts, workbooks, RBAC access, bulk fixes, or Resource Graph/Kusto queries, and other Azure Advisor related development tasks. Not for Azure Cost Management (use azure-cost-management), Azure Monitor (use azure-monitor), Azure Policy (use azure-policy), Azure Service Health (use azure-service-health).
azure-cognitive-search
Expert knowledge for Azure AI Search development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when designing indexes/skillsets, vector/semantic search, indexers, RAG knowledge bases, or secure data access, and other Azure AI Search related development tasks. Not for Azure Cosmos DB (use azure-cosmos-db), Azure Data Explorer (use azure-data-explorer), Azure SQL Database (use azure-sql-database), Azure Synapse Analytics (use azure-synapse-analytics).
Didn't find tool you were looking for?