One read of Model Context Protocolmcp-20261031T073706Z
8 pages moved out of 359 read.
Pages moved
8
significant first
Pages read
359
in this capture
Captured
07:37 UTC
Corpus hash
41232875e6ff
corpus-hash
What this read moved
1-8 of 8docs/2026-07-28/tools/debugging Changed · +5 / -0 lines
from line 217
217217
218218* macOS: `~/Library/Logs/Claude`
219219* Windows: `%APPDATA%\Claude\logs`
220* Linux: `~/.config/Claude/logs`
220221
221222```bash macOS theme={null}
222223tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
224```
225
226```bash Linux theme={null}
227tail -n 20 -F ~/.config/Claude/logs/mcp*.log
223228```
224229
225230```powershell Windows theme={null}
docs/draft/tools/debugging Changed · +5 / -0 lines
from line 217
217217
218218* macOS: `~/Library/Logs/Claude`
219219* Windows: `%APPDATA%\Claude\logs`
220* Linux: `~/.config/Claude/logs`
220221
221222```bash macOS theme={null}
222223tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
224```
225
226```bash Linux theme={null}
227tail -n 20 -F ~/.config/Claude/logs/mcp*.log
223228```
224229
225230```powershell Windows theme={null}
docs/draft/tutorials/security/authorization Changed · +62 / -3 lines
from line 922
922922>
923923> To set up authorization in your MCP server using the MCP C# SDK, you can lean on the standard ASP.NET Core builder pattern. Instead of using the introspection endpoint provided by Keycloak, we will use built-in ASP.NET Core capabilities for token validation.
924924>
925> In the root of your server folder, create two files, `Program.cs` and `ProtectedMcpServer.csproj`, and a `Tools` folder. Fill `Program.cs` with:
926>
925927> ```csharp theme={null}
926928> using Microsoft.AspNetCore.Authentication.JwtBearer;
927929> using Microsoft.IdentityModel.Tokens;
from line 985
983985> {
984986> options.ResourceMetadata = new()
985987> {
986> Resource = new Uri(serverUrl),
987> ResourceDocumentation = new Uri("https://docs.example.com/api/math"),
988> AuthorizationServers = { new Uri(authorizationServerUrl) },
988> Resource = serverUrl,
989> ResourceDocumentation = "https://docs.example.com/api/math",
990> AuthorizationServers = { authorizationServerUrl },
989991> ScopesSupported = ["mcp:tools"]
990992> };
991993> });
from line 1013
10111013> Console.WriteLine("Press Ctrl+C to stop the server");
10121014>
10131015> app.Run(serverUrl);
1016> ```
1017>
1018> Fill `ProtectedMcpServer.csproj` with:
1019>
1020> ```xml theme={null}
1021> <Project Sdk="Microsoft.NET.Sdk.Web">
1022>
1023> <PropertyGroup>
1024> <TargetFramework>net9.0</TargetFramework>
1025> <Nullable>enable</Nullable>
1026> <ImplicitUsings>enable</ImplicitUsings>
1027> <!-- Identifier for the local secret store, not a secret itself. -->
1028> <UserSecretsId>local-authorization-mcp-server</UserSecretsId>
1029> </PropertyGroup>
1030>
1031> <ItemGroup>
1032> <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.18" />
1033> <PackageReference Include="ModelContextProtocol" Version="2.0.0" />
1034> <PackageReference Include="ModelContextProtocol.AspNetCore" Version="2.0.0" />
1035> </ItemGroup>
1036>
1037> </Project>
1038> ```
1039>
1040> In the `Tools` folder, create `MathTools.cs` and fill it with:
1041>
1042> ```csharp theme={null}
1043> using System.ComponentModel;
1044> using ModelContextProtocol.Server;
1045>
1046> namespace ProtectedMcpServer.Tools;
1047>
1048> [McpServerToolType]
1049> public sealed class MathTools
1050> {
1051> [McpServerTool, Description("Add two numbers together.")]
1052> public Task<double> Add(
1053> [Description("First operand")] double a,
1054> [Description("Second operand")] double b)
1055> {
1056> return Task.FromResult(a + b);
1057> }
1058>
1059> [McpServerTool, Description("Multiply two numbers together.")]
1060> public Task<double> Multiply(
1061> [Description("First operand")] double a,
1062> [Description("Second operand")] double b)
1063> {
1064> return Task.FromResult(a * b);
1065> }
1066> }
1067> ```
1068>
1069> Then from the server's root, run:
1070>
1071> ```bash theme={null}
1072> dotnet run
10141073> ```
10151074>
10161075> For more details, see the [C# SDK documentation](https://github.com/modelcontextprotocol/csharp-sdk).
docs/2026-07-28/learn/client-concepts Changed · +1 / -1 lines
from line 234
234234 ],
235235 modelPreferences: {
236236 hints: [{
237 name: "claude-sonnet-4-20250514" // Suggested model
237 name: "claude-sonnet" // Prefer Sonnet-class models
238238 }],
239239 costPriority: 0.3, // Less concerned about API cost
240240 speedPriority: 0.2, // Can wait for thorough analysis
docs/2026-07-28/sdk Changed · +1 / -1 lines
from line 23
2323
2424## Getting Started
2525
26Each SDK provides the same functionality but follows the idioms and best practices of its language. All SDKs support:
26Each SDK follows the idioms and best practices of its language. SDKs adopt new protocol revisions on their own schedules, so check each SDK's documentation for the revisions it supports. All SDKs support:
2727
2828* Creating MCP servers that expose tools, resources, and prompts
2929* Building MCP clients that can connect to any MCP server
docs/draft/learn/client-concepts Changed · +1 / -1 lines
from line 234
234234 ],
235235 modelPreferences: {
236236 hints: [{
237 name: "claude-sonnet-4-20250514" // Suggested model
237 name: "claude-sonnet" // Prefer Sonnet-class models
238238 }],
239239 costPriority: 0.3, // Less concerned about API cost
240240 speedPriority: 0.2, // Can wait for thorough analysis
docs/draft/sdk Changed · +1 / -1 lines
from line 23
2323
2424## Getting Started
2525
26Each SDK provides the same functionality but follows the idioms and best practices of its language. All SDKs support:
26Each SDK follows the idioms and best practices of its language. SDKs adopt new protocol revisions on their own schedules, so check each SDK's documentation for the revisions it supports. All SDKs support:
2727
2828* Creating MCP servers that expose tools, resources, and prompts
2929* Building MCP clients that can connect to any MCP server
extensions/auth/oauth-client-credentials Changed · +2 / -2 lines
from line 172
172172
173173**2. Create a provider and connect**
174174
175Choose the credential format that matches your setup:
176
177175Each sample pins the issuer of the authorization server that provisioned the credentials, so the client refuses to send them to any other authorization server the MCP server might advertise.
176
177Choose the credential format that matches your setup:
178178
179179#### Using a client secret
180180