microsoft/mcp-dotnet-samples is a collection of .NET examples showing how to build and use Model Context Protocol servers and clients. MCP is an open standard for connecting large language models with data sources and tools, so developers can create integrations and agent workflows. The catalogue entries are sample MCP servers, clients, and setup instructions.
Borrowing it
Nothing to install: this file belongs to microsoft/mcp-dotnet-samples. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/microsoft/mcp-dotnet-samples/main/.github/copilot-instructions.mdgit clone --depth 1 https://github.com/microsoft/mcp-dotnet-samplesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/microsoft/mcp-dotnet-samples/copilot-instructions)<a href="https://agentmods.dev/instructions/microsoft/mcp-dotnet-samples/copilot-instructions"><img src="https://agentmods.dev/badge/instructions/microsoft/mcp-dotnet-samples/copilot-instructions/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/microsoft/mcp-dotnet-samples/copilot-instructions"><img src="https://agentmods.dev/badge/instructions/microsoft/mcp-dotnet-samples/copilot-instructions.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.01021 | $0.01021 |
| Opus 5.5 | $0.00408 | $0.00408 |
| Sonnet 5.5 | $0.00204 | $0.00204 |
| Haiku 4.5 | $0.00102 | $0.00102 |
Grade A, and why
mcp-dotnet-samples copilot-instructions.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 57 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Copilot Instructions (Concise) – MCP .NET Samples
Purpose: Make agents instantly productive. Follow ONLY patterns proven in this repo; don’t invent abstractions.
Architecture & Runtime
- Mono-repo of independent Hybrid MCP servers:
awesome-copilot/,markdown-to-html/,todo-list/,outlook-email/+ shared libshared/McpSamples.Shared/. - Hybrid pattern: same
Program.cscan run STDIO (default) or stateless HTTP when-- http(or envUseHttp=true). Selection viaAppSettings.UseStreamableHttp(...); final wiring throughBuildApp(useStreamableHttp). - Discovery: Tools / Prompts / Resources auto-registered by assembly scan (
With*FromAssembly). New public attributed types in the entry assembly just work—avoid manual registration. - HTTP mode: single POST
/mcp; some samples add dual OpenAPI docs (swagger 2.0 + openapi 3.0) viaMcpDocumentTransformer<T>.
Sample-Specific Nuance
- awesome-copilot: Large
metadata.json; reuseIMetadataService(don’t repeatedly load whole file). Tools: search & load instructions. - markdown-to-html: Extra switches
-tc,-p,--tagsonly parsed AFTER--delimiter. - todo-list: In‑memory SQLite kept alive by one singleton
SqliteConnection; use EF Core set-based ops (ExecuteUpdateAsync/ExecuteDeleteAsync). - outlook-email: Supports auth parameters (
--tenant-id/-t,--client-id/-c,--client-secret/-s) or user secrets; can also host via Azure Functions (see sample README). Only add auth handling inside this sample—do not leak to shared.
Core Conventions
- Target: .NET 9; nullable + implicit usings enabled globally.
- Entry project path pattern:
./<sample>/src/<PascalName>.HybridApp/. - Always preserve argument delimiter:
dotnet run … -- --http <other-switches>. - JSON camelCase & case-insensitive (match existing config); prefer
System.Text.Json. - Keep Dockerfiles minimal; expose port 8080 internally; local HTTP dev ports: ac=5250, todo=5240, html=5280, outlook=5260.
Adding / Modifying Tools
- Create public class or method with
[McpServerTool](and[Description]for method + parameters). Return lightweight DTO / primitives; let host format. - For prompts use
[McpServerPrompt]. No manual DI registration unless you need extra services—then add viabuilder.ServicesbeforeBuildApp.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 57 lines · 1,021 tokens per session scan A 90aad4e049db
mcp-dotnet-samples copilot-instructions.md is an instructions file published in the GitHub repository microsoft/mcp-dotnet-samples (201 stars, last pushed 2d ago), licensed MIT. It adds 1,021 tokens to every session, about $0.0041 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
mcp-dotnet-samples copilot-instructions.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| mcp-dotnet-samples copilot-instructions.mdmicrosoft/mcp-dotnet-samples | Instructions file | 201 | 2d ago | MIT | A | 1,021 | GitHub Copilot |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | today | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |