From b3b90a04065dd831349c0913239f21a7224b6474 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Feb 2026 04:59:46 +0000
Subject: [PATCH 1/8] Initial plan
From 692a006a12d160786e59bd23ec18c2cb5e90936b Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Feb 2026 05:03:31 +0000
Subject: [PATCH 2/8] Update package READMEs for stable release and add
ModelContextProtocol README
- ModelContextProtocol.Core/README.md: Remove preview note, update NuGet badge to stable, remove --prerelease from install
- ModelContextProtocol.AspNetCore/README.md: Remove preview note, fix NuGet badge to correct package and stable, remove --prerelease from install
- ModelContextProtocol/README.md: New README with hosting example from getting started docs
- ModelContextProtocol.csproj: Reference new local README.md instead of root README.md
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
---
src/ModelContextProtocol.AspNetCore/README.md | 9 +-
src/ModelContextProtocol.Core/README.md | 7 +-
.../ModelContextProtocol.csproj | 2 +-
src/ModelContextProtocol/README.md | 108 ++++++++++++++++++
4 files changed, 114 insertions(+), 12 deletions(-)
create mode 100644 src/ModelContextProtocol/README.md
diff --git a/src/ModelContextProtocol.AspNetCore/README.md b/src/ModelContextProtocol.AspNetCore/README.md
index f27c76cec..4b3b1a312 100644
--- a/src/ModelContextProtocol.AspNetCore/README.md
+++ b/src/ModelContextProtocol.AspNetCore/README.md
@@ -1,11 +1,8 @@
# ASP.NET Core extensions for the MCP C# SDK
-[](https://www.nuget.org/packages/ModelContextProtocol/absoluteLatest)
+[](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)
-The official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. Please visit our [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
-
-> [!NOTE]
-> This project is in preview; breaking changes can be introduced without prior notice.
+ASP.NET Core extensions for the official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. Please visit our [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
## About MCP
@@ -23,7 +20,7 @@ To get started, install the package from NuGet
```
dotnet new web
-dotnet add package ModelContextProtocol.AspNetCore --prerelease
+dotnet add package ModelContextProtocol.AspNetCore
```
## Getting Started
diff --git a/src/ModelContextProtocol.Core/README.md b/src/ModelContextProtocol.Core/README.md
index 33cf3bcd2..719aba28f 100644
--- a/src/ModelContextProtocol.Core/README.md
+++ b/src/ModelContextProtocol.Core/README.md
@@ -1,12 +1,9 @@
# MCP C# SDK Core
-[](https://www.nuget.org/packages/ModelContextProtocol.Core/absoluteLatest)
+[](https://www.nuget.org/packages/ModelContextProtocol.Core)
Core .NET SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. Please visit our [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
-> [!NOTE]
-> This project is in preview; breaking changes can be introduced without prior notice.
-
## About MCP
The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
@@ -22,7 +19,7 @@ For more information about MCP:
To get started, install the core package from NuGet
```
-dotnet add package ModelContextProtocol.Core --prerelease
+dotnet add package ModelContextProtocol.Core
```
## Getting Started (Client)
diff --git a/src/ModelContextProtocol/ModelContextProtocol.csproj b/src/ModelContextProtocol/ModelContextProtocol.csproj
index ede6c0517..0202f18eb 100644
--- a/src/ModelContextProtocol/ModelContextProtocol.csproj
+++ b/src/ModelContextProtocol/ModelContextProtocol.csproj
@@ -31,7 +31,7 @@
-
+
\ No newline at end of file
diff --git a/src/ModelContextProtocol/README.md b/src/ModelContextProtocol/README.md
new file mode 100644
index 000000000..6458ad9bc
--- /dev/null
+++ b/src/ModelContextProtocol/README.md
@@ -0,0 +1,108 @@
+# MCP C# SDK
+
+[](https://www.nuget.org/packages/ModelContextProtocol)
+
+The official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. This is the main package with hosting and dependency injection extensions. Please visit our [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
+
+## About MCP
+
+The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
+
+For more information about MCP:
+
+- [Official Documentation](https://modelcontextprotocol.io/)
+- [Protocol Specification](https://modelcontextprotocol.io/specification/)
+- [GitHub Organization](https://github.com/modelcontextprotocol)
+
+## Installation
+
+To get started, install the package from NuGet
+
+```
+dotnet add package ModelContextProtocol
+```
+
+## Getting Started (Server)
+
+Create a new console app, add the required packages, and replace `Program.cs` with the code below to get a working MCP server that exposes a single tool over stdio:
+
+```
+dotnet new console
+dotnet add package ModelContextProtocol
+dotnet add package Microsoft.Extensions.Hosting
+```
+
+```csharp
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using ModelContextProtocol.Server;
+using System.ComponentModel;
+
+var builder = Host.CreateApplicationBuilder(args);
+builder.Logging.AddConsole(consoleLogOptions =>
+{
+ // Configure all logs to go to stderr
+ consoleLogOptions.LogToStandardErrorThreshold = LogLevel.Trace;
+});
+builder.Services
+ .AddMcpServer()
+ .WithStdioServerTransport()
+ .WithToolsFromAssembly();
+await builder.Build().RunAsync();
+
+[McpServerToolType]
+public static class EchoTool
+{
+ [McpServerTool, Description("Echoes the message back to the client.")]
+ public static string Echo(string message) => $"hello {message}";
+}
+```
+
+The call to `WithToolsFromAssembly` discovers every class marked with `[McpServerToolType]` in the assembly and registers every `[McpServerTool]` method as a tool. Prompts and resources work the same way with `[McpServerPromptType]` / `[McpServerPrompt]` and `[McpServerResourceType]` / `[McpServerResource]`.
+
+## Getting Started (Client)
+
+To get started writing a client, the `McpClient.CreateAsync` method is used to instantiate and connect an `McpClient`
+to a server. Once you have an `McpClient`, you can interact with it, such as to enumerate all available tools and invoke tools.
+
+```csharp
+var clientTransport = new StdioClientTransport(new StdioClientTransportOptions
+{
+ Name = "Everything",
+ Command = "npx",
+ Arguments = ["-y", "@modelcontextprotocol/server-everything"],
+});
+
+var client = await McpClient.CreateAsync(clientTransport);
+
+// Print the list of tools available from the server.
+foreach (var tool in await client.ListToolsAsync())
+{
+ Console.WriteLine($"{tool.Name} ({tool.Description})");
+}
+
+// Execute a tool (this would normally be driven by LLM tool invocations).
+var result = await client.CallToolAsync(
+ "echo",
+ new Dictionary() { ["message"] = "Hello MCP!" },
+ cancellationToken: CancellationToken.None);
+
+// echo always returns one and only one text content object
+Console.WriteLine(result.Content.OfType().First().Text);
+```
+
+Clients can connect to any MCP server, not just ones created using this library. The protocol is designed to be server-agnostic, so you can use this library to connect to any compliant server.
+
+Tools can be easily exposed for immediate use by `IChatClient`s, because `McpClientTool` inherits from `AIFunction`.
+
+```csharp
+// Get available functions.
+IList tools = await client.ListToolsAsync();
+
+// Call the chat client using the tools.
+IChatClient chatClient = ...;
+var response = await chatClient.GetResponseAsync(
+ "your prompt here",
+ new() { Tools = [.. tools] });
+```
From 9382bb5611800b585a3f38706a7eff0c00852a77 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Feb 2026 05:24:37 +0000
Subject: [PATCH 3/8] Simplify package READMEs per PR #1387 pattern
Remove inline code samples from all three package READMEs and link to
the Getting Started documentation page instead. Change "our" to "the"
for API documentation references. Tighten package descriptions.
Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
---
src/ModelContextProtocol.AspNetCore/README.md | 40 ++-----
src/ModelContextProtocol.Core/README.md | 90 ++--------------
src/ModelContextProtocol/README.md | 101 ++----------------
3 files changed, 26 insertions(+), 205 deletions(-)
diff --git a/src/ModelContextProtocol.AspNetCore/README.md b/src/ModelContextProtocol.AspNetCore/README.md
index 4b3b1a312..f3861bce2 100644
--- a/src/ModelContextProtocol.AspNetCore/README.md
+++ b/src/ModelContextProtocol.AspNetCore/README.md
@@ -2,48 +2,24 @@
[](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)
-ASP.NET Core extensions for the official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. Please visit our [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
-
-## About MCP
-
-The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
-
-For more information about MCP:
-
-- [Official Documentation](https://modelcontextprotocol.io/)
-- [Protocol Specification](https://modelcontextprotocol.io/specification/)
-- [GitHub Organization](https://github.com/modelcontextprotocol)
+ASP.NET Core extensions for the official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), providing HTTP-based MCP server support. References `ModelContextProtocol`. Please visit the [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
## Installation
-To get started, install the package from NuGet
-
```
-dotnet new web
dotnet add package ModelContextProtocol.AspNetCore
```
## Getting Started
-```csharp
-// Program.cs
-using ModelContextProtocol.Server;
-using System.ComponentModel;
+To get started, see the [Getting Started](https://modelcontextprotocol.github.io/csharp-sdk/concepts/getting-started.html) guide for installation instructions, package-selection guidance, and complete examples for both clients and servers.
-var builder = WebApplication.CreateBuilder(args);
-builder.Services.AddMcpServer()
- .WithHttpTransport()
- .WithToolsFromAssembly();
-var app = builder.Build();
+## About MCP
-app.MapMcp();
+The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
-app.Run("http://localhost:3001");
+For more information about MCP:
-[McpServerToolType]
-public static class EchoTool
-{
- [McpServerTool, Description("Echoes the message back to the client.")]
- public static string Echo(string message) => $"hello {message}";
-}
-```
+- [Official Documentation](https://modelcontextprotocol.io/)
+- [Protocol Specification](https://modelcontextprotocol.io/specification/)
+- [GitHub Organization](https://github.com/modelcontextprotocol)
diff --git a/src/ModelContextProtocol.Core/README.md b/src/ModelContextProtocol.Core/README.md
index 719aba28f..ab7d272f1 100644
--- a/src/ModelContextProtocol.Core/README.md
+++ b/src/ModelContextProtocol.Core/README.md
@@ -2,96 +2,24 @@
[](https://www.nuget.org/packages/ModelContextProtocol.Core)
-Core .NET SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. Please visit our [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
-
-## About MCP
-
-The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
-
-For more information about MCP:
-
-- [Official Documentation](https://modelcontextprotocol.io/)
-- [Protocol Specification](https://modelcontextprotocol.io/specification/)
-- [GitHub Organization](https://github.com/modelcontextprotocol)
+Core .NET SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), providing client and low-level server APIs with minimal dependencies. Please visit the [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
## Installation
-To get started, install the core package from NuGet
-
```
dotnet add package ModelContextProtocol.Core
```
-## Getting Started (Client)
-
-To get started writing a client, the `McpClient.CreateAsync` method is used to instantiate and connect an `McpClient`
-to a server. Once you have an `McpClient`, you can interact with it, such as to enumerate all available tools and invoke tools.
+## Getting Started
-```csharp
-var clientTransport = new StdioClientTransport(new StdioClientTransportOptions
-{
- Name = "Everything",
- Command = "npx",
- Arguments = ["-y", "@modelcontextprotocol/server-everything"],
-});
+To get started, see the [Getting Started](https://modelcontextprotocol.github.io/csharp-sdk/concepts/getting-started.html) guide for installation instructions, package-selection guidance, and complete examples for both clients and servers.
-var client = await McpClient.CreateAsync(clientTransport);
-
-// Print the list of tools available from the server.
-foreach (var tool in await client.ListToolsAsync())
-{
- Console.WriteLine($"{tool.Name} ({tool.Description})");
-}
-
-// Execute a tool (this would normally be driven by LLM tool invocations).
-var result = await client.CallToolAsync(
- "echo",
- new Dictionary() { ["message"] = "Hello MCP!" },
- cancellationToken: CancellationToken.None);
-
-// echo always returns one and only one text content object
-Console.WriteLine(result.Content.OfType().First().Text);
-```
-
-Clients can connect to any MCP server, not just ones created using this library. The protocol is designed to be server-agnostic, so you can use this library to connect to any compliant server.
-
-Tools can be easily exposed for immediate use by `IChatClient`s, because `McpClientTool` inherits from `AIFunction`.
-
-```csharp
-// Get available functions.
-IList tools = await client.ListToolsAsync();
-
-// Call the chat client using the tools.
-IChatClient chatClient = ...;
-var response = await chatClient.GetResponseAsync(
- "your prompt here",
- new() { Tools = [.. tools] });
-```
-
-## Getting Started (Server)
-
-The core package provides the basic server functionality. Here's an example of creating a simple MCP server without dependency injection:
-
-```csharp
-using ModelContextProtocol.Server;
-using System.ComponentModel;
+## About MCP
-// Create server options with tools
-var serverOptions = new McpServerOptions
-{
- ToolCollection = [
- McpServerTool.Create((string message) => $"hello {message}", new()
- {
- Name = "echo",
- Description = "Echoes the message back to the client."
- })
- ]
-};
+The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
-// Create and run server with stdio transport
-await using var stdioTransport = new StdioServerTransport("EchoServer");
-await using var server = McpServer.Create(stdioTransport, serverOptions);
-await server.RunAsync(CancellationToken.None);
-```
+For more information about MCP:
-For more advanced scenarios with dependency injection, hosting, and automatic tool discovery, see the `ModelContextProtocol` package.
+- [Official Documentation](https://modelcontextprotocol.io/)
+- [Protocol Specification](https://modelcontextprotocol.io/specification/)
+- [GitHub Organization](https://github.com/modelcontextprotocol)
diff --git a/src/ModelContextProtocol/README.md b/src/ModelContextProtocol/README.md
index 6458ad9bc..465cb4f89 100644
--- a/src/ModelContextProtocol/README.md
+++ b/src/ModelContextProtocol/README.md
@@ -2,107 +2,24 @@
[](https://www.nuget.org/packages/ModelContextProtocol)
-The official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. This is the main package with hosting and dependency injection extensions. Please visit our [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
-
-## About MCP
-
-The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
-
-For more information about MCP:
-
-- [Official Documentation](https://modelcontextprotocol.io/)
-- [Protocol Specification](https://modelcontextprotocol.io/specification/)
-- [GitHub Organization](https://github.com/modelcontextprotocol)
+The official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. Please visit the [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
## Installation
-To get started, install the package from NuGet
-
```
dotnet add package ModelContextProtocol
```
-## Getting Started (Server)
+## Getting Started
-Create a new console app, add the required packages, and replace `Program.cs` with the code below to get a working MCP server that exposes a single tool over stdio:
+To get started, see the [Getting Started](https://modelcontextprotocol.github.io/csharp-sdk/concepts/getting-started.html) guide for installation instructions, package-selection guidance, and complete examples for both clients and servers.
-```
-dotnet new console
-dotnet add package ModelContextProtocol
-dotnet add package Microsoft.Extensions.Hosting
-```
-
-```csharp
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
-using Microsoft.Extensions.Logging;
-using ModelContextProtocol.Server;
-using System.ComponentModel;
-
-var builder = Host.CreateApplicationBuilder(args);
-builder.Logging.AddConsole(consoleLogOptions =>
-{
- // Configure all logs to go to stderr
- consoleLogOptions.LogToStandardErrorThreshold = LogLevel.Trace;
-});
-builder.Services
- .AddMcpServer()
- .WithStdioServerTransport()
- .WithToolsFromAssembly();
-await builder.Build().RunAsync();
-
-[McpServerToolType]
-public static class EchoTool
-{
- [McpServerTool, Description("Echoes the message back to the client.")]
- public static string Echo(string message) => $"hello {message}";
-}
-```
-
-The call to `WithToolsFromAssembly` discovers every class marked with `[McpServerToolType]` in the assembly and registers every `[McpServerTool]` method as a tool. Prompts and resources work the same way with `[McpServerPromptType]` / `[McpServerPrompt]` and `[McpServerResourceType]` / `[McpServerResource]`.
-
-## Getting Started (Client)
-
-To get started writing a client, the `McpClient.CreateAsync` method is used to instantiate and connect an `McpClient`
-to a server. Once you have an `McpClient`, you can interact with it, such as to enumerate all available tools and invoke tools.
-
-```csharp
-var clientTransport = new StdioClientTransport(new StdioClientTransportOptions
-{
- Name = "Everything",
- Command = "npx",
- Arguments = ["-y", "@modelcontextprotocol/server-everything"],
-});
-
-var client = await McpClient.CreateAsync(clientTransport);
-
-// Print the list of tools available from the server.
-foreach (var tool in await client.ListToolsAsync())
-{
- Console.WriteLine($"{tool.Name} ({tool.Description})");
-}
-
-// Execute a tool (this would normally be driven by LLM tool invocations).
-var result = await client.CallToolAsync(
- "echo",
- new Dictionary() { ["message"] = "Hello MCP!" },
- cancellationToken: CancellationToken.None);
-
-// echo always returns one and only one text content object
-Console.WriteLine(result.Content.OfType().First().Text);
-```
-
-Clients can connect to any MCP server, not just ones created using this library. The protocol is designed to be server-agnostic, so you can use this library to connect to any compliant server.
+## About MCP
-Tools can be easily exposed for immediate use by `IChatClient`s, because `McpClientTool` inherits from `AIFunction`.
+The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
-```csharp
-// Get available functions.
-IList tools = await client.ListToolsAsync();
+For more information about MCP:
-// Call the chat client using the tools.
-IChatClient chatClient = ...;
-var response = await chatClient.GetResponseAsync(
- "your prompt here",
- new() { Tools = [.. tools] });
-```
+- [Official Documentation](https://modelcontextprotocol.io/)
+- [Protocol Specification](https://modelcontextprotocol.io/specification/)
+- [GitHub Organization](https://github.com/modelcontextprotocol)
From 1a8bf62f3d78c656eb6e90c7fa1eac0460cc5234 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Feb 2026 05:32:18 +0000
Subject: [PATCH 4/8] Update MCP links in package READMEs: rename to "Official
MCP Documentation" and add "MCP C# SDK Documentation" link
Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
---
src/ModelContextProtocol.AspNetCore/README.md | 3 ++-
src/ModelContextProtocol.Core/README.md | 3 ++-
src/ModelContextProtocol/README.md | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/ModelContextProtocol.AspNetCore/README.md b/src/ModelContextProtocol.AspNetCore/README.md
index f3861bce2..474759b06 100644
--- a/src/ModelContextProtocol.AspNetCore/README.md
+++ b/src/ModelContextProtocol.AspNetCore/README.md
@@ -20,6 +20,7 @@ The Model Context Protocol (MCP) is an open protocol that standardizes how appli
For more information about MCP:
-- [Official Documentation](https://modelcontextprotocol.io/)
+- [Official MCP Documentation](https://modelcontextprotocol.io/)
+- [MCP C# SDK Documentation](https://modelcontextprotocol.github.io/csharp-sdk/)
- [Protocol Specification](https://modelcontextprotocol.io/specification/)
- [GitHub Organization](https://github.com/modelcontextprotocol)
diff --git a/src/ModelContextProtocol.Core/README.md b/src/ModelContextProtocol.Core/README.md
index ab7d272f1..be3c9722a 100644
--- a/src/ModelContextProtocol.Core/README.md
+++ b/src/ModelContextProtocol.Core/README.md
@@ -20,6 +20,7 @@ The Model Context Protocol (MCP) is an open protocol that standardizes how appli
For more information about MCP:
-- [Official Documentation](https://modelcontextprotocol.io/)
+- [Official MCP Documentation](https://modelcontextprotocol.io/)
+- [MCP C# SDK Documentation](https://modelcontextprotocol.github.io/csharp-sdk/)
- [Protocol Specification](https://modelcontextprotocol.io/specification/)
- [GitHub Organization](https://github.com/modelcontextprotocol)
diff --git a/src/ModelContextProtocol/README.md b/src/ModelContextProtocol/README.md
index 465cb4f89..65f4743f0 100644
--- a/src/ModelContextProtocol/README.md
+++ b/src/ModelContextProtocol/README.md
@@ -20,6 +20,7 @@ The Model Context Protocol (MCP) is an open protocol that standardizes how appli
For more information about MCP:
-- [Official Documentation](https://modelcontextprotocol.io/)
+- [Official MCP Documentation](https://modelcontextprotocol.io/)
+- [MCP C# SDK Documentation](https://modelcontextprotocol.github.io/csharp-sdk/)
- [Protocol Specification](https://modelcontextprotocol.io/specification/)
- [GitHub Organization](https://github.com/modelcontextprotocol)
From cb9d08c31aa3f3a7b1e7e4781b13b0685dd6fd44 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Feb 2026 05:41:57 +0000
Subject: [PATCH 5/8] Add Packages section to ModelContextProtocol README with
absolute documentation URLs
Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
---
src/ModelContextProtocol/README.md | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/ModelContextProtocol/README.md b/src/ModelContextProtocol/README.md
index 65f4743f0..95ae7f5fc 100644
--- a/src/ModelContextProtocol/README.md
+++ b/src/ModelContextProtocol/README.md
@@ -4,6 +4,16 @@
The official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. Please visit the [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
+## Packages
+
+This SDK consists of three main packages:
+
+- **[ModelContextProtocol.Core](https://www.nuget.org/packages/ModelContextProtocol.Core)** [](https://www.nuget.org/packages/ModelContextProtocol.Core) - For projects that only need to use the client or low-level server APIs and want the minimum number of dependencies. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html)
+
+- **[ModelContextProtocol](https://www.nuget.org/packages/ModelContextProtocol)** [](https://www.nuget.org/packages/ModelContextProtocol) - The main package with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. This is the right fit for most projects that don't need HTTP server capabilities. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html)
+
+- **[ModelContextProtocol.AspNetCore](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)** [](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore) - The library for HTTP-based MCP servers. References `ModelContextProtocol`. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.AspNetCore.html)
+
## Installation
```
From e5ebb5096cd587285624bebb271cef4ab4456b99 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Feb 2026 05:51:26 +0000
Subject: [PATCH 6/8] Add MCP C# SDK Documentation link to top-level README
Co-authored-by: jeffhandley <1031940+jeffhandley@users.noreply.github.com>
---
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 796f23f90..fac4b2dea 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,8 @@ The Model Context Protocol (MCP) is an open protocol that standardizes how appli
For more information about MCP:
-- [Official Documentation](https://modelcontextprotocol.io/)
+- [Official MCP Documentation](https://modelcontextprotocol.io/)
+- [MCP C# SDK Documentation](https://modelcontextprotocol.github.io/csharp-sdk/)
- [Protocol Specification](https://modelcontextprotocol.io/specification/)
- [GitHub Organization](https://github.com/modelcontextprotocol)
From 91756aa8bc0dd3e8ae8c3d488f1a0bcab9418829 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Feb 2026 17:46:27 +0000
Subject: [PATCH 7/8] Consolidate package READMEs into shared src/PACKAGE.md
Replace three individual package README.md files with a single shared
PACKAGE.md in the src folder. All three csproj files now reference
../PACKAGE.md and pack it as README.md inside the NuGet package.
Also update the top-level README.md to use absolute docs site URLs
for the Documentation links since the per-package READMEs no longer exist.
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
---
README.md | 6 ++---
.../ModelContextProtocol.AspNetCore.csproj | 2 +-
src/ModelContextProtocol.AspNetCore/README.md | 26 -------------------
.../ModelContextProtocol.Core.csproj | 2 +-
src/ModelContextProtocol.Core/README.md | 26 -------------------
.../ModelContextProtocol.csproj | 2 +-
.../README.md => PACKAGE.md} | 10 +++----
7 files changed, 9 insertions(+), 65 deletions(-)
delete mode 100644 src/ModelContextProtocol.AspNetCore/README.md
delete mode 100644 src/ModelContextProtocol.Core/README.md
rename src/{ModelContextProtocol/README.md => PACKAGE.md} (81%)
diff --git a/README.md b/README.md
index fac4b2dea..3ef564de7 100644
--- a/README.md
+++ b/README.md
@@ -8,11 +8,11 @@ The official C# SDK for the [Model Context Protocol](https://modelcontextprotoco
This SDK consists of three main packages:
-- **[ModelContextProtocol.Core](https://www.nuget.org/packages/ModelContextProtocol.Core)** [](https://www.nuget.org/packages/ModelContextProtocol.Core) - For projects that only need to use the client or low-level server APIs and want the minimum number of dependencies. [Documentation](src/ModelContextProtocol.Core/README.md)
+- **[ModelContextProtocol.Core](https://www.nuget.org/packages/ModelContextProtocol.Core)** [](https://www.nuget.org/packages/ModelContextProtocol.Core) - For projects that only need to use the client or low-level server APIs and want the minimum number of dependencies. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html)
-- **[ModelContextProtocol](https://www.nuget.org/packages/ModelContextProtocol)** [](https://www.nuget.org/packages/ModelContextProtocol) - The main package with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. This is the right fit for most projects that don't need HTTP server capabilities. [Documentation](src/ModelContextProtocol/README.md)
+- **[ModelContextProtocol](https://www.nuget.org/packages/ModelContextProtocol)** [](https://www.nuget.org/packages/ModelContextProtocol) - The main package with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. This is the right fit for most projects that don't need HTTP server capabilities. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html)
-- **[ModelContextProtocol.AspNetCore](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)** [](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore) - The library for HTTP-based MCP servers. References `ModelContextProtocol`. [Documentation](src/ModelContextProtocol.AspNetCore/README.md)
+- **[ModelContextProtocol.AspNetCore](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)** [](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore) - The library for HTTP-based MCP servers. References `ModelContextProtocol`. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.AspNetCore.html)
## Getting Started
diff --git a/src/ModelContextProtocol.AspNetCore/ModelContextProtocol.AspNetCore.csproj b/src/ModelContextProtocol.AspNetCore/ModelContextProtocol.AspNetCore.csproj
index 6fe243695..ee10fc15a 100644
--- a/src/ModelContextProtocol.AspNetCore/ModelContextProtocol.AspNetCore.csproj
+++ b/src/ModelContextProtocol.AspNetCore/ModelContextProtocol.AspNetCore.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/src/ModelContextProtocol.AspNetCore/README.md b/src/ModelContextProtocol.AspNetCore/README.md
deleted file mode 100644
index 474759b06..000000000
--- a/src/ModelContextProtocol.AspNetCore/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# ASP.NET Core extensions for the MCP C# SDK
-
-[](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)
-
-ASP.NET Core extensions for the official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), providing HTTP-based MCP server support. References `ModelContextProtocol`. Please visit the [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
-
-## Installation
-
-```
-dotnet add package ModelContextProtocol.AspNetCore
-```
-
-## Getting Started
-
-To get started, see the [Getting Started](https://modelcontextprotocol.github.io/csharp-sdk/concepts/getting-started.html) guide for installation instructions, package-selection guidance, and complete examples for both clients and servers.
-
-## About MCP
-
-The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
-
-For more information about MCP:
-
-- [Official MCP Documentation](https://modelcontextprotocol.io/)
-- [MCP C# SDK Documentation](https://modelcontextprotocol.github.io/csharp-sdk/)
-- [Protocol Specification](https://modelcontextprotocol.io/specification/)
-- [GitHub Organization](https://github.com/modelcontextprotocol)
diff --git a/src/ModelContextProtocol.Core/ModelContextProtocol.Core.csproj b/src/ModelContextProtocol.Core/ModelContextProtocol.Core.csproj
index 05e732c6f..f982d41cd 100644
--- a/src/ModelContextProtocol.Core/ModelContextProtocol.Core.csproj
+++ b/src/ModelContextProtocol.Core/ModelContextProtocol.Core.csproj
@@ -73,7 +73,7 @@
-
+
diff --git a/src/ModelContextProtocol.Core/README.md b/src/ModelContextProtocol.Core/README.md
deleted file mode 100644
index be3c9722a..000000000
--- a/src/ModelContextProtocol.Core/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# MCP C# SDK Core
-
-[](https://www.nuget.org/packages/ModelContextProtocol.Core)
-
-Core .NET SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), providing client and low-level server APIs with minimal dependencies. Please visit the [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
-
-## Installation
-
-```
-dotnet add package ModelContextProtocol.Core
-```
-
-## Getting Started
-
-To get started, see the [Getting Started](https://modelcontextprotocol.github.io/csharp-sdk/concepts/getting-started.html) guide for installation instructions, package-selection guidance, and complete examples for both clients and servers.
-
-## About MCP
-
-The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
-
-For more information about MCP:
-
-- [Official MCP Documentation](https://modelcontextprotocol.io/)
-- [MCP C# SDK Documentation](https://modelcontextprotocol.github.io/csharp-sdk/)
-- [Protocol Specification](https://modelcontextprotocol.io/specification/)
-- [GitHub Organization](https://github.com/modelcontextprotocol)
diff --git a/src/ModelContextProtocol/ModelContextProtocol.csproj b/src/ModelContextProtocol/ModelContextProtocol.csproj
index 0202f18eb..231eb073a 100644
--- a/src/ModelContextProtocol/ModelContextProtocol.csproj
+++ b/src/ModelContextProtocol/ModelContextProtocol.csproj
@@ -31,7 +31,7 @@
-
+
\ No newline at end of file
diff --git a/src/ModelContextProtocol/README.md b/src/PACKAGE.md
similarity index 81%
rename from src/ModelContextProtocol/README.md
rename to src/PACKAGE.md
index 95ae7f5fc..60ab335d4 100644
--- a/src/ModelContextProtocol/README.md
+++ b/src/PACKAGE.md
@@ -2,7 +2,7 @@
[](https://www.nuget.org/packages/ModelContextProtocol)
-The official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. Please visit the [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
+The official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. Please visit the [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
## Packages
@@ -14,16 +14,12 @@ This SDK consists of three main packages:
- **[ModelContextProtocol.AspNetCore](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)** [](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore) - The library for HTTP-based MCP servers. References `ModelContextProtocol`. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.AspNetCore.html)
-## Installation
-
-```
-dotnet add package ModelContextProtocol
-```
-
## Getting Started
To get started, see the [Getting Started](https://modelcontextprotocol.github.io/csharp-sdk/concepts/getting-started.html) guide for installation instructions, package-selection guidance, and complete examples for both clients and servers.
+You can also browse the [samples](https://github.com/modelcontextprotocol/csharp-sdk/tree/main/samples) directory and the [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
+
## About MCP
The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
From cd9c758bea7d84c68b57f484acd650dd568bc6c1 Mon Sep 17 00:00:00 2001
From: Jeff Handley
Date: Thu, 26 Feb 2026 08:42:12 -0800
Subject: [PATCH 8/8] Remove doc links from package lists
These were no longer package-specific doc links
---
README.md | 6 +++---
src/PACKAGE.md | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index 3ef564de7..922e867de 100644
--- a/README.md
+++ b/README.md
@@ -8,11 +8,11 @@ The official C# SDK for the [Model Context Protocol](https://modelcontextprotoco
This SDK consists of three main packages:
-- **[ModelContextProtocol.Core](https://www.nuget.org/packages/ModelContextProtocol.Core)** [](https://www.nuget.org/packages/ModelContextProtocol.Core) - For projects that only need to use the client or low-level server APIs and want the minimum number of dependencies. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html)
+- **[ModelContextProtocol.Core](https://www.nuget.org/packages/ModelContextProtocol.Core)** [](https://www.nuget.org/packages/ModelContextProtocol.Core) - For projects that only need to use the client or low-level server APIs and want the minimum number of dependencies.
-- **[ModelContextProtocol](https://www.nuget.org/packages/ModelContextProtocol)** [](https://www.nuget.org/packages/ModelContextProtocol) - The main package with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. This is the right fit for most projects that don't need HTTP server capabilities. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html)
+- **[ModelContextProtocol](https://www.nuget.org/packages/ModelContextProtocol)** [](https://www.nuget.org/packages/ModelContextProtocol) - The main package with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. This is the right fit for most projects that don't need HTTP server capabilities.
-- **[ModelContextProtocol.AspNetCore](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)** [](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore) - The library for HTTP-based MCP servers. References `ModelContextProtocol`. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.AspNetCore.html)
+- **[ModelContextProtocol.AspNetCore](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)** [](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore) - The library for HTTP-based MCP servers. References `ModelContextProtocol`.
## Getting Started
diff --git a/src/PACKAGE.md b/src/PACKAGE.md
index 60ab335d4..bc182d046 100644
--- a/src/PACKAGE.md
+++ b/src/PACKAGE.md
@@ -8,11 +8,11 @@ The official C# SDK for the [Model Context Protocol](https://modelcontextprotoco
This SDK consists of three main packages:
-- **[ModelContextProtocol.Core](https://www.nuget.org/packages/ModelContextProtocol.Core)** [](https://www.nuget.org/packages/ModelContextProtocol.Core) - For projects that only need to use the client or low-level server APIs and want the minimum number of dependencies. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html)
+- **[ModelContextProtocol.Core](https://www.nuget.org/packages/ModelContextProtocol.Core)** [](https://www.nuget.org/packages/ModelContextProtocol.Core) - For projects that only need to use the client or low-level server APIs and want the minimum number of dependencies.
-- **[ModelContextProtocol](https://www.nuget.org/packages/ModelContextProtocol)** [](https://www.nuget.org/packages/ModelContextProtocol) - The main package with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. This is the right fit for most projects that don't need HTTP server capabilities. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html)
+- **[ModelContextProtocol](https://www.nuget.org/packages/ModelContextProtocol)** [](https://www.nuget.org/packages/ModelContextProtocol) - The main package with hosting and dependency injection extensions. References `ModelContextProtocol.Core`. This is the right fit for most projects that don't need HTTP server capabilities.
-- **[ModelContextProtocol.AspNetCore](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)** [](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore) - The library for HTTP-based MCP servers. References `ModelContextProtocol`. [Documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.AspNetCore.html)
+- **[ModelContextProtocol.AspNetCore](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore)** [](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore) - The library for HTTP-based MCP servers. References `ModelContextProtocol`.
## Getting Started