From c9ed453745e2896a4d505a063bc88d45e16ac707 Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Wed, 19 Mar 2025 10:51:27 +0200 Subject: [PATCH] Rename project and namespaces --- .config/dotnet-tools.json | 13 -- .github/pull_request_template.md | 18 -- .github/workflows/ci.yml | 37 ++-- .gitignore | 3 - CODE_OF_CONDUCT.md | 133 ------------- CONTRIBUTING.md | 43 ----- GitVersion.yml | 2 - LICENSE | 2 +- mcpdotnet.sln => ModelContextProtocol.sln | 35 ++-- README.MD | 61 ++---- SECURITY.md | 13 -- TODO.md | 18 -- build.cake | 179 ------------------ build.ps1 | 13 -- build.sh | 12 -- global.json | 6 + .../AspNetCoreSseServer.csproj | 2 +- .../McpEndpointRouteBuilderExtensions.cs | 6 +- samples/AspNetCoreSseServer/Program.cs | 2 +- .../SseServerStreamTransport.cs | 6 +- samples/AspNetCoreSseServer/Tools/EchoTool.cs | 2 +- .../Tools/SampleLlmTool.cs | 4 +- samples/README.md | 8 +- samples/TestServerWithHosting/Program.cs | 2 +- .../TestServerWithHosting.csproj | 2 +- .../TestServerWithHosting/Tools/EchoTool.cs | 2 +- .../Tools/SampleLlmTool.cs | 4 +- .../ToolsConsole/AnthropicToolsConsole.csproj | 2 +- .../tools/ToolsConsole/McpToolExtensions.cs | 4 +- .../anthropic/tools/ToolsConsole/Program.cs | 8 +- .../ToolsConsole/MEAIToolsConsole.csproj | 3 +- .../tools/ToolsConsole/Program.cs | 6 +- .../McpDotNet.Extensions.AI.csproj | 48 ----- src/McpDotNet.Extensions.AI/README.md | 4 - .../Client/IMcpClient.cs | 6 +- .../Client/McpClient.cs | 16 +- .../Client/McpClientException.cs | 2 +- .../Client/McpClientExtensions.cs | 10 +- .../Client/McpClientFactory.cs | 10 +- .../Client/McpClientOptions.cs | 4 +- .../Configuration/DefaultMcpServerBuilder.cs | 4 +- .../Configuration/IMcpServerBuilder.cs | 4 +- .../McpServerBuilderExtensions.Handler.cs | 10 +- .../McpServerBuilderExtensions.Tools.cs | 12 +- .../McpServerBuilderExtensions.Transports.cs | 10 +- .../Configuration/McpServerConfig.cs | 2 +- .../Configuration/McpServerOptionsSetup.cs | 6 +- .../McpServerServiceCollectionExtension.cs | 8 +- .../Hosting/McpServerHostedService.cs | 6 +- .../Logging/Log.cs | 6 +- .../ModelContextProtocol.csproj} | 21 +- .../Protocol/Messages/ErrorCodes.cs | 2 +- .../Protocol/Messages/IJsonRpcMessage.cs | 4 +- .../Messages/IJsonRpcMessageWithId.cs | 2 +- .../Protocol/Messages/JsonRpcError.cs | 2 +- .../Protocol/Messages/JsonRpcErrorDetail.cs | 2 +- .../Protocol/Messages/JsonRpcMessage.cs | 2 +- .../Protocol/Messages/JsonRpcNotification.cs | 2 +- .../Protocol/Messages/JsonRpcResponse.cs | 2 +- .../Protocol/Messages/NotificationMethods.cs | 2 +- .../Protocol/Messages/OperationNames.cs | 2 +- .../Protocol/Messages/PaginatedResult.cs | 2 +- .../Protocol/Messages/RequestId.cs | 2 +- .../Protocol/Messages/RequestIdConverter.cs | 4 +- .../Transport/HttpListenerServerProvider.cs | 4 +- .../HttpListenerSseServerTransport.cs | 10 +- .../Protocol/Transport/IClientTransport.cs | 2 +- .../Protocol/Transport/IServerTransport.cs | 2 +- .../Protocol/Transport/ITransport.cs | 4 +- .../Transport/McpTransportException.cs | 2 +- .../Protocol/Transport/SseClientTransport.cs | 12 +- .../Transport/SseClientTransportOptions.cs | 2 +- .../Transport/StdioClientTransport.cs | 12 +- .../Transport/StdioClientTransportOptions.cs | 2 +- .../Transport/StdioServerTransport.cs | 12 +- .../Protocol/Transport/TransportBase.cs | 6 +- .../Protocol/Transport/TransportTypes.cs | 2 +- .../Protocol/Types/Annotations.cs | 2 +- .../Protocol/Types/Argument.cs | 2 +- .../Protocol/Types/CallToolRequestParams.cs | 2 +- .../Protocol/Types/CallToolResponse.cs | 2 +- .../Protocol/Types/Capabilities.cs | 4 +- .../Protocol/Types/CompleteRequestParams.cs | 2 +- .../Protocol/Types/CompleteResult.cs | 2 +- .../Protocol/Types/Completion.cs | 2 +- .../Protocol/Types/Content.cs | 2 +- .../Protocol/Types/ContextInclusion.cs | 2 +- .../Types/CreateMessageRequestParams.cs | 2 +- .../Protocol/Types/CreateMessageResult.cs | 2 +- .../Protocol/Types/EmptyResult.cs | 2 +- .../Protocol/Types/GetPromptRequestParams.cs | 2 +- .../Protocol/Types/GetPromptResult.cs | 2 +- .../Protocol/Types/Implementation.cs | 2 +- .../Protocol/Types/InitializeRequestParams.cs | 2 +- .../Protocol/Types/InitializeResult.cs | 2 +- .../Protocol/Types/JsonSchema.cs | 2 +- .../Protocol/Types/JsonSchemaProperty.cs | 2 +- .../Types/ListPromptsRequestParams.cs | 2 +- .../Protocol/Types/ListPromptsResult.cs | 4 +- .../Types/ListResourcesRequestParams.cs | 2 +- .../Protocol/Types/ListResourcesResult.cs | 4 +- .../Protocol/Types/ListRootsRequestParams.cs | 2 +- .../Protocol/Types/ListRootsResult.cs | 2 +- .../Protocol/Types/ListToolsRequestParams.cs | 2 +- .../Protocol/Types/ListToolsResult.cs | 4 +- .../Protocol/Types/ModelHint.cs | 2 +- .../Protocol/Types/ModelPreferences.cs | 2 +- .../Protocol/Types/PingResult.cs | 2 +- .../Protocol/Types/Prompt.cs | 2 +- .../Protocol/Types/PromptArgument.cs | 2 +- .../Protocol/Types/PromptMessage.cs | 2 +- .../Types/ReadResourceRequestParams.cs | 2 +- .../Protocol/Types/ReadResourceResult.cs | 2 +- .../Protocol/Types/Reference.cs | 2 +- .../Protocol/Types/ResourceContents.cs | 2 +- .../ResourceUpdatedNotificationParams.cs | 2 +- .../Protocol/Types/Resources.cs | 2 +- .../Protocol/Types/Role.cs | 2 +- .../Protocol/Types/Root.cs | 2 +- .../Protocol/Types/SamplingMessage.cs | 2 +- .../Protocol/Types/ServerCapabilities.cs | 2 +- .../Protocol/Types/SubscribeRequestParams.cs | 2 +- .../Protocol/Types/Tool.cs | 2 +- .../UnsubscribeFromResourceRequestParams.cs | 2 +- .../Types/UnsubscribeRequestParams.cs | 2 +- .../Server/IMcpServer.cs | 6 +- .../Server/McpServer.cs | 12 +- .../Server/McpServerException.cs | 4 +- .../Server/McpServerExtensions.cs | 8 +- .../Server/McpServerFactory.cs | 6 +- .../Server/McpServerHandlers.cs | 4 +- .../Server/McpServerOptions.cs | 4 +- .../Server/McpToolAttribute.cs | 2 +- .../Server/McpToolTypeAttribute.cs | 2 +- .../Server/RequestContext.cs | 2 +- .../Shared/McpJsonRpcEndpoint.cs | 14 +- .../Utils/Json/JsonRpcMessageConverter.cs | 4 +- .../Json/JsonSerializerOptionsExtensions.cs | 6 +- .../Utils/ProcessHelper.cs | 2 +- .../Utils/Throw.cs | 2 +- .../ModelContextProtocol.TestServer.csproj} | 4 +- .../Program.cs | 10 +- ...ModelContextProtocol.TestSseServer.csproj} | 2 +- .../Program.cs | 6 +- .../Client/McpClientFactoryTests.cs | 12 +- .../ClientIntegrationTestFixture.cs | 8 +- .../ClientIntegrationTests.cs | 12 +- .../McpServerBuilderExtensionsHandlerTests.cs | 8 +- .../McpServerBuilderExtensionsToolsTests.cs | 6 +- ...pServerBuilderExtensionsTransportsTests.cs | 6 +- .../EverythingSseServerFixture.cs | 26 ++- .../GlobalUsings.cs | 0 .../ModelContextProtocol.Tests.csproj} | 16 +- .../Server/McpServerDelegatesTests.cs | 6 +- .../Server/McpServerFactoryTests.cs | 8 +- .../Server/McpServerTests.cs | 14 +- .../SseIntegrationTests.cs | 24 ++- .../SseServerIntegrationTestFixture.cs | 8 +- .../SseServerIntegrationTests.cs | 6 +- .../Transport/SseClientTransportTests.cs | 10 +- .../Transport/StdioServerTransportTests.cs | 14 +- .../Utils/InMemoryTestSseServer.cs | 4 +- .../Utils/MockHttpHandler.cs | 2 +- .../Utils/TestServerTransport.cs | 8 +- 164 files changed, 426 insertions(+), 918 deletions(-) delete mode 100644 .config/dotnet-tools.json delete mode 100644 .github/pull_request_template.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 GitVersion.yml rename mcpdotnet.sln => ModelContextProtocol.sln (71%) delete mode 100644 SECURITY.md delete mode 100644 TODO.md delete mode 100644 build.cake delete mode 100644 build.ps1 delete mode 100755 build.sh create mode 100644 global.json delete mode 100644 src/McpDotNet.Extensions.AI/McpDotNet.Extensions.AI.csproj delete mode 100644 src/McpDotNet.Extensions.AI/README.md rename src/{mcpdotnet => ModelContextProtocol}/Client/IMcpClient.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Client/McpClient.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Client/McpClientException.cs (97%) rename src/{mcpdotnet => ModelContextProtocol}/Client/McpClientExtensions.cs (99%) rename src/{mcpdotnet => ModelContextProtocol}/Client/McpClientFactory.cs (97%) rename src/{mcpdotnet => ModelContextProtocol}/Client/McpClientOptions.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Configuration/DefaultMcpServerBuilder.cs (88%) rename src/{mcpdotnet => ModelContextProtocol}/Configuration/IMcpServerBuilder.cs (77%) rename src/{mcpdotnet => ModelContextProtocol}/Configuration/McpServerBuilderExtensions.Handler.cs (96%) rename src/{mcpdotnet => ModelContextProtocol}/Configuration/McpServerBuilderExtensions.Tools.cs (97%) rename src/{mcpdotnet => ModelContextProtocol}/Configuration/McpServerBuilderExtensions.Transports.cs (86%) rename src/{mcpdotnet => ModelContextProtocol}/Configuration/McpServerConfig.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Configuration/McpServerOptionsSetup.cs (84%) rename src/{mcpdotnet => ModelContextProtocol}/Configuration/McpServerServiceCollectionExtension.cs (89%) rename src/{mcpdotnet => ModelContextProtocol}/Hosting/McpServerHostedService.cs (86%) rename src/{mcpdotnet => ModelContextProtocol}/Logging/Log.cs (99%) rename src/{mcpdotnet/mcpdotnet.csproj => ModelContextProtocol/ModelContextProtocol.csproj} (74%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/ErrorCodes.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/IJsonRpcMessage.cs (78%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/IJsonRpcMessageWithId.cs (82%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/JsonRpcError.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/JsonRpcErrorDetail.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/JsonRpcMessage.cs (94%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/JsonRpcNotification.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/JsonRpcResponse.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/NotificationMethods.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/OperationNames.cs (97%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/PaginatedResult.cs (85%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/RequestId.cs (98%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Messages/RequestIdConverter.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/HttpListenerServerProvider.cs (99%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/HttpListenerSseServerTransport.cs (96%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/IClientTransport.cs (87%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/IServerTransport.cs (88%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/ITransport.cs (88%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/McpTransportException.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/SseClientTransport.cs (98%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/SseClientTransportOptions.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/StdioClientTransport.cs (97%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/StdioClientTransportOptions.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/StdioServerTransport.cs (97%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/TransportBase.cs (94%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Transport/TransportTypes.cs (86%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Annotations.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Argument.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/CallToolRequestParams.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/CallToolResponse.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Capabilities.cs (98%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/CompleteRequestParams.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/CompleteResult.cs (91%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Completion.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Content.cs (96%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ContextInclusion.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/CreateMessageRequestParams.cs (98%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/CreateMessageResult.cs (96%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/EmptyResult.cs (82%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/GetPromptRequestParams.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/GetPromptResult.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Implementation.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/InitializeRequestParams.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/InitializeResult.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/JsonSchema.cs (94%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/JsonSchemaProperty.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ListPromptsRequestParams.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ListPromptsResult.cs (84%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ListResourcesRequestParams.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ListResourcesResult.cs (84%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ListRootsRequestParams.cs (91%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ListRootsResult.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ListToolsRequestParams.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ListToolsResult.cs (84%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ModelHint.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ModelPreferences.cs (98%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/PingResult.cs (82%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Prompt.cs (94%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/PromptArgument.cs (94%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/PromptMessage.cs (94%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ReadResourceRequestParams.cs (91%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ReadResourceResult.cs (91%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Reference.cs (97%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ResourceContents.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ResourceUpdatedNotificationParams.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Resources.cs (96%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Role.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Root.cs (94%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/SamplingMessage.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/ServerCapabilities.cs (96%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/SubscribeRequestParams.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/Tool.cs (94%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/UnsubscribeFromResourceRequestParams.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Protocol/Types/UnsubscribeRequestParams.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Server/IMcpServer.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Server/McpServer.cs (97%) rename src/{mcpdotnet => ModelContextProtocol}/Server/McpServerException.cs (95%) rename src/{mcpdotnet => ModelContextProtocol}/Server/McpServerExtensions.cs (98%) rename src/{mcpdotnet => ModelContextProtocol}/Server/McpServerFactory.cs (92%) rename src/{mcpdotnet => ModelContextProtocol}/Server/McpServerHandlers.cs (98%) rename src/{mcpdotnet => ModelContextProtocol}/Server/McpServerOptions.cs (94%) rename src/{mcpdotnet => ModelContextProtocol}/Server/McpToolAttribute.cs (93%) rename src/{mcpdotnet => ModelContextProtocol}/Server/McpToolTypeAttribute.cs (81%) rename src/{mcpdotnet => ModelContextProtocol}/Server/RequestContext.cs (84%) rename src/{mcpdotnet => ModelContextProtocol}/Shared/McpJsonRpcEndpoint.cs (98%) rename src/{mcpdotnet => ModelContextProtocol}/Utils/Json/JsonRpcMessageConverter.cs (97%) rename src/{mcpdotnet => ModelContextProtocol}/Utils/Json/JsonSerializerOptionsExtensions.cs (96%) rename src/{mcpdotnet => ModelContextProtocol}/Utils/ProcessHelper.cs (98%) rename src/{mcpdotnet => ModelContextProtocol}/Utils/Throw.cs (97%) rename tests/{mcpdotnet.TestServer/mcpdotnet.TestServer.csproj => ModelContextProtocol.TestServer/ModelContextProtocol.TestServer.csproj} (80%) rename tests/{mcpdotnet.TestServer => ModelContextProtocol.TestServer}/Program.cs (99%) rename tests/{mcpdotnet.TestSseServer/mcpdotnet.TestSseServer.csproj => ModelContextProtocol.TestSseServer/ModelContextProtocol.TestSseServer.csproj} (85%) rename tests/{mcpdotnet.TestSseServer => ModelContextProtocol.TestSseServer}/Program.cs (99%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Client/McpClientFactoryTests.cs (96%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/ClientIntegrationTestFixture.cs (93%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/ClientIntegrationTests.cs (98%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Configuration/McpServerBuilderExtensionsHandlerTests.cs (96%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Configuration/McpServerBuilderExtensionsToolsTests.cs (99%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Configuration/McpServerBuilderExtensionsTransportsTests.cs (89%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/EverythingSseServerFixture.cs (72%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/GlobalUsings.cs (100%) rename tests/{mcpdotnet.Tests/mcpdotnet.Tests.csproj => ModelContextProtocol.Tests/ModelContextProtocol.Tests.csproj} (73%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Server/McpServerDelegatesTests.cs (93%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Server/McpServerFactoryTests.cs (89%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Server/McpServerTests.cs (98%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/SseIntegrationTests.cs (94%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/SseServerIntegrationTestFixture.cs (93%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/SseServerIntegrationTests.cs (98%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Transport/SseClientTransportTests.cs (97%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Transport/StdioServerTransportTests.cs (93%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Utils/InMemoryTestSseServer.cs (99%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Utils/MockHttpHandler.cs (94%) rename tests/{mcpdotnet.Tests => ModelContextProtocol.Tests}/Utils/TestServerTransport.cs (92%) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json deleted file mode 100644 index b6554f3..0000000 --- a/.config/dotnet-tools.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "version": 1, - "isRoot": true, - "tools": { - "cake.tool": { - "version": "5.0.0", - "commands": [ - "dotnet-cake" - ], - "rollForward": false - } - } -} \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 7b8f960..0000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,18 +0,0 @@ -# Pull Request - -## Description of Changes - - -## Related Issue(s) - -- Fixes # - -## Testing Done - -- [ ] Unit tests added/updated -- [ ] Integration tests added/updated -- [ ] Manual testing performed - -## Breaking Changes - -None \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a99570a..db6984a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,20 +1,20 @@ -name: .NET Build, Test and publish +name: Build and Test on: push: - branches: [ "main", "master" ] + branches: ["main"] pull_request: - branches: [ "main", "master" ] - release: - types: [published,edited] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: + branches: ["main"] jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + configuration: [Debug, Release] steps: - uses: actions/checkout@v4 @@ -25,10 +25,12 @@ jobs: uses: actions/setup-dotnet@v2 with: dotnet-version: | - 8.0.x 9.0.x + 8.0.x + # Netfx testing on non-Windows requires mono - name: Setup Mono + if: runner.os == 'Linux' run: sudo apt-get install -y mono-devel - name: Set up Node.js @@ -41,12 +43,9 @@ jobs: - name: Install dependencies for tests run: npm install @modelcontextprotocol/server-memory - - - name: Run Cake script - uses: cake-build/cake-action@v1 - with: - verbosity: Diagnostic - env: - NUGET_API_KEY: ${{ secrets.NUGET_API_KEY}} - SONAR_LOGIN: ${{ secrets.SONAR_LOGIN }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Build + run: dotnet build --configuration ${{ matrix.configuration }} + + - name: Test + run: dotnet test --filter '(Execution!=Manual)' --no-build --configuration ${{ matrix.configuration }} diff --git a/.gitignore b/.gitignore index 1e5489a..0412cb1 100644 --- a/.gitignore +++ b/.gitignore @@ -71,6 +71,3 @@ $RECYCLE.BIN/ _NCrunch_* .*crunch*.local.xml nCrunchTemp_* -/mcpdotnet.v3.ncrunchsolution -/.NCrunch_mcpdotnet -*.ncrunchproject diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 615b9ce..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,133 +0,0 @@ - -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, caste, color, religion, or sexual -identity and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the overall - community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or advances of - any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email address, - without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official email address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -mcpdotnet.conduct@gmail.com. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series of -actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or permanent -ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within the -community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. - -Community Impact Guidelines were inspired by -[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. - -For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. - -[homepage]: https://www.contributor-covenant.org -[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html -[Mozilla CoC]: https://github.com/mozilla/diversity -[FAQ]: https://www.contributor-covenant.org/faq -[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index e34a5e9..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,43 +0,0 @@ -# Contributing to mcpdotnet - -Thank you for your interest in contributing to mcpdotnet! This project is in its early stages, and we welcome contributions from the community. - -## Getting Started - -1. Fork the repository -2. Clone your fork: `git clone https://github.com/yourusername/mcpdotnet.git` -3. Create a branch: `git checkout -b your-feature-name` - -## Prerequisites - -- .NET 8.0 SDK or later -- Your favorite IDE (Visual Studio 2022, VS Code, Rider, etc.) - -## Development Process - -1. Write your code -2. Add tests for your changes -3. Ensure all tests pass -4. Update documentation if needed -5. Submit a pull request - -## Coding Guidelines - -- Follow standard C# coding conventions -- Use meaningful variable and method names -- Write XML documentation comments for public APIs -- Keep methods focused and concise - -## Pull Request Process - -1. Update the README.md with details of changes if needed -2. Follow the PR template -3. Wait for review from maintainers - -## Code of Conduct - -Please note that this project adheres to a Code of Conduct. By participating, you agree to uphold this code. - -## Questions? - -Feel free to open an issue for any questions or concerns. \ No newline at end of file diff --git a/GitVersion.yml b/GitVersion.yml deleted file mode 100644 index b219700..0000000 --- a/GitVersion.yml +++ /dev/null @@ -1,2 +0,0 @@ -mode: ContinuousDeployment -commit-message-incrementing: Disabled \ No newline at end of file diff --git a/LICENSE b/LICENSE index 342f471..5264c5b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Peder Holdgaard Pedersen +Copyright (c) 2025 the original author or authors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/mcpdotnet.sln b/ModelContextProtocol.sln similarity index 71% rename from mcpdotnet.sln rename to ModelContextProtocol.sln index 818e0e8..16a1c4e 100644 --- a/mcpdotnet.sln +++ b/ModelContextProtocol.sln @@ -3,17 +3,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.13.35507.96 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mcpdotnet", "src\mcpdotnet\mcpdotnet.csproj", "{12260CD2-AFFC-4B2E-8898-F442CAA1FA0F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelContextProtocol", "src\ModelContextProtocol\ModelContextProtocol.csproj", "{12260CD2-AFFC-4B2E-8898-F442CAA1FA0F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mcpdotnet.Tests", "tests\mcpdotnet.Tests\mcpdotnet.Tests.csproj", "{FF41F619-833D-4FA2-8C53-04D0A1D5AA61}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelContextProtocol.Tests", "tests\ModelContextProtocol.Tests\ModelContextProtocol.Tests.csproj", "{FF41F619-833D-4FA2-8C53-04D0A1D5AA61}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MEAIToolsConsole", "samples\microsoft.extensions.ai\tools\ToolsConsole\MEAIToolsConsole.csproj", "{76E295FA-9E85-7B99-332A-2CDBFCD5860A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnthropicToolsConsole", "samples\anthropic\tools\ToolsConsole\AnthropicToolsConsole.csproj", "{CA0BB450-1903-2F92-A68D-1285976551D6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mcpdotnet.TestServer", "tests\mcpdotnet.TestServer\mcpdotnet.TestServer.csproj", "{7C229573-A085-4ECC-8131-958CDA2BE731}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "McpDotNet.Extensions.AI", "src\McpDotNet.Extensions.AI\McpDotNet.Extensions.AI.csproj", "{B3E019B8-3459-4D52-864E-703DDA2C02AD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelContextProtocol.TestServer", "tests\ModelContextProtocol.TestServer\ModelContextProtocol.TestServer.csproj", "{7C229573-A085-4ECC-8131-958CDA2BE731}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestServerWithHosting", "samples\TestServerWithHosting\TestServerWithHosting.csproj", "{6499876E-2F76-44A8-B6EB-5B889C6E9B7F}" EndProject @@ -21,10 +19,26 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{02EA EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{2A77AF5C-138A-4EBB-9A13-9205DCD67928}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mcpdotnet.TestSseServer", "tests\mcpdotnet.TestSseServer\mcpdotnet.TestSseServer.csproj", "{79B94BF9-E557-33DB-3F19-B2C7D9BF8C56}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelContextProtocol.TestSseServer", "tests\ModelContextProtocol.TestSseServer\ModelContextProtocol.TestSseServer.csproj", "{79B94BF9-E557-33DB-3F19-B2C7D9BF8C56}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNetCoreSseServer", "samples\AspNetCoreSseServer\AspNetCoreSseServer.csproj", "{B6F42305-423F-56FF-090F-B7263547F924}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{A2F1F52A-9107-4BF8-8C3F-2F6670E7D0AD}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B6FB2B28-D5DE-4654-BE9A-45E305DE4852}" + ProjectSection(SolutionItems) = preProject + global.json = global.json + LICENSE = LICENSE + README.MD = README.MD + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{1288ADA5-1BF1-4A7F-A33E-9EA29097AA40}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{20AACB9B-307D-419C-BCC6-1C639C402295}" + ProjectSection(SolutionItems) = preProject + .github\workflows\ci.yml = .github\workflows\ci.yml + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -51,10 +65,6 @@ Global {7C229573-A085-4ECC-8131-958CDA2BE731}.Debug|Any CPU.Build.0 = Debug|Any CPU {7C229573-A085-4ECC-8131-958CDA2BE731}.Release|Any CPU.ActiveCfg = Release|Any CPU {7C229573-A085-4ECC-8131-958CDA2BE731}.Release|Any CPU.Build.0 = Release|Any CPU - {B3E019B8-3459-4D52-864E-703DDA2C02AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B3E019B8-3459-4D52-864E-703DDA2C02AD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B3E019B8-3459-4D52-864E-703DDA2C02AD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B3E019B8-3459-4D52-864E-703DDA2C02AD}.Release|Any CPU.Build.0 = Release|Any CPU {6499876E-2F76-44A8-B6EB-5B889C6E9B7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6499876E-2F76-44A8-B6EB-5B889C6E9B7F}.Debug|Any CPU.Build.0 = Debug|Any CPU {6499876E-2F76-44A8-B6EB-5B889C6E9B7F}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -72,12 +82,15 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution + {12260CD2-AFFC-4B2E-8898-F442CAA1FA0F} = {A2F1F52A-9107-4BF8-8C3F-2F6670E7D0AD} {FF41F619-833D-4FA2-8C53-04D0A1D5AA61} = {2A77AF5C-138A-4EBB-9A13-9205DCD67928} {76E295FA-9E85-7B99-332A-2CDBFCD5860A} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} {CA0BB450-1903-2F92-A68D-1285976551D6} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} - {7C229573-A085-4ECC-8131-958CDA2BE731} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {7C229573-A085-4ECC-8131-958CDA2BE731} = {2A77AF5C-138A-4EBB-9A13-9205DCD67928} {6499876E-2F76-44A8-B6EB-5B889C6E9B7F} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {79B94BF9-E557-33DB-3F19-B2C7D9BF8C56} = {2A77AF5C-138A-4EBB-9A13-9205DCD67928} {B6F42305-423F-56FF-090F-B7263547F924} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {20AACB9B-307D-419C-BCC6-1C639C402295} = {1288ADA5-1BF1-4A7F-A33E-9EA29097AA40} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {384A3888-751F-4D75-9AE5-587330582D89} diff --git a/README.MD b/README.MD index f1adf8b..3982134 100644 --- a/README.MD +++ b/README.MD @@ -1,16 +1,9 @@ -# mcpdotnet -[![NuGet version](https://img.shields.io/nuget/v/mcpdotnet.svg)](https://www.nuget.org/packages/mcpdotnet/) -![Build](https://github.com/PederHP/mcpdotnet/actions/workflows/ci.yml/badge.svg?branch=main) -[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) +# MCP .NET SDK -[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=PederHP_mcpdotnet&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet) -[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=PederHP_mcpdotnet&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet) -[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=PederHP_mcpdotnet&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet) -[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=PederHP_mcpdotnet&metric=bugs)](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet) -[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=PederHP_mcpdotnet&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet) -[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=PederHP_mcpdotnet&metric=coverage)](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet) +The official .NET SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications to connect to and interact with MCP clients and servers. -A .NET implementation of the Model Context Protocol (MCP), enabling .NET applications to connect to and interact with MCP clients and servers. +> [!NOTE] +> This repo is still in preview, breaking changes can be introduced without prior notice. ## About MCP @@ -21,17 +14,6 @@ For more information about MCP: - [Protocol Specification](https://spec.modelcontextprotocol.io/) - [GitHub Organization](https://github.com/modelcontextprotocol) -## Available Packages - -| Package | Description | Documentation | -|---------|-------------|---------------| -| [mcpdotnet](src/mcpdotnet) | Core MCP implementation for .NET | [README](README.md) | -| [McpDotNet.Extensions.AI](src/McpDotNet.Extensions.AI) | Integration with Microsoft.Extensions.AI | [README](src/McpDotNet.Extensions.AI/README.md) | - -## Design Goals - -This library aims to provide a clean, specification-compliant implementation of the MCP protocol, with minimal additional abstraction. While transport implementations necessarily include additional code, they follow patterns established by the official SDKs where possible. - ## Features - MCP implementation for .NET applications @@ -40,18 +22,11 @@ This library aims to provide a clean, specification-compliant implementation of - Support for all MCP capabilities: Tool, Resource, Prompt, Sampling, Roots - Support for the Completion utility capability - Support for server instructions, pagination and notifications -- Async/await pattern throughout - Comprehensive logging support - Compatible with .NET 8.0 and later ## Getting Started (Client) -To use mcpdotnet, first install it via NuGet: - -```powershell -dotnet add package mcpdotnet -``` - Then create a client and start using tools, or other capabilities, from the servers you configure: ```csharp McpClientOptions options = new() @@ -93,11 +68,11 @@ Note that you should pass CancellationToken objects suitable for your use case, It is also highly recommended that you pass a proper LoggerFactory instance to the factory constructor, to enable logging of MCP client operations. -You can find samples demonstrating how to use mcpdotnet with an LLM SDK in the [samples](samples) directory, and also refer to the [IntegrationTests](test/McpDotNet.IntegrationTests) project for more examples. +You can find samples demonstrating how to use ModelContextProtocol with an LLM SDK in the [samples](samples) directory, and also refer to the [IntegrationTests](test/ModelContextProtocol.IntegrationTests) project for more examples. Additional examples and documentation will be added as in the near future. -Remember you can connect to any MCP server, not just ones created using mcpdotnet. The protocol is designed to be server-agnostic, so you can use this library to connect to any compliant server. +Remember you can connect to any MCP server, not just ones created using ModelContextProtocol. The protocol is designed to be server-agnostic, so you can use this library to connect to any compliant server. Tools can be exposed easily as `AIFunction` instances so that they are immediately usable with `IChatClient`s. ```csharp @@ -122,8 +97,8 @@ the employed overload of `WithTools` examines the current assembly for classes w `McpTool` attribute as tools.) ```csharp -using McpDotNet; -using McpDotNet.Server; +using ModelContextProtocol; +using ModelContextProtocol.Server; using Microsoft.Extensions.Hosting; using System.ComponentModel; @@ -144,9 +119,9 @@ public static class EchoTool More control is also available, with fine-grained control over configuring the server and how it should handle client requests. For example: ```csharp -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; using Microsoft.Extensions.Logging.Abstractions; McpServerOptions options = new() @@ -208,18 +183,6 @@ await server.StartAsync(); await Task.Delay(Timeout.Infinite); ``` -## Roadmap - -- Expand documentation with detailed guides for: - - Advanced scenarios (Sampling, Resources, Prompts) - - Transport configuration - - Error handling and recovery -- Increase test coverage -- Add additional samples and examples -- Performance optimization -- SSE server support -- Authentication - ## License -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. +This project is licensed under the [MIT License](LICENSE). diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 9baf236..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,13 +0,0 @@ -# Security Policy - -The mcpdotnet team takes security vulnerabilities seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions. - -To report a security issue, please use the GitHub Security Advisory ["Report a Vulnerability"](https://github.com/PederHP/mcpdotnet/security/advisories/new) tab. - -**Please do not report security vulnerabilities through public issues, discussions, or change requests.** - -## Supported Versions - -Please note that mcpdotnet is currently in Early Development and versions are pre-release. We strongly advise against including mcpdotnet in production systems at this time. - -We will list supported versions here once the project is further along in development. \ No newline at end of file diff --git a/TODO.md b/TODO.md deleted file mode 100644 index 2a5b36c..0000000 --- a/TODO.md +++ /dev/null @@ -1,18 +0,0 @@ -# TODOs for mcpdotnet - -## Integration Testing -- Add comprehensive Roots feature testing once reference servers implement support - - Consider using everything server adding `listRoots` tool) -- Add integration tests similar to Sampling tests -- Verify roots notification handling -- Expand SSE test server to support all features or use a reference SSE server if one becomes available - -## Future Improvements -- [X] Add HTTPS/SSE transport support -- [ ] Add more example applications showing different capabilities -- [ ] Add comprehensive documentation for advanced scenarios -- [ ] Profile and optimize performance -- [ ] Linux support in stdio transport - -## Code Improvements -- [ ] Consolidate notification handling in McpClient to reduce duplication between SendNotificationAsync overloads \ No newline at end of file diff --git a/build.cake b/build.cake deleted file mode 100644 index 80b814b..0000000 --- a/build.cake +++ /dev/null @@ -1,179 +0,0 @@ -#tool "dotnet:?package=GitVersion.Tool&version=6.1.0" -#tool "nuget:?package=dotnet-sonarscanner&version=9.2.1" - -#addin "nuget:?package=Cake.Sonar&version=1.1.33" - -var target = Argument("target", "Default"); -var sonarLoginToken = Argument("sonarLogin", EnvironmentVariable("SONAR_LOGIN") ?? ""); -var nugetApiKey = Argument("nugetApiKey", EnvironmentVariable("NUGET_API_KEY") ?? ""); - -////////////////////////////////////////////////////////////////////// -// Build Variables -///////////////////////////////////////////////////////////////////// -var solution = "./mcpdotnet.sln"; -var project = "./src/mcpdotnet.csproj"; -var outputDir = MakeAbsolute(Directory("./buildArtifacts/")); -var outputDirNuget = outputDir.Combine("NuGet"); -var sonarProjectKey = "PederHP_mcpdotnet"; -var sonarUrl = "https://sonarcloud.io"; -var sonarOrganization = "pederhp"; - -var outputDirTemp = outputDir.Combine("Temp"); -var outputDirTests = outputDirTemp.Combine("Tests"); - -var codeCoverageResultFilePath = MakeAbsolute(outputDirTests).Combine("**/").CombineWithFilePath("coverage.opencover.xml"); -var testResultsPath = MakeAbsolute(outputDirTests).CombineWithFilePath("*.trx"); - -var nugetPublishFeed = "https://api.nuget.org/v3/index.json"; - -var isLocalBuild = BuildSystem.IsLocalBuild; -var isMainBranch = StringComparer.OrdinalIgnoreCase.Equals("refs/heads/main", BuildSystem.GitHubActions.Environment.Workflow.Ref); -var isPullRequest = BuildSystem.GitHubActions.Environment.PullRequest.IsPullRequest; -var runSonar = !string.IsNullOrWhiteSpace(sonarLoginToken); - -var gitHubEvent = EnvironmentVariable("GITHUB_EVENT_NAME"); -var isReleaseCreation = string.Equals(gitHubEvent, "release"); -GitVersion versionInfo = null; - -////////////////////////////////////////////////////////////////////// -// TASKS -////////////////////////////////////////////////////////////////////// - -Setup(context => -{ - Information($"Local build: {isLocalBuild}"); - Information($"Main branch: {isMainBranch}"); - Information($"Pull request: {isPullRequest}"); - Information($"Run sonar: {runSonar}"); - Information($"ref: {BuildSystem.GitHubActions.Environment.Workflow.Ref}"); - Information($"Is release creation: {isReleaseCreation}"); -}); - -Task("Clean") - .Description("Removes the output directory") - .Does(() => - { - - EnsureDirectoryDoesNotExist(outputDir, new DeleteDirectorySettings - { - Recursive = true, - Force = true - }); - CreateDirectory(outputDir); - }); - - -Task("Version") - .Description("Retrieves the current version from the git repository") - .Does(() => - { - versionInfo = GitVersion(new GitVersionSettings - { - UpdateAssemblyInfo = false - }); - - Information("Version: " + versionInfo.FullSemVer); - }); - -Task("Build") - .IsDependentOn("Clean") - .IsDependentOn("Version") - .Does(() => - { - var msBuildSettings = new DotNetMSBuildSettings() - { - Version = versionInfo.AssemblySemVer, - InformationalVersion = versionInfo.InformationalVersion, - PackageVersion = versionInfo.SemVer - }.WithProperty("PackageOutputPath", outputDirNuget.FullPath); - - var settings = new DotNetBuildSettings - { - Configuration = "Release", - MSBuildSettings = msBuildSettings - }; - - DotNetBuild(solution, settings); - }); - -Task("Test") - .IsDependentOn("Build") - .Does(() => - { - var settings = new DotNetTestSettings - { - Configuration = "Release", - Loggers = new[] { "trx;" }, - ResultsDirectory = outputDirTests, - Collectors = new[] { "XPlat Code Coverage" }, - Filter = "(Execution!=Manual)", - ArgumentCustomization = a => a.Append("-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=opencover"), - NoBuild = true - }; - - DotNetTest(solution, settings); - }); - -Task("SonarBegin") - .WithCriteria(runSonar) - .Does(() => - { - SonarBegin(new SonarBeginSettings - { - Key = sonarProjectKey, - Url = sonarUrl, - Organization = sonarOrganization, - Token = sonarLoginToken, - UseCoreClr = true, - VsTestReportsPath = testResultsPath.ToString(), - OpenCoverReportsPath = codeCoverageResultFilePath.ToString() - }); - }); - -Task("SonarEnd") - .WithCriteria(runSonar) - .Does(() => - { - SonarEnd(new SonarEndSettings - { - Token = sonarLoginToken - }); - }); - -Task("Publish") - .WithCriteria(isReleaseCreation) - .IsDependentOn("Test") - .IsDependentOn("Version") - .Description("Pushes the created NuGet packages to nuget.org") - .Does(() => - { - Information($"Upload packages from {outputDirNuget.FullPath}"); - - // Get the paths to the packages ordered by the file names in order to get the nupkg first. - var packages = GetFiles(outputDirNuget.CombineWithFilePath("*.*nupkg").ToString()).OrderBy(x => x.FullPath).ToArray(); - - if (packages.Length == 0) - { - Error("No packages found to upload"); - return; - } - - // Push the package and symbols - foreach (var package in packages) - { - DotNetNuGetPush(package, new DotNetNuGetPushSettings - { - Source = nugetPublishFeed, - ApiKey = nugetApiKey, - SkipDuplicate = true - }); - } - }); - -Task("Default") - .IsDependentOn("SonarBegin") - .IsDependentOn("Test") - .IsDependentOn("SonarEnd") - .IsDependentOn("Publish"); - -RunTarget(target); \ No newline at end of file diff --git a/build.ps1 b/build.ps1 deleted file mode 100644 index 21821d2..0000000 --- a/build.ps1 +++ /dev/null @@ -1,13 +0,0 @@ -$ErrorActionPreference = 'Stop' - -Set-Location -LiteralPath $PSScriptRoot - -$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = '1' -$env:DOTNET_CLI_TELEMETRY_OPTOUT = '1' -$env:DOTNET_NOLOGO = '1' - -dotnet tool restore -if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } - -dotnet cake @args -if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } diff --git a/build.sh b/build.sh deleted file mode 100755 index 31be886..0000000 --- a/build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash -set -euox pipefail - -cd "$(dirname "${BASH_SOURCE[0]}")" - -export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 -export DOTNET_CLI_TELEMETRY_OPTOUT=1 -export DOTNET_NOLOGO=1 - -dotnet tool restore - -dotnet cake "$@" diff --git a/global.json b/global.json new file mode 100644 index 0000000..098e4a8 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "9.0.201", + "rollForward": "minor" + } +} \ No newline at end of file diff --git a/samples/AspNetCoreSseServer/AspNetCoreSseServer.csproj b/samples/AspNetCoreSseServer/AspNetCoreSseServer.csproj index 5fc6fc9..601af56 100644 --- a/samples/AspNetCoreSseServer/AspNetCoreSseServer.csproj +++ b/samples/AspNetCoreSseServer/AspNetCoreSseServer.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/AspNetCoreSseServer/McpEndpointRouteBuilderExtensions.cs b/samples/AspNetCoreSseServer/McpEndpointRouteBuilderExtensions.cs index 7b5060f..6329d61 100644 --- a/samples/AspNetCoreSseServer/McpEndpointRouteBuilderExtensions.cs +++ b/samples/AspNetCoreSseServer/McpEndpointRouteBuilderExtensions.cs @@ -1,6 +1,6 @@ -using McpDotNet.Protocol.Messages; -using McpDotNet.Server; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Server; +using ModelContextProtocol.Utils.Json; using Microsoft.Extensions.Options; namespace AspNetCoreSseServer; diff --git a/samples/AspNetCoreSseServer/Program.cs b/samples/AspNetCoreSseServer/Program.cs index 1a4d9a3..9e210d8 100644 --- a/samples/AspNetCoreSseServer/Program.cs +++ b/samples/AspNetCoreSseServer/Program.cs @@ -1,4 +1,4 @@ -using McpDotNet; +using ModelContextProtocol; using AspNetCoreSseServer; var builder = WebApplication.CreateBuilder(args); diff --git a/samples/AspNetCoreSseServer/SseServerStreamTransport.cs b/samples/AspNetCoreSseServer/SseServerStreamTransport.cs index c8d5331..a644761 100644 --- a/samples/AspNetCoreSseServer/SseServerStreamTransport.cs +++ b/samples/AspNetCoreSseServer/SseServerStreamTransport.cs @@ -2,9 +2,9 @@ using System.Net.ServerSentEvents; using System.Text.Json; using System.Threading.Channels; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Utils.Json; namespace AspNetCoreSseServer; diff --git a/samples/AspNetCoreSseServer/Tools/EchoTool.cs b/samples/AspNetCoreSseServer/Tools/EchoTool.cs index 25c9f22..cb21cc5 100644 --- a/samples/AspNetCoreSseServer/Tools/EchoTool.cs +++ b/samples/AspNetCoreSseServer/Tools/EchoTool.cs @@ -1,4 +1,4 @@ -using McpDotNet.Server; +using ModelContextProtocol.Server; using System.ComponentModel; namespace TestServerWithHosting.Tools; diff --git a/samples/AspNetCoreSseServer/Tools/SampleLlmTool.cs b/samples/AspNetCoreSseServer/Tools/SampleLlmTool.cs index a49669f..44b59bc 100644 --- a/samples/AspNetCoreSseServer/Tools/SampleLlmTool.cs +++ b/samples/AspNetCoreSseServer/Tools/SampleLlmTool.cs @@ -1,5 +1,5 @@ -using McpDotNet.Protocol.Types; -using McpDotNet.Server; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; using System.ComponentModel; namespace TestServerWithHosting.Tools; diff --git a/samples/README.md b/samples/README.md index 2c543f0..4715337 100644 --- a/samples/README.md +++ b/samples/README.md @@ -1,6 +1,6 @@ # Samples -This directory contains example projects demonstrating how to use mcpdotnet with different LLM SDKs and platforms. +This directory contains example projects demonstrating how to use ModelContextProtocol with different LLM SDKs and platforms. ## Environment Setup @@ -13,14 +13,14 @@ Before running the samples, you'll need to set up the following environment vari ### Anthropic Integration -Located in `samples/anthropic`, this sample demonstrates integration with Anthropic's Claude API using mcpdotnet. The example shows how to: +Located in `samples/anthropic`, this sample demonstrates integration with Anthropic's Claude API using ModelContextProtocol. The example shows how to: - Configure an MCP client for use with Anthropic - Map between MCP protocol types and Anthropic SDK types - Handle tool invocations and responses ### Microsoft.Extensions.AI Integration -Located in `samples/microsoft.extensions.ai`, this sample shows how to use mcpdotnet with Microsoft's AI SDK. It demonstrates: +Located in `samples/microsoft.extensions.ai`, this sample shows how to use ModelContextProtocol with Microsoft's AI SDK. It demonstrates: - Setting up an MCP client with MEAI - Mapping MCP tools to MEAI function calls - Handling streaming responses and tool invocations @@ -38,4 +38,4 @@ The complexity of this mapping varies depending on how closely the SDK's design 3. Navigate to the desired sample directory 4. Run `dotnet run` to execute the sample -For more detailed examples of mcpdotnet usage, you can also refer to the integration tests in the `tests/McpDotNet.IntegrationTests` project. \ No newline at end of file +For more detailed examples of ModelContextProtocol usage, you can also refer to the integration tests in the `tests/ModelContextProtocol.IntegrationTests` project. \ No newline at end of file diff --git a/samples/TestServerWithHosting/Program.cs b/samples/TestServerWithHosting/Program.cs index 007a85b..1f74508 100644 --- a/samples/TestServerWithHosting/Program.cs +++ b/samples/TestServerWithHosting/Program.cs @@ -1,4 +1,4 @@ -using McpDotNet; +using ModelContextProtocol; using Microsoft.Extensions.Hosting; using Serilog; diff --git a/samples/TestServerWithHosting/TestServerWithHosting.csproj b/samples/TestServerWithHosting/TestServerWithHosting.csproj index 34fb993..3cd5eda 100644 --- a/samples/TestServerWithHosting/TestServerWithHosting.csproj +++ b/samples/TestServerWithHosting/TestServerWithHosting.csproj @@ -16,7 +16,7 @@ - + diff --git a/samples/TestServerWithHosting/Tools/EchoTool.cs b/samples/TestServerWithHosting/Tools/EchoTool.cs index 25c9f22..cb21cc5 100644 --- a/samples/TestServerWithHosting/Tools/EchoTool.cs +++ b/samples/TestServerWithHosting/Tools/EchoTool.cs @@ -1,4 +1,4 @@ -using McpDotNet.Server; +using ModelContextProtocol.Server; using System.ComponentModel; namespace TestServerWithHosting.Tools; diff --git a/samples/TestServerWithHosting/Tools/SampleLlmTool.cs b/samples/TestServerWithHosting/Tools/SampleLlmTool.cs index a49669f..44b59bc 100644 --- a/samples/TestServerWithHosting/Tools/SampleLlmTool.cs +++ b/samples/TestServerWithHosting/Tools/SampleLlmTool.cs @@ -1,5 +1,5 @@ -using McpDotNet.Protocol.Types; -using McpDotNet.Server; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; using System.ComponentModel; namespace TestServerWithHosting.Tools; diff --git a/samples/anthropic/tools/ToolsConsole/AnthropicToolsConsole.csproj b/samples/anthropic/tools/ToolsConsole/AnthropicToolsConsole.csproj index 8fb37b2..e0924d4 100644 --- a/samples/anthropic/tools/ToolsConsole/AnthropicToolsConsole.csproj +++ b/samples/anthropic/tools/ToolsConsole/AnthropicToolsConsole.csproj @@ -13,7 +13,7 @@ - + diff --git a/samples/anthropic/tools/ToolsConsole/McpToolExtensions.cs b/samples/anthropic/tools/ToolsConsole/McpToolExtensions.cs index e299682..486bb62 100644 --- a/samples/anthropic/tools/ToolsConsole/McpToolExtensions.cs +++ b/samples/anthropic/tools/ToolsConsole/McpToolExtensions.cs @@ -2,11 +2,11 @@ using System.Text.Json; using System.Text.Json.Nodes; -namespace McpDotNet; +namespace ModelContextProtocol; public static class McpToolExtensions { - public static IList ToAnthropicTools(this IEnumerable tools) + public static IList ToAnthropicTools(this IEnumerable tools) { if (tools is null) { diff --git a/samples/anthropic/tools/ToolsConsole/Program.cs b/samples/anthropic/tools/ToolsConsole/Program.cs index ba7cbc3..dcd249e 100644 --- a/samples/anthropic/tools/ToolsConsole/Program.cs +++ b/samples/anthropic/tools/ToolsConsole/Program.cs @@ -1,10 +1,10 @@ using Anthropic.SDK; using Anthropic.SDK.Constants; using Anthropic.SDK.Messaging; -using McpDotNet; -using McpDotNet.Client; -using McpDotNet.Configuration; -using McpDotNet.Protocol.Transport; +using ModelContextProtocol; +using ModelContextProtocol.Client; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Transport; internal class Program { diff --git a/samples/microsoft.extensions.ai/tools/ToolsConsole/MEAIToolsConsole.csproj b/samples/microsoft.extensions.ai/tools/ToolsConsole/MEAIToolsConsole.csproj index decc435..6aeea65 100644 --- a/samples/microsoft.extensions.ai/tools/ToolsConsole/MEAIToolsConsole.csproj +++ b/samples/microsoft.extensions.ai/tools/ToolsConsole/MEAIToolsConsole.csproj @@ -14,8 +14,7 @@ - - + diff --git a/samples/microsoft.extensions.ai/tools/ToolsConsole/Program.cs b/samples/microsoft.extensions.ai/tools/ToolsConsole/Program.cs index fec8463..803a605 100644 --- a/samples/microsoft.extensions.ai/tools/ToolsConsole/Program.cs +++ b/samples/microsoft.extensions.ai/tools/ToolsConsole/Program.cs @@ -1,6 +1,6 @@ -using McpDotNet.Client; -using McpDotNet.Configuration; -using McpDotNet.Protocol.Transport; +using ModelContextProtocol.Client; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Transport; using Microsoft.Extensions.AI; using OpenAI; diff --git a/src/McpDotNet.Extensions.AI/McpDotNet.Extensions.AI.csproj b/src/McpDotNet.Extensions.AI/McpDotNet.Extensions.AI.csproj deleted file mode 100644 index da22226..0000000 --- a/src/McpDotNet.Extensions.AI/McpDotNet.Extensions.AI.csproj +++ /dev/null @@ -1,48 +0,0 @@ - - - - net8.0;netstandard2.0 - enable - enable - Latest - true - All - - - - true - - - - - McpDotNet.Extensions.AI - 1.1.0.1 - PederHP - Microsoft.Extensions.AI integration for the Model Context Protocol (MCP). Enables seamless use of MCP tools as AI functions in any IChatClient implementation. - https://github.com/PederHP/mcpdotnet/tree/main/src/McpDotNet.Extensions.AI - https://github.com/PederHP/mcpdotnet - git - mcp;ai;microsoft-extensions-ai;chatclient;llm - README.md - MIT - - McpDotNet.Extensions.AI - McpDotNet.Extensions.AI - true - true - snupkg - - - - - - - - - - - - - - - diff --git a/src/McpDotNet.Extensions.AI/README.md b/src/McpDotNet.Extensions.AI/README.md deleted file mode 100644 index 72e00ca..0000000 --- a/src/McpDotNet.Extensions.AI/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# McpDotNet.Extensions.AI -[![NuGet version](https://img.shields.io/nuget/v/McpDotNet.Extensions.AI.svg)](https://www.nuget.org/packages/McpDotNet.Extensions.AI/) - -This package is deprecated and no longer needed. The functionality it exposes is part of the core mcpdotnet library. Please remove references to it. \ No newline at end of file diff --git a/src/mcpdotnet/Client/IMcpClient.cs b/src/ModelContextProtocol/Client/IMcpClient.cs similarity index 95% rename from src/mcpdotnet/Client/IMcpClient.cs rename to src/ModelContextProtocol/Client/IMcpClient.cs index f160041..6761c4e 100644 --- a/src/mcpdotnet/Client/IMcpClient.cs +++ b/src/ModelContextProtocol/Client/IMcpClient.cs @@ -1,7 +1,7 @@ -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Types; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Types; -namespace McpDotNet.Client; +namespace ModelContextProtocol.Client; /// /// Represents an instance of an MCP client connecting to a specific server. diff --git a/src/mcpdotnet/Client/McpClient.cs b/src/ModelContextProtocol/Client/McpClient.cs similarity index 95% rename from src/mcpdotnet/Client/McpClient.cs rename to src/ModelContextProtocol/Client/McpClient.cs index c5f6149..ebde5bb 100644 --- a/src/mcpdotnet/Client/McpClient.cs +++ b/src/ModelContextProtocol/Client/McpClient.cs @@ -1,15 +1,15 @@ -using McpDotNet.Configuration; -using McpDotNet.Logging; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; -using McpDotNet.Shared; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Logging; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Shared; +using ModelContextProtocol.Utils.Json; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using System.Text.Json; -namespace McpDotNet.Client; +namespace ModelContextProtocol.Client; /// internal sealed class McpClient : McpJsonRpcEndpoint, IMcpClient diff --git a/src/mcpdotnet/Client/McpClientException.cs b/src/ModelContextProtocol/Client/McpClientException.cs similarity index 97% rename from src/mcpdotnet/Client/McpClientException.cs rename to src/ModelContextProtocol/Client/McpClientException.cs index 5a39dfb..8f19862 100644 --- a/src/mcpdotnet/Client/McpClientException.cs +++ b/src/ModelContextProtocol/Client/McpClientException.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Client; +namespace ModelContextProtocol.Client; /// /// Represents errors that occur in the MCP client. diff --git a/src/mcpdotnet/Client/McpClientExtensions.cs b/src/ModelContextProtocol/Client/McpClientExtensions.cs similarity index 99% rename from src/mcpdotnet/Client/McpClientExtensions.cs rename to src/ModelContextProtocol/Client/McpClientExtensions.cs index 1f0da00..5fb0fa8 100644 --- a/src/mcpdotnet/Client/McpClientExtensions.cs +++ b/src/ModelContextProtocol/Client/McpClientExtensions.cs @@ -1,14 +1,14 @@ -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Types; -using McpDotNet.Utils; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Utils; +using ModelContextProtocol.Utils.Json; using Microsoft.Extensions.AI; using System.Runtime.CompilerServices; using System.Text.Json; #pragma warning disable CA1508 // Avoid dead conditional code -namespace McpDotNet.Client; +namespace ModelContextProtocol.Client; /// /// Provides extensions for operating on MCP clients. diff --git a/src/mcpdotnet/Client/McpClientFactory.cs b/src/ModelContextProtocol/Client/McpClientFactory.cs similarity index 97% rename from src/mcpdotnet/Client/McpClientFactory.cs rename to src/ModelContextProtocol/Client/McpClientFactory.cs index 8f499fb..0fdbc3f 100644 --- a/src/mcpdotnet/Client/McpClientFactory.cs +++ b/src/ModelContextProtocol/Client/McpClientFactory.cs @@ -1,13 +1,13 @@ using System.Globalization; using System.Runtime.InteropServices; -using McpDotNet.Configuration; -using McpDotNet.Logging; -using McpDotNet.Protocol.Transport; -using McpDotNet.Utils; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Logging; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Utils; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -namespace McpDotNet.Client; +namespace ModelContextProtocol.Client; /// Provides factory methods for creating MCP clients. public static class McpClientFactory diff --git a/src/mcpdotnet/Client/McpClientOptions.cs b/src/ModelContextProtocol/Client/McpClientOptions.cs similarity index 92% rename from src/mcpdotnet/Client/McpClientOptions.cs rename to src/ModelContextProtocol/Client/McpClientOptions.cs index 5c54b93..9b070e9 100644 --- a/src/mcpdotnet/Client/McpClientOptions.cs +++ b/src/ModelContextProtocol/Client/McpClientOptions.cs @@ -1,6 +1,6 @@ -using McpDotNet.Protocol.Types; +using ModelContextProtocol.Protocol.Types; -namespace McpDotNet.Client; +namespace ModelContextProtocol.Client; /// /// Configuration options for the MCP client. This is passed to servers during the initialization sequence, letting them know about the client's capabilities and diff --git a/src/mcpdotnet/Configuration/DefaultMcpServerBuilder.cs b/src/ModelContextProtocol/Configuration/DefaultMcpServerBuilder.cs similarity index 88% rename from src/mcpdotnet/Configuration/DefaultMcpServerBuilder.cs rename to src/ModelContextProtocol/Configuration/DefaultMcpServerBuilder.cs index 5bcea8d..ed686ea 100644 --- a/src/mcpdotnet/Configuration/DefaultMcpServerBuilder.cs +++ b/src/ModelContextProtocol/Configuration/DefaultMcpServerBuilder.cs @@ -1,7 +1,7 @@ -using McpDotNet.Utils; +using ModelContextProtocol.Utils; using Microsoft.Extensions.DependencyInjection; -namespace McpDotNet.Configuration; +namespace ModelContextProtocol.Configuration; /// /// Default implementation of . diff --git a/src/mcpdotnet/Configuration/IMcpServerBuilder.cs b/src/ModelContextProtocol/Configuration/IMcpServerBuilder.cs similarity index 77% rename from src/mcpdotnet/Configuration/IMcpServerBuilder.cs rename to src/ModelContextProtocol/Configuration/IMcpServerBuilder.cs index 163b039..219bd41 100644 --- a/src/mcpdotnet/Configuration/IMcpServerBuilder.cs +++ b/src/ModelContextProtocol/Configuration/IMcpServerBuilder.cs @@ -1,7 +1,7 @@ -using McpDotNet.Server; +using ModelContextProtocol.Server; using Microsoft.Extensions.DependencyInjection; -namespace McpDotNet.Configuration; +namespace ModelContextProtocol.Configuration; /// /// Builder for configuring instances. diff --git a/src/mcpdotnet/Configuration/McpServerBuilderExtensions.Handler.cs b/src/ModelContextProtocol/Configuration/McpServerBuilderExtensions.Handler.cs similarity index 96% rename from src/mcpdotnet/Configuration/McpServerBuilderExtensions.Handler.cs rename to src/ModelContextProtocol/Configuration/McpServerBuilderExtensions.Handler.cs index 49ea259..6e88992 100644 --- a/src/mcpdotnet/Configuration/McpServerBuilderExtensions.Handler.cs +++ b/src/ModelContextProtocol/Configuration/McpServerBuilderExtensions.Handler.cs @@ -1,10 +1,10 @@ -using McpDotNet.Configuration; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; -using McpDotNet.Utils; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; +using ModelContextProtocol.Utils; using Microsoft.Extensions.DependencyInjection; -namespace McpDotNet; +namespace ModelContextProtocol; /// /// Extension to configure the MCP server with handlers diff --git a/src/mcpdotnet/Configuration/McpServerBuilderExtensions.Tools.cs b/src/ModelContextProtocol/Configuration/McpServerBuilderExtensions.Tools.cs similarity index 97% rename from src/mcpdotnet/Configuration/McpServerBuilderExtensions.Tools.cs rename to src/ModelContextProtocol/Configuration/McpServerBuilderExtensions.Tools.cs index a6cd52e..e148319 100644 --- a/src/mcpdotnet/Configuration/McpServerBuilderExtensions.Tools.cs +++ b/src/ModelContextProtocol/Configuration/McpServerBuilderExtensions.Tools.cs @@ -1,14 +1,14 @@ -using McpDotNet.Configuration; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; -using McpDotNet.Utils; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; +using ModelContextProtocol.Utils; +using ModelContextProtocol.Utils.Json; using Microsoft.Extensions.AI; using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Text.Json; -namespace McpDotNet; +namespace ModelContextProtocol; /// /// Extension to configure the MCP server with tools diff --git a/src/mcpdotnet/Configuration/McpServerBuilderExtensions.Transports.cs b/src/ModelContextProtocol/Configuration/McpServerBuilderExtensions.Transports.cs similarity index 86% rename from src/mcpdotnet/Configuration/McpServerBuilderExtensions.Transports.cs rename to src/ModelContextProtocol/Configuration/McpServerBuilderExtensions.Transports.cs index 147b9aa..178d824 100644 --- a/src/mcpdotnet/Configuration/McpServerBuilderExtensions.Transports.cs +++ b/src/ModelContextProtocol/Configuration/McpServerBuilderExtensions.Transports.cs @@ -1,10 +1,10 @@ -using McpDotNet.Configuration; -using McpDotNet.Hosting; -using McpDotNet.Protocol.Transport; -using McpDotNet.Utils; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Hosting; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Utils; using Microsoft.Extensions.DependencyInjection; -namespace McpDotNet; +namespace ModelContextProtocol; /// /// Extension to configure the MCP server with transports diff --git a/src/mcpdotnet/Configuration/McpServerConfig.cs b/src/ModelContextProtocol/Configuration/McpServerConfig.cs similarity index 95% rename from src/mcpdotnet/Configuration/McpServerConfig.cs rename to src/ModelContextProtocol/Configuration/McpServerConfig.cs index fe3fcec..71dcdb4 100644 --- a/src/mcpdotnet/Configuration/McpServerConfig.cs +++ b/src/ModelContextProtocol/Configuration/McpServerConfig.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Configuration; +namespace ModelContextProtocol.Configuration; /// /// Configuration for an MCP server connection. diff --git a/src/mcpdotnet/Configuration/McpServerOptionsSetup.cs b/src/ModelContextProtocol/Configuration/McpServerOptionsSetup.cs similarity index 84% rename from src/mcpdotnet/Configuration/McpServerOptionsSetup.cs rename to src/ModelContextProtocol/Configuration/McpServerOptionsSetup.cs index 50bc89d..1121726 100644 --- a/src/mcpdotnet/Configuration/McpServerOptionsSetup.cs +++ b/src/ModelContextProtocol/Configuration/McpServerOptionsSetup.cs @@ -1,9 +1,9 @@ using System.Reflection; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; using Microsoft.Extensions.Options; -namespace McpDotNet.Configuration; +namespace ModelContextProtocol.Configuration; internal sealed class McpServerOptionsSetup(IOptions serverHandlers) : IConfigureOptions { diff --git a/src/mcpdotnet/Configuration/McpServerServiceCollectionExtension.cs b/src/ModelContextProtocol/Configuration/McpServerServiceCollectionExtension.cs similarity index 89% rename from src/mcpdotnet/Configuration/McpServerServiceCollectionExtension.cs rename to src/ModelContextProtocol/Configuration/McpServerServiceCollectionExtension.cs index e90ed1a..767c144 100644 --- a/src/mcpdotnet/Configuration/McpServerServiceCollectionExtension.cs +++ b/src/ModelContextProtocol/Configuration/McpServerServiceCollectionExtension.cs @@ -1,11 +1,11 @@ -using McpDotNet.Configuration; -using McpDotNet.Protocol.Transport; -using McpDotNet.Server; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Server; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -namespace McpDotNet; +namespace ModelContextProtocol; /// /// Extension to host the MCP server diff --git a/src/mcpdotnet/Hosting/McpServerHostedService.cs b/src/ModelContextProtocol/Hosting/McpServerHostedService.cs similarity index 86% rename from src/mcpdotnet/Hosting/McpServerHostedService.cs rename to src/ModelContextProtocol/Hosting/McpServerHostedService.cs index fcb1666..8aa6218 100644 --- a/src/mcpdotnet/Hosting/McpServerHostedService.cs +++ b/src/ModelContextProtocol/Hosting/McpServerHostedService.cs @@ -1,8 +1,8 @@ -using McpDotNet.Server; -using McpDotNet.Utils; +using ModelContextProtocol.Server; +using ModelContextProtocol.Utils; using Microsoft.Extensions.Hosting; -namespace McpDotNet.Hosting; +namespace ModelContextProtocol.Hosting; /// /// Hosted service for the MCP server. diff --git a/src/mcpdotnet/Logging/Log.cs b/src/ModelContextProtocol/Logging/Log.cs similarity index 99% rename from src/mcpdotnet/Logging/Log.cs rename to src/ModelContextProtocol/Logging/Log.cs index 4092efe..7a240ee 100644 --- a/src/mcpdotnet/Logging/Log.cs +++ b/src/ModelContextProtocol/Logging/Log.cs @@ -1,10 +1,10 @@ -using McpDotNet.Protocol.Messages; +using ModelContextProtocol.Protocol.Messages; using Microsoft.Extensions.Logging; -namespace McpDotNet.Logging; +namespace ModelContextProtocol.Logging; /// -/// Logging methods for the McpDotNet library. +/// Logging methods for the ModelContextProtocol library. /// internal static partial class Log { diff --git a/src/mcpdotnet/mcpdotnet.csproj b/src/ModelContextProtocol/ModelContextProtocol.csproj similarity index 74% rename from src/mcpdotnet/mcpdotnet.csproj rename to src/ModelContextProtocol/ModelContextProtocol.csproj index 4e2ea9c..4e5b890 100644 --- a/src/mcpdotnet/mcpdotnet.csproj +++ b/src/ModelContextProtocol/ModelContextProtocol.csproj @@ -15,30 +15,23 @@ - mcpdotnet - 1.1.0.1 - PederHP - .NET library for the Model Context Protocol (MCP) - https://github.com/PederHP/mcpdotnet - https://github.com/PederHP/mcpdotnet + ModelContextProtocol + .NET SDK for the Model Context Protocol (MCP) + https://github.com/modelcontextprotocol/csharp-sdk + https://github.com/modelcontextprotocol/csharp-sdk git - mcp;ai;ModelContextProtocol;llm + ModelContextProtocol;mcp;ai;llm README.md MIT - mcpdotnet - McpDotNet + ModelContextProtocol true true snupkg - - - - - + diff --git a/src/mcpdotnet/Protocol/Messages/ErrorCodes.cs b/src/ModelContextProtocol/Protocol/Messages/ErrorCodes.cs similarity index 93% rename from src/mcpdotnet/Protocol/Messages/ErrorCodes.cs rename to src/ModelContextProtocol/Protocol/Messages/ErrorCodes.cs index d15df9f..6907199 100644 --- a/src/mcpdotnet/Protocol/Messages/ErrorCodes.cs +++ b/src/ModelContextProtocol/Protocol/Messages/ErrorCodes.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// Standard JSON-RPC error codes as defined in the MCP specification. diff --git a/src/mcpdotnet/Protocol/Messages/IJsonRpcMessage.cs b/src/ModelContextProtocol/Protocol/Messages/IJsonRpcMessage.cs similarity index 78% rename from src/mcpdotnet/Protocol/Messages/IJsonRpcMessage.cs rename to src/ModelContextProtocol/Protocol/Messages/IJsonRpcMessage.cs index 9fb9fab..8adf632 100644 --- a/src/mcpdotnet/Protocol/Messages/IJsonRpcMessage.cs +++ b/src/ModelContextProtocol/Protocol/Messages/IJsonRpcMessage.cs @@ -1,7 +1,7 @@ -using McpDotNet.Utils.Json; +using ModelContextProtocol.Utils.Json; using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// Base interface for all JSON-RPC messages in the MCP protocol. diff --git a/src/mcpdotnet/Protocol/Messages/IJsonRpcMessageWithId.cs b/src/ModelContextProtocol/Protocol/Messages/IJsonRpcMessageWithId.cs similarity index 82% rename from src/mcpdotnet/Protocol/Messages/IJsonRpcMessageWithId.cs rename to src/ModelContextProtocol/Protocol/Messages/IJsonRpcMessageWithId.cs index 8a53038..1d658b7 100644 --- a/src/mcpdotnet/Protocol/Messages/IJsonRpcMessageWithId.cs +++ b/src/ModelContextProtocol/Protocol/Messages/IJsonRpcMessageWithId.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// Base interface for JSON-RPC messages that include an ID. diff --git a/src/mcpdotnet/Protocol/Messages/JsonRpcError.cs b/src/ModelContextProtocol/Protocol/Messages/JsonRpcError.cs similarity index 93% rename from src/mcpdotnet/Protocol/Messages/JsonRpcError.cs rename to src/ModelContextProtocol/Protocol/Messages/JsonRpcError.cs index d7ee6fd..5b5f704 100644 --- a/src/mcpdotnet/Protocol/Messages/JsonRpcError.cs +++ b/src/ModelContextProtocol/Protocol/Messages/JsonRpcError.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// An error response message in the JSON-RPC protocol. diff --git a/src/mcpdotnet/Protocol/Messages/JsonRpcErrorDetail.cs b/src/ModelContextProtocol/Protocol/Messages/JsonRpcErrorDetail.cs similarity index 92% rename from src/mcpdotnet/Protocol/Messages/JsonRpcErrorDetail.cs rename to src/ModelContextProtocol/Protocol/Messages/JsonRpcErrorDetail.cs index 5b8a7cb..bf176b6 100644 --- a/src/mcpdotnet/Protocol/Messages/JsonRpcErrorDetail.cs +++ b/src/ModelContextProtocol/Protocol/Messages/JsonRpcErrorDetail.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// Detailed error information for JSON-RPC error responses. diff --git a/src/mcpdotnet/Protocol/Messages/JsonRpcMessage.cs b/src/ModelContextProtocol/Protocol/Messages/JsonRpcMessage.cs similarity index 94% rename from src/mcpdotnet/Protocol/Messages/JsonRpcMessage.cs rename to src/ModelContextProtocol/Protocol/Messages/JsonRpcMessage.cs index 2edb3a0..9de16b8 100644 --- a/src/mcpdotnet/Protocol/Messages/JsonRpcMessage.cs +++ b/src/ModelContextProtocol/Protocol/Messages/JsonRpcMessage.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// A request message in the JSON-RPC protocol. diff --git a/src/mcpdotnet/Protocol/Messages/JsonRpcNotification.cs b/src/ModelContextProtocol/Protocol/Messages/JsonRpcNotification.cs similarity index 93% rename from src/mcpdotnet/Protocol/Messages/JsonRpcNotification.cs rename to src/ModelContextProtocol/Protocol/Messages/JsonRpcNotification.cs index 1f271c5..3597737 100644 --- a/src/mcpdotnet/Protocol/Messages/JsonRpcNotification.cs +++ b/src/ModelContextProtocol/Protocol/Messages/JsonRpcNotification.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// A notification message in the JSON-RPC protocol (a request that doesn't expect a response). diff --git a/src/mcpdotnet/Protocol/Messages/JsonRpcResponse.cs b/src/ModelContextProtocol/Protocol/Messages/JsonRpcResponse.cs similarity index 93% rename from src/mcpdotnet/Protocol/Messages/JsonRpcResponse.cs rename to src/ModelContextProtocol/Protocol/Messages/JsonRpcResponse.cs index 67b0516..a5a1238 100644 --- a/src/mcpdotnet/Protocol/Messages/JsonRpcResponse.cs +++ b/src/ModelContextProtocol/Protocol/Messages/JsonRpcResponse.cs @@ -1,7 +1,7 @@  using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// A successful response message in the JSON-RPC protocol. /// diff --git a/src/mcpdotnet/Protocol/Messages/NotificationMethods.cs b/src/ModelContextProtocol/Protocol/Messages/NotificationMethods.cs similarity index 95% rename from src/mcpdotnet/Protocol/Messages/NotificationMethods.cs rename to src/ModelContextProtocol/Protocol/Messages/NotificationMethods.cs index 58ac701..063f503 100644 --- a/src/mcpdotnet/Protocol/Messages/NotificationMethods.cs +++ b/src/ModelContextProtocol/Protocol/Messages/NotificationMethods.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// A class containing constants for notification methods. diff --git a/src/mcpdotnet/Protocol/Messages/OperationNames.cs b/src/ModelContextProtocol/Protocol/Messages/OperationNames.cs similarity index 97% rename from src/mcpdotnet/Protocol/Messages/OperationNames.cs rename to src/ModelContextProtocol/Protocol/Messages/OperationNames.cs index 903256c..76f22d4 100644 --- a/src/mcpdotnet/Protocol/Messages/OperationNames.cs +++ b/src/ModelContextProtocol/Protocol/Messages/OperationNames.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// Provides names of standard operations for use with registering handlers. /// diff --git a/src/mcpdotnet/Protocol/Messages/PaginatedResult.cs b/src/ModelContextProtocol/Protocol/Messages/PaginatedResult.cs similarity index 85% rename from src/mcpdotnet/Protocol/Messages/PaginatedResult.cs rename to src/ModelContextProtocol/Protocol/Messages/PaginatedResult.cs index 6c71f66..3e7ebf3 100644 --- a/src/mcpdotnet/Protocol/Messages/PaginatedResult.cs +++ b/src/ModelContextProtocol/Protocol/Messages/PaginatedResult.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// A paginated result payload. diff --git a/src/mcpdotnet/Protocol/Messages/RequestId.cs b/src/ModelContextProtocol/Protocol/Messages/RequestId.cs similarity index 98% rename from src/mcpdotnet/Protocol/Messages/RequestId.cs rename to src/ModelContextProtocol/Protocol/Messages/RequestId.cs index 3f9617e..b6bdbb0 100644 --- a/src/mcpdotnet/Protocol/Messages/RequestId.cs +++ b/src/ModelContextProtocol/Protocol/Messages/RequestId.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// Represents a JSON-RPC request identifier which can be either a string or a number. diff --git a/src/mcpdotnet/Protocol/Messages/RequestIdConverter.cs b/src/ModelContextProtocol/Protocol/Messages/RequestIdConverter.cs similarity index 92% rename from src/mcpdotnet/Protocol/Messages/RequestIdConverter.cs rename to src/ModelContextProtocol/Protocol/Messages/RequestIdConverter.cs index 33b6d9e..2d67c31 100644 --- a/src/mcpdotnet/Protocol/Messages/RequestIdConverter.cs +++ b/src/ModelContextProtocol/Protocol/Messages/RequestIdConverter.cs @@ -1,8 +1,8 @@ -using McpDotNet.Utils; +using ModelContextProtocol.Utils; using System.Text.Json; using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Messages; +namespace ModelContextProtocol.Protocol.Messages; /// /// JSON converter for RequestId that handles both string and number values. diff --git a/src/mcpdotnet/Protocol/Transport/HttpListenerServerProvider.cs b/src/ModelContextProtocol/Protocol/Transport/HttpListenerServerProvider.cs similarity index 99% rename from src/mcpdotnet/Protocol/Transport/HttpListenerServerProvider.cs rename to src/ModelContextProtocol/Protocol/Transport/HttpListenerServerProvider.cs index e253359..eee8499 100644 --- a/src/mcpdotnet/Protocol/Transport/HttpListenerServerProvider.cs +++ b/src/ModelContextProtocol/Protocol/Transport/HttpListenerServerProvider.cs @@ -1,9 +1,9 @@ -using McpDotNet.Server; +using ModelContextProtocol.Server; using System.Diagnostics.CodeAnalysis; using System.Net; using System.Text; -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// HTTP server provider using HttpListener. diff --git a/src/mcpdotnet/Protocol/Transport/HttpListenerSseServerTransport.cs b/src/ModelContextProtocol/Protocol/Transport/HttpListenerSseServerTransport.cs similarity index 96% rename from src/mcpdotnet/Protocol/Transport/HttpListenerSseServerTransport.cs rename to src/ModelContextProtocol/Protocol/Transport/HttpListenerSseServerTransport.cs index 6f73cde..9a756d9 100644 --- a/src/mcpdotnet/Protocol/Transport/HttpListenerSseServerTransport.cs +++ b/src/ModelContextProtocol/Protocol/Transport/HttpListenerSseServerTransport.cs @@ -1,11 +1,11 @@ using System.Text.Json; using Microsoft.Extensions.Logging; -using McpDotNet.Protocol.Messages; -using McpDotNet.Utils.Json; -using McpDotNet.Logging; -using McpDotNet.Server; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Utils.Json; +using ModelContextProtocol.Logging; +using ModelContextProtocol.Server; -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// Implements the MCP transport protocol over standard input/output streams. diff --git a/src/mcpdotnet/Protocol/Transport/IClientTransport.cs b/src/ModelContextProtocol/Protocol/Transport/IClientTransport.cs similarity index 87% rename from src/mcpdotnet/Protocol/Transport/IClientTransport.cs rename to src/ModelContextProtocol/Protocol/Transport/IClientTransport.cs index f0ea7e7..b7ad7f2 100644 --- a/src/mcpdotnet/Protocol/Transport/IClientTransport.cs +++ b/src/ModelContextProtocol/Protocol/Transport/IClientTransport.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// Represents a transport mechanism for MCP communication (from the client). diff --git a/src/mcpdotnet/Protocol/Transport/IServerTransport.cs b/src/ModelContextProtocol/Protocol/Transport/IServerTransport.cs similarity index 88% rename from src/mcpdotnet/Protocol/Transport/IServerTransport.cs rename to src/ModelContextProtocol/Protocol/Transport/IServerTransport.cs index 7e8c37c..742c894 100644 --- a/src/mcpdotnet/Protocol/Transport/IServerTransport.cs +++ b/src/ModelContextProtocol/Protocol/Transport/IServerTransport.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// Represents a transport mechanism for MCP communication (from the server). diff --git a/src/mcpdotnet/Protocol/Transport/ITransport.cs b/src/ModelContextProtocol/Protocol/Transport/ITransport.cs similarity index 88% rename from src/mcpdotnet/Protocol/Transport/ITransport.cs rename to src/ModelContextProtocol/Protocol/Transport/ITransport.cs index 2a7b2c6..cb4fcc3 100644 --- a/src/mcpdotnet/Protocol/Transport/ITransport.cs +++ b/src/ModelContextProtocol/Protocol/Transport/ITransport.cs @@ -1,7 +1,7 @@ using System.Threading.Channels; -using McpDotNet.Protocol.Messages; +using ModelContextProtocol.Protocol.Messages; -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// Represents a transport mechanism for MCP communication. diff --git a/src/mcpdotnet/Protocol/Transport/McpTransportException.cs b/src/ModelContextProtocol/Protocol/Transport/McpTransportException.cs similarity index 95% rename from src/mcpdotnet/Protocol/Transport/McpTransportException.cs rename to src/ModelContextProtocol/Protocol/Transport/McpTransportException.cs index 1d23bfe..bc49376 100644 --- a/src/mcpdotnet/Protocol/Transport/McpTransportException.cs +++ b/src/ModelContextProtocol/Protocol/Transport/McpTransportException.cs @@ -1,5 +1,5 @@ // Protocol/Transport/IMcpTransport.cs -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; // Protocol/Transport/McpTransportException.cs diff --git a/src/mcpdotnet/Protocol/Transport/SseClientTransport.cs b/src/ModelContextProtocol/Protocol/Transport/SseClientTransport.cs similarity index 98% rename from src/mcpdotnet/Protocol/Transport/SseClientTransport.cs rename to src/ModelContextProtocol/Protocol/Transport/SseClientTransport.cs index a45dc60..577c563 100644 --- a/src/mcpdotnet/Protocol/Transport/SseClientTransport.cs +++ b/src/ModelContextProtocol/Protocol/Transport/SseClientTransport.cs @@ -2,15 +2,15 @@ using System.Net.ServerSentEvents; using System.Text; using System.Text.Json; -using McpDotNet.Configuration; -using McpDotNet.Logging; -using McpDotNet.Protocol.Messages; -using McpDotNet.Utils; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Logging; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Utils; +using ModelContextProtocol.Utils.Json; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// The ServerSideEvents client transport implementation diff --git a/src/mcpdotnet/Protocol/Transport/SseClientTransportOptions.cs b/src/ModelContextProtocol/Protocol/Transport/SseClientTransportOptions.cs similarity index 93% rename from src/mcpdotnet/Protocol/Transport/SseClientTransportOptions.cs rename to src/ModelContextProtocol/Protocol/Transport/SseClientTransportOptions.cs index 01a164b..69a0628 100644 --- a/src/mcpdotnet/Protocol/Transport/SseClientTransportOptions.cs +++ b/src/ModelContextProtocol/Protocol/Transport/SseClientTransportOptions.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// Options for configuring the SSE transport. diff --git a/src/mcpdotnet/Protocol/Transport/StdioClientTransport.cs b/src/ModelContextProtocol/Protocol/Transport/StdioClientTransport.cs similarity index 97% rename from src/mcpdotnet/Protocol/Transport/StdioClientTransport.cs rename to src/ModelContextProtocol/Protocol/Transport/StdioClientTransport.cs index 225e1d2..f9e13a6 100644 --- a/src/mcpdotnet/Protocol/Transport/StdioClientTransport.cs +++ b/src/ModelContextProtocol/Protocol/Transport/StdioClientTransport.cs @@ -1,16 +1,16 @@ using System.Diagnostics; using System.Text.Json; -using McpDotNet.Configuration; -using McpDotNet.Logging; -using McpDotNet.Protocol.Messages; -using McpDotNet.Utils; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Logging; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Utils; +using ModelContextProtocol.Utils.Json; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; #pragma warning disable CA2213 // Disposable fields should be disposed -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// Implements the MCP transport protocol over standard input/output streams. diff --git a/src/mcpdotnet/Protocol/Transport/StdioClientTransportOptions.cs b/src/ModelContextProtocol/Protocol/Transport/StdioClientTransportOptions.cs similarity index 95% rename from src/mcpdotnet/Protocol/Transport/StdioClientTransportOptions.cs rename to src/ModelContextProtocol/Protocol/Transport/StdioClientTransportOptions.cs index 1ee77e5..0b59555 100644 --- a/src/mcpdotnet/Protocol/Transport/StdioClientTransportOptions.cs +++ b/src/ModelContextProtocol/Protocol/Transport/StdioClientTransportOptions.cs @@ -1,5 +1,5 @@ // Protocol/Transport/StdioTransport.cs -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// Represents configuration options for the stdio transport. diff --git a/src/mcpdotnet/Protocol/Transport/StdioServerTransport.cs b/src/ModelContextProtocol/Protocol/Transport/StdioServerTransport.cs similarity index 97% rename from src/mcpdotnet/Protocol/Transport/StdioServerTransport.cs rename to src/ModelContextProtocol/Protocol/Transport/StdioServerTransport.cs index 2c3d87c..98252d2 100644 --- a/src/mcpdotnet/Protocol/Transport/StdioServerTransport.cs +++ b/src/ModelContextProtocol/Protocol/Transport/StdioServerTransport.cs @@ -1,9 +1,9 @@ using System.Text.Json; -using McpDotNet.Logging; -using McpDotNet.Protocol.Messages; -using McpDotNet.Server; -using McpDotNet.Utils; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Logging; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Server; +using ModelContextProtocol.Utils; +using ModelContextProtocol.Utils.Json; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; @@ -11,7 +11,7 @@ using Microsoft.Extensions.Options; #pragma warning disable CA2208 // Instantiate argument exceptions correctly #pragma warning disable CA2213 // Disposable fields should be disposed -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// Provides an implementation of the MCP transport protocol over standard input/output streams. diff --git a/src/mcpdotnet/Protocol/Transport/TransportBase.cs b/src/ModelContextProtocol/Protocol/Transport/TransportBase.cs similarity index 94% rename from src/mcpdotnet/Protocol/Transport/TransportBase.cs rename to src/ModelContextProtocol/Protocol/Transport/TransportBase.cs index b57733c..349b16c 100644 --- a/src/mcpdotnet/Protocol/Transport/TransportBase.cs +++ b/src/ModelContextProtocol/Protocol/Transport/TransportBase.cs @@ -1,10 +1,10 @@ using System.Threading.Channels; using Microsoft.Extensions.Logging; -using McpDotNet.Logging; -using McpDotNet.Protocol.Messages; +using ModelContextProtocol.Logging; +using ModelContextProtocol.Protocol.Messages; using Microsoft.Extensions.Logging.Abstractions; -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// Base class for implementing MCP transports with common functionality. diff --git a/src/mcpdotnet/Protocol/Transport/TransportTypes.cs b/src/ModelContextProtocol/Protocol/Transport/TransportTypes.cs similarity index 86% rename from src/mcpdotnet/Protocol/Transport/TransportTypes.cs rename to src/ModelContextProtocol/Protocol/Transport/TransportTypes.cs index 518848f..02de0a6 100644 --- a/src/mcpdotnet/Protocol/Transport/TransportTypes.cs +++ b/src/ModelContextProtocol/Protocol/Transport/TransportTypes.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Transport; +namespace ModelContextProtocol.Protocol.Transport; /// /// List all transport types diff --git a/src/mcpdotnet/Protocol/Types/Annotations.cs b/src/ModelContextProtocol/Protocol/Types/Annotations.cs similarity index 93% rename from src/mcpdotnet/Protocol/Types/Annotations.cs rename to src/ModelContextProtocol/Protocol/Types/Annotations.cs index e168ea5..906aebb 100644 --- a/src/mcpdotnet/Protocol/Types/Annotations.cs +++ b/src/ModelContextProtocol/Protocol/Types/Annotations.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents annotations that can be attached to content. diff --git a/src/mcpdotnet/Protocol/Types/Argument.cs b/src/ModelContextProtocol/Protocol/Types/Argument.cs similarity index 93% rename from src/mcpdotnet/Protocol/Types/Argument.cs rename to src/ModelContextProtocol/Protocol/Types/Argument.cs index 18ac2f2..4fccd63 100644 --- a/src/mcpdotnet/Protocol/Types/Argument.cs +++ b/src/ModelContextProtocol/Protocol/Types/Argument.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Used for completion requests to provide additional context for the completion options. diff --git a/src/mcpdotnet/Protocol/Types/CallToolRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/CallToolRequestParams.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/CallToolRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/CallToolRequestParams.cs index 9e05d77..9811f99 100644 --- a/src/mcpdotnet/Protocol/Types/CallToolRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/CallToolRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Used by the client to invoke a tool provided by the server. diff --git a/src/mcpdotnet/Protocol/Types/CallToolResponse.cs b/src/ModelContextProtocol/Protocol/Types/CallToolResponse.cs similarity index 95% rename from src/mcpdotnet/Protocol/Types/CallToolResponse.cs rename to src/ModelContextProtocol/Protocol/Types/CallToolResponse.cs index 63c52be..27024eb 100644 --- a/src/mcpdotnet/Protocol/Types/CallToolResponse.cs +++ b/src/ModelContextProtocol/Protocol/Types/CallToolResponse.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// The server's response to a tool call. diff --git a/src/mcpdotnet/Protocol/Types/Capabilities.cs b/src/ModelContextProtocol/Protocol/Types/Capabilities.cs similarity index 98% rename from src/mcpdotnet/Protocol/Types/Capabilities.cs rename to src/ModelContextProtocol/Protocol/Types/Capabilities.cs index 2513b42..600e20f 100644 --- a/src/mcpdotnet/Protocol/Types/Capabilities.cs +++ b/src/ModelContextProtocol/Protocol/Types/Capabilities.cs @@ -1,7 +1,7 @@ -using McpDotNet.Server; +using ModelContextProtocol.Server; using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents the capabilities that a client may support. diff --git a/src/mcpdotnet/Protocol/Types/CompleteRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/CompleteRequestParams.cs similarity index 93% rename from src/mcpdotnet/Protocol/Types/CompleteRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/CompleteRequestParams.cs index 155ef33..cb38991 100644 --- a/src/mcpdotnet/Protocol/Types/CompleteRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/CompleteRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// A request from the client to the server, to ask for completion options. diff --git a/src/mcpdotnet/Protocol/Types/CompleteResult.cs b/src/ModelContextProtocol/Protocol/Types/CompleteResult.cs similarity index 91% rename from src/mcpdotnet/Protocol/Types/CompleteResult.cs rename to src/ModelContextProtocol/Protocol/Types/CompleteResult.cs index 65f4bac..392326d 100644 --- a/src/mcpdotnet/Protocol/Types/CompleteResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/CompleteResult.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// The server's response to a completion/complete request diff --git a/src/mcpdotnet/Protocol/Types/Completion.cs b/src/ModelContextProtocol/Protocol/Types/Completion.cs similarity index 95% rename from src/mcpdotnet/Protocol/Types/Completion.cs rename to src/ModelContextProtocol/Protocol/Types/Completion.cs index e645278..d53f989 100644 --- a/src/mcpdotnet/Protocol/Types/Completion.cs +++ b/src/ModelContextProtocol/Protocol/Types/Completion.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents a completion object in the server's response diff --git a/src/mcpdotnet/Protocol/Types/Content.cs b/src/ModelContextProtocol/Protocol/Types/Content.cs similarity index 96% rename from src/mcpdotnet/Protocol/Types/Content.cs rename to src/ModelContextProtocol/Protocol/Types/Content.cs index a7f1b16..79229b9 100644 --- a/src/mcpdotnet/Protocol/Types/Content.cs +++ b/src/ModelContextProtocol/Protocol/Types/Content.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents the content of a tool response. diff --git a/src/mcpdotnet/Protocol/Types/ContextInclusion.cs b/src/ModelContextProtocol/Protocol/Types/ContextInclusion.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/ContextInclusion.cs rename to src/ModelContextProtocol/Protocol/Types/ContextInclusion.cs index 12bb484..50fbc3d 100644 --- a/src/mcpdotnet/Protocol/Types/ContextInclusion.cs +++ b/src/ModelContextProtocol/Protocol/Types/ContextInclusion.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// A request to include context from one or more MCP servers (including the caller), to be attached to the prompt. diff --git a/src/mcpdotnet/Protocol/Types/CreateMessageRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/CreateMessageRequestParams.cs similarity index 98% rename from src/mcpdotnet/Protocol/Types/CreateMessageRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/CreateMessageRequestParams.cs index 2faefea..02be336 100644 --- a/src/mcpdotnet/Protocol/Types/CreateMessageRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/CreateMessageRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// A request from the server to sample an LLM via the client. diff --git a/src/mcpdotnet/Protocol/Types/CreateMessageResult.cs b/src/ModelContextProtocol/Protocol/Types/CreateMessageResult.cs similarity index 96% rename from src/mcpdotnet/Protocol/Types/CreateMessageResult.cs rename to src/ModelContextProtocol/Protocol/Types/CreateMessageResult.cs index afef1fc..843e03d 100644 --- a/src/mcpdotnet/Protocol/Types/CreateMessageResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/CreateMessageResult.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// The client's response to a sampling/create_message request from the server. diff --git a/src/mcpdotnet/Protocol/Types/EmptyResult.cs b/src/ModelContextProtocol/Protocol/Types/EmptyResult.cs similarity index 82% rename from src/mcpdotnet/Protocol/Types/EmptyResult.cs rename to src/ModelContextProtocol/Protocol/Types/EmptyResult.cs index b143031..7e858ff 100644 --- a/src/mcpdotnet/Protocol/Types/EmptyResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/EmptyResult.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// An empty result object. diff --git a/src/mcpdotnet/Protocol/Types/GetPromptRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/GetPromptRequestParams.cs similarity index 93% rename from src/mcpdotnet/Protocol/Types/GetPromptRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/GetPromptRequestParams.cs index 244cd78..5c4ce41 100644 --- a/src/mcpdotnet/Protocol/Types/GetPromptRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/GetPromptRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Used by the client to get a prompt provided by the server. diff --git a/src/mcpdotnet/Protocol/Types/GetPromptResult.cs b/src/ModelContextProtocol/Protocol/Types/GetPromptResult.cs similarity index 93% rename from src/mcpdotnet/Protocol/Types/GetPromptResult.cs rename to src/ModelContextProtocol/Protocol/Types/GetPromptResult.cs index 73f9ec5..bdf3886 100644 --- a/src/mcpdotnet/Protocol/Types/GetPromptResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/GetPromptResult.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// The server's response to a prompts/get request from the client. diff --git a/src/mcpdotnet/Protocol/Types/Implementation.cs b/src/ModelContextProtocol/Protocol/Types/Implementation.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/Implementation.cs rename to src/ModelContextProtocol/Protocol/Types/Implementation.cs index a052e60..23f4455 100644 --- a/src/mcpdotnet/Protocol/Types/Implementation.cs +++ b/src/ModelContextProtocol/Protocol/Types/Implementation.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Describes the name and version of an MCP implementation. diff --git a/src/mcpdotnet/Protocol/Types/InitializeRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/InitializeRequestParams.cs similarity index 95% rename from src/mcpdotnet/Protocol/Types/InitializeRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/InitializeRequestParams.cs index 782c30c..179371a 100644 --- a/src/mcpdotnet/Protocol/Types/InitializeRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/InitializeRequestParams.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Parameters for an initialization request sent to the server. diff --git a/src/mcpdotnet/Protocol/Types/InitializeResult.cs b/src/ModelContextProtocol/Protocol/Types/InitializeResult.cs similarity index 95% rename from src/mcpdotnet/Protocol/Types/InitializeResult.cs rename to src/ModelContextProtocol/Protocol/Types/InitializeResult.cs index 6295bbf..475e33b 100644 --- a/src/mcpdotnet/Protocol/Types/InitializeResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/InitializeResult.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Result of the initialization request sent to the server. diff --git a/src/mcpdotnet/Protocol/Types/JsonSchema.cs b/src/ModelContextProtocol/Protocol/Types/JsonSchema.cs similarity index 94% rename from src/mcpdotnet/Protocol/Types/JsonSchema.cs rename to src/ModelContextProtocol/Protocol/Types/JsonSchema.cs index 74203b1..384dc97 100644 --- a/src/mcpdotnet/Protocol/Types/JsonSchema.cs +++ b/src/ModelContextProtocol/Protocol/Types/JsonSchema.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents a JSON schema for a tool's input arguments. diff --git a/src/mcpdotnet/Protocol/Types/JsonSchemaProperty.cs b/src/ModelContextProtocol/Protocol/Types/JsonSchemaProperty.cs similarity index 93% rename from src/mcpdotnet/Protocol/Types/JsonSchemaProperty.cs rename to src/ModelContextProtocol/Protocol/Types/JsonSchemaProperty.cs index 8854bb9..8fdd8f3 100644 --- a/src/mcpdotnet/Protocol/Types/JsonSchemaProperty.cs +++ b/src/ModelContextProtocol/Protocol/Types/JsonSchemaProperty.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents a property in a JSON schema. diff --git a/src/mcpdotnet/Protocol/Types/ListPromptsRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/ListPromptsRequestParams.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/ListPromptsRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/ListPromptsRequestParams.cs index 9b20907..5f19789 100644 --- a/src/mcpdotnet/Protocol/Types/ListPromptsRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/ListPromptsRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Sent from the client to request a list of prompts and prompt templates the server has. diff --git a/src/mcpdotnet/Protocol/Types/ListPromptsResult.cs b/src/ModelContextProtocol/Protocol/Types/ListPromptsResult.cs similarity index 84% rename from src/mcpdotnet/Protocol/Types/ListPromptsResult.cs rename to src/ModelContextProtocol/Protocol/Types/ListPromptsResult.cs index 35f9e8f..108df74 100644 --- a/src/mcpdotnet/Protocol/Types/ListPromptsResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/ListPromptsResult.cs @@ -1,6 +1,6 @@ -using McpDotNet.Protocol.Messages; +using ModelContextProtocol.Protocol.Messages; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// The server's response to a prompts/list request from the client. diff --git a/src/mcpdotnet/Protocol/Types/ListResourcesRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/ListResourcesRequestParams.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/ListResourcesRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/ListResourcesRequestParams.cs index 0284ce0..f0c36dc 100644 --- a/src/mcpdotnet/Protocol/Types/ListResourcesRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/ListResourcesRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Sent from the client to request a list of resources the server has. diff --git a/src/mcpdotnet/Protocol/Types/ListResourcesResult.cs b/src/ModelContextProtocol/Protocol/Types/ListResourcesResult.cs similarity index 84% rename from src/mcpdotnet/Protocol/Types/ListResourcesResult.cs rename to src/ModelContextProtocol/Protocol/Types/ListResourcesResult.cs index f532c3e..2552815 100644 --- a/src/mcpdotnet/Protocol/Types/ListResourcesResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/ListResourcesResult.cs @@ -1,6 +1,6 @@ -using McpDotNet.Protocol.Messages; +using ModelContextProtocol.Protocol.Messages; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// The server's response to a resources/list request from the client. diff --git a/src/mcpdotnet/Protocol/Types/ListRootsRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/ListRootsRequestParams.cs similarity index 91% rename from src/mcpdotnet/Protocol/Types/ListRootsRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/ListRootsRequestParams.cs index 4bacf85..a710209 100644 --- a/src/mcpdotnet/Protocol/Types/ListRootsRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/ListRootsRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// A request from the server to get a list of root URIs from the client. diff --git a/src/mcpdotnet/Protocol/Types/ListRootsResult.cs b/src/ModelContextProtocol/Protocol/Types/ListRootsResult.cs similarity index 93% rename from src/mcpdotnet/Protocol/Types/ListRootsResult.cs rename to src/ModelContextProtocol/Protocol/Types/ListRootsResult.cs index c641688..3e59223 100644 --- a/src/mcpdotnet/Protocol/Types/ListRootsResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/ListRootsResult.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// The client's response to a roots/list request from the server. diff --git a/src/mcpdotnet/Protocol/Types/ListToolsRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/ListToolsRequestParams.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/ListToolsRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/ListToolsRequestParams.cs index 922a6b9..631c788 100644 --- a/src/mcpdotnet/Protocol/Types/ListToolsRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/ListToolsRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Sent from the client to request a list of tools the server has. diff --git a/src/mcpdotnet/Protocol/Types/ListToolsResult.cs b/src/ModelContextProtocol/Protocol/Types/ListToolsResult.cs similarity index 84% rename from src/mcpdotnet/Protocol/Types/ListToolsResult.cs rename to src/ModelContextProtocol/Protocol/Types/ListToolsResult.cs index 8979f22..552b189 100644 --- a/src/mcpdotnet/Protocol/Types/ListToolsResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/ListToolsResult.cs @@ -1,6 +1,6 @@ -using McpDotNet.Protocol.Messages; +using ModelContextProtocol.Protocol.Messages; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// A response to a request to list the tools available on the server. diff --git a/src/mcpdotnet/Protocol/Types/ModelHint.cs b/src/ModelContextProtocol/Protocol/Types/ModelHint.cs similarity index 95% rename from src/mcpdotnet/Protocol/Types/ModelHint.cs rename to src/ModelContextProtocol/Protocol/Types/ModelHint.cs index 26e3188..b30b5e2 100644 --- a/src/mcpdotnet/Protocol/Types/ModelHint.cs +++ b/src/ModelContextProtocol/Protocol/Types/ModelHint.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Hints to use for model selection. diff --git a/src/mcpdotnet/Protocol/Types/ModelPreferences.cs b/src/ModelContextProtocol/Protocol/Types/ModelPreferences.cs similarity index 98% rename from src/mcpdotnet/Protocol/Types/ModelPreferences.cs rename to src/ModelContextProtocol/Protocol/Types/ModelPreferences.cs index be0879d..303fbb9 100644 --- a/src/mcpdotnet/Protocol/Types/ModelPreferences.cs +++ b/src/ModelContextProtocol/Protocol/Types/ModelPreferences.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// The server's preferences for model selection, requested of the client during sampling. diff --git a/src/mcpdotnet/Protocol/Types/PingResult.cs b/src/ModelContextProtocol/Protocol/Types/PingResult.cs similarity index 82% rename from src/mcpdotnet/Protocol/Types/PingResult.cs rename to src/ModelContextProtocol/Protocol/Types/PingResult.cs index b3359f7..d7afb4f 100644 --- a/src/mcpdotnet/Protocol/Types/PingResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/PingResult.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Dummy result for the ping request. diff --git a/src/mcpdotnet/Protocol/Types/Prompt.cs b/src/ModelContextProtocol/Protocol/Types/Prompt.cs similarity index 94% rename from src/mcpdotnet/Protocol/Types/Prompt.cs rename to src/ModelContextProtocol/Protocol/Types/Prompt.cs index 72c53ff..a8bfee0 100644 --- a/src/mcpdotnet/Protocol/Types/Prompt.cs +++ b/src/ModelContextProtocol/Protocol/Types/Prompt.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// A prompt or prompt template that the server offers. diff --git a/src/mcpdotnet/Protocol/Types/PromptArgument.cs b/src/ModelContextProtocol/Protocol/Types/PromptArgument.cs similarity index 94% rename from src/mcpdotnet/Protocol/Types/PromptArgument.cs rename to src/ModelContextProtocol/Protocol/Types/PromptArgument.cs index 3a5f40b..b80e08f 100644 --- a/src/mcpdotnet/Protocol/Types/PromptArgument.cs +++ b/src/ModelContextProtocol/Protocol/Types/PromptArgument.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Describes an argument that a prompt can accept. diff --git a/src/mcpdotnet/Protocol/Types/PromptMessage.cs b/src/ModelContextProtocol/Protocol/Types/PromptMessage.cs similarity index 94% rename from src/mcpdotnet/Protocol/Types/PromptMessage.cs rename to src/ModelContextProtocol/Protocol/Types/PromptMessage.cs index e83b191..eacd6f0 100644 --- a/src/mcpdotnet/Protocol/Types/PromptMessage.cs +++ b/src/ModelContextProtocol/Protocol/Types/PromptMessage.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Describes a message returned as part of a prompt. diff --git a/src/mcpdotnet/Protocol/Types/ReadResourceRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/ReadResourceRequestParams.cs similarity index 91% rename from src/mcpdotnet/Protocol/Types/ReadResourceRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/ReadResourceRequestParams.cs index f6cd4a8..fc1c563 100644 --- a/src/mcpdotnet/Protocol/Types/ReadResourceRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/ReadResourceRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Sent from the client to the server, to read a specific resource URI. diff --git a/src/mcpdotnet/Protocol/Types/ReadResourceResult.cs b/src/ModelContextProtocol/Protocol/Types/ReadResourceResult.cs similarity index 91% rename from src/mcpdotnet/Protocol/Types/ReadResourceResult.cs rename to src/ModelContextProtocol/Protocol/Types/ReadResourceResult.cs index 9e4e49b..9ea35e1 100644 --- a/src/mcpdotnet/Protocol/Types/ReadResourceResult.cs +++ b/src/ModelContextProtocol/Protocol/Types/ReadResourceResult.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// The server's response to a resources/read request from the client. diff --git a/src/mcpdotnet/Protocol/Types/Reference.cs b/src/ModelContextProtocol/Protocol/Types/Reference.cs similarity index 97% rename from src/mcpdotnet/Protocol/Types/Reference.cs rename to src/ModelContextProtocol/Protocol/Types/Reference.cs index b3cc5e4..9ea2ea0 100644 --- a/src/mcpdotnet/Protocol/Types/Reference.cs +++ b/src/ModelContextProtocol/Protocol/Types/Reference.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents a reference to a resource or prompt. Umbrella type for both ResourceReference and PromptReference from the spec schema. diff --git a/src/mcpdotnet/Protocol/Types/ResourceContents.cs b/src/ModelContextProtocol/Protocol/Types/ResourceContents.cs similarity index 95% rename from src/mcpdotnet/Protocol/Types/ResourceContents.cs rename to src/ModelContextProtocol/Protocol/Types/ResourceContents.cs index cb1ef2f..89b34ab 100644 --- a/src/mcpdotnet/Protocol/Types/ResourceContents.cs +++ b/src/ModelContextProtocol/Protocol/Types/ResourceContents.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents the content of a resource. diff --git a/src/mcpdotnet/Protocol/Types/ResourceUpdatedNotificationParams.cs b/src/ModelContextProtocol/Protocol/Types/ResourceUpdatedNotificationParams.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/ResourceUpdatedNotificationParams.cs rename to src/ModelContextProtocol/Protocol/Types/ResourceUpdatedNotificationParams.cs index 3d424ed..5df7b1b 100644 --- a/src/mcpdotnet/Protocol/Types/ResourceUpdatedNotificationParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/ResourceUpdatedNotificationParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Sent from the server as the payload of "notifications/resources/updated" notifications whenever a subscribed resource changes. diff --git a/src/mcpdotnet/Protocol/Types/Resources.cs b/src/ModelContextProtocol/Protocol/Types/Resources.cs similarity index 96% rename from src/mcpdotnet/Protocol/Types/Resources.cs rename to src/ModelContextProtocol/Protocol/Types/Resources.cs index ea9f3e7..7bd3a93 100644 --- a/src/mcpdotnet/Protocol/Types/Resources.cs +++ b/src/ModelContextProtocol/Protocol/Types/Resources.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents a known resource that the server is capable of reading. diff --git a/src/mcpdotnet/Protocol/Types/Role.cs b/src/ModelContextProtocol/Protocol/Types/Role.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/Role.cs rename to src/ModelContextProtocol/Protocol/Types/Role.cs index 104f0ea..a8266a0 100644 --- a/src/mcpdotnet/Protocol/Types/Role.cs +++ b/src/ModelContextProtocol/Protocol/Types/Role.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents the type of role in the conversation. diff --git a/src/mcpdotnet/Protocol/Types/Root.cs b/src/ModelContextProtocol/Protocol/Types/Root.cs similarity index 94% rename from src/mcpdotnet/Protocol/Types/Root.cs rename to src/ModelContextProtocol/Protocol/Types/Root.cs index aaceb6b..1fa96fb 100644 --- a/src/mcpdotnet/Protocol/Types/Root.cs +++ b/src/ModelContextProtocol/Protocol/Types/Root.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents a root URI and its metadata. diff --git a/src/mcpdotnet/Protocol/Types/SamplingMessage.cs b/src/ModelContextProtocol/Protocol/Types/SamplingMessage.cs similarity index 93% rename from src/mcpdotnet/Protocol/Types/SamplingMessage.cs rename to src/ModelContextProtocol/Protocol/Types/SamplingMessage.cs index 516c02b..b3ee6f1 100644 --- a/src/mcpdotnet/Protocol/Types/SamplingMessage.cs +++ b/src/ModelContextProtocol/Protocol/Types/SamplingMessage.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Describes a message issued to or received from an LLM API. diff --git a/src/mcpdotnet/Protocol/Types/ServerCapabilities.cs b/src/ModelContextProtocol/Protocol/Types/ServerCapabilities.cs similarity index 96% rename from src/mcpdotnet/Protocol/Types/ServerCapabilities.cs rename to src/ModelContextProtocol/Protocol/Types/ServerCapabilities.cs index a1f039a..15b486f 100644 --- a/src/mcpdotnet/Protocol/Types/ServerCapabilities.cs +++ b/src/ModelContextProtocol/Protocol/Types/ServerCapabilities.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents the capabilities that a server may support. diff --git a/src/mcpdotnet/Protocol/Types/SubscribeRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/SubscribeRequestParams.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/SubscribeRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/SubscribeRequestParams.cs index a6806ee..a257154 100644 --- a/src/mcpdotnet/Protocol/Types/SubscribeRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/SubscribeRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Sent from the client to request updated notifications from the server whenever a particular primitive changes. diff --git a/src/mcpdotnet/Protocol/Types/Tool.cs b/src/ModelContextProtocol/Protocol/Types/Tool.cs similarity index 94% rename from src/mcpdotnet/Protocol/Types/Tool.cs rename to src/ModelContextProtocol/Protocol/Types/Tool.cs index ba728a3..87c0f0a 100644 --- a/src/mcpdotnet/Protocol/Types/Tool.cs +++ b/src/ModelContextProtocol/Protocol/Types/Tool.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Represents a tool that the server is capable of calling. Part of the ListToolsResponse. diff --git a/src/mcpdotnet/Protocol/Types/UnsubscribeFromResourceRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/UnsubscribeFromResourceRequestParams.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/UnsubscribeFromResourceRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/UnsubscribeFromResourceRequestParams.cs index eb19d3c..0ac697f 100644 --- a/src/mcpdotnet/Protocol/Types/UnsubscribeFromResourceRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/UnsubscribeFromResourceRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Sent from the client to request cancellation of resources/updated notifications from the server. This should follow a previous resources/subscribe request. diff --git a/src/mcpdotnet/Protocol/Types/UnsubscribeRequestParams.cs b/src/ModelContextProtocol/Protocol/Types/UnsubscribeRequestParams.cs similarity index 92% rename from src/mcpdotnet/Protocol/Types/UnsubscribeRequestParams.cs rename to src/ModelContextProtocol/Protocol/Types/UnsubscribeRequestParams.cs index 580a085..13c4efd 100644 --- a/src/mcpdotnet/Protocol/Types/UnsubscribeRequestParams.cs +++ b/src/ModelContextProtocol/Protocol/Types/UnsubscribeRequestParams.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Protocol.Types; +namespace ModelContextProtocol.Protocol.Types; /// /// Sent from the client to request not receiving updated notifications from the server whenever a primitive resource changes. diff --git a/src/mcpdotnet/Server/IMcpServer.cs b/src/ModelContextProtocol/Server/IMcpServer.cs similarity index 95% rename from src/mcpdotnet/Server/IMcpServer.cs rename to src/ModelContextProtocol/Server/IMcpServer.cs index 024b883..7168a41 100644 --- a/src/mcpdotnet/Server/IMcpServer.cs +++ b/src/ModelContextProtocol/Server/IMcpServer.cs @@ -1,7 +1,7 @@ -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Types; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Types; -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// /// Represents a server that can communicate with a client using the MCP protocol. diff --git a/src/mcpdotnet/Server/McpServer.cs b/src/ModelContextProtocol/Server/McpServer.cs similarity index 97% rename from src/mcpdotnet/Server/McpServer.cs rename to src/ModelContextProtocol/Server/McpServer.cs index 764e24e..5e813fe 100644 --- a/src/mcpdotnet/Server/McpServer.cs +++ b/src/ModelContextProtocol/Server/McpServer.cs @@ -1,15 +1,15 @@ -using McpDotNet.Logging; -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; -using McpDotNet.Shared; -using McpDotNet.Utils; +using ModelContextProtocol.Logging; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Shared; +using ModelContextProtocol.Utils; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using System.Text.Json.Nodes; -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// internal sealed class McpServer : McpJsonRpcEndpoint, IMcpServer diff --git a/src/mcpdotnet/Server/McpServerException.cs b/src/ModelContextProtocol/Server/McpServerException.cs similarity index 95% rename from src/mcpdotnet/Server/McpServerException.cs rename to src/ModelContextProtocol/Server/McpServerException.cs index be7b967..7d6a6c0 100644 --- a/src/mcpdotnet/Server/McpServerException.cs +++ b/src/ModelContextProtocol/Server/McpServerException.cs @@ -1,6 +1,6 @@ -using McpDotNet.Client; +using ModelContextProtocol.Client; -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// /// Represents errors that occur in the MCP server. diff --git a/src/mcpdotnet/Server/McpServerExtensions.cs b/src/ModelContextProtocol/Server/McpServerExtensions.cs similarity index 98% rename from src/mcpdotnet/Server/McpServerExtensions.cs rename to src/ModelContextProtocol/Server/McpServerExtensions.cs index 8ce3939..3f74600 100644 --- a/src/mcpdotnet/Server/McpServerExtensions.cs +++ b/src/ModelContextProtocol/Server/McpServerExtensions.cs @@ -1,11 +1,11 @@ -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Types; -using McpDotNet.Utils; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Utils; using Microsoft.Extensions.AI; using System.Runtime.CompilerServices; using System.Text; -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// public static class McpServerExtensions diff --git a/src/mcpdotnet/Server/McpServerFactory.cs b/src/ModelContextProtocol/Server/McpServerFactory.cs similarity index 92% rename from src/mcpdotnet/Server/McpServerFactory.cs rename to src/ModelContextProtocol/Server/McpServerFactory.cs index bc5a95b..ce79a23 100644 --- a/src/mcpdotnet/Server/McpServerFactory.cs +++ b/src/ModelContextProtocol/Server/McpServerFactory.cs @@ -1,8 +1,8 @@ -using McpDotNet.Protocol.Transport; -using McpDotNet.Utils; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Utils; using Microsoft.Extensions.Logging; -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// /// Provides a factory for creating instances. diff --git a/src/mcpdotnet/Server/McpServerHandlers.cs b/src/ModelContextProtocol/Server/McpServerHandlers.cs similarity index 98% rename from src/mcpdotnet/Server/McpServerHandlers.cs rename to src/ModelContextProtocol/Server/McpServerHandlers.cs index 94e33f4..5632733 100644 --- a/src/mcpdotnet/Server/McpServerHandlers.cs +++ b/src/ModelContextProtocol/Server/McpServerHandlers.cs @@ -1,6 +1,6 @@ -using McpDotNet.Protocol.Types; +using ModelContextProtocol.Protocol.Types; -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// /// Container for handlers used in the creation of an MCP server. diff --git a/src/mcpdotnet/Server/McpServerOptions.cs b/src/ModelContextProtocol/Server/McpServerOptions.cs similarity index 94% rename from src/mcpdotnet/Server/McpServerOptions.cs rename to src/ModelContextProtocol/Server/McpServerOptions.cs index ad109c5..f17ba15 100644 --- a/src/mcpdotnet/Server/McpServerOptions.cs +++ b/src/ModelContextProtocol/Server/McpServerOptions.cs @@ -1,8 +1,8 @@  -using McpDotNet.Protocol.Types; +using ModelContextProtocol.Protocol.Types; using System.Text.Json.Serialization; -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// /// Configuration options for the MCP server. This is passed to the client during the initialization sequence, letting it know about the server's capabilities and diff --git a/src/mcpdotnet/Server/McpToolAttribute.cs b/src/ModelContextProtocol/Server/McpToolAttribute.cs similarity index 93% rename from src/mcpdotnet/Server/McpToolAttribute.cs rename to src/ModelContextProtocol/Server/McpToolAttribute.cs index a84e2da..3d9ef83 100644 --- a/src/mcpdotnet/Server/McpToolAttribute.cs +++ b/src/ModelContextProtocol/Server/McpToolAttribute.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// /// Attribute to mark a method as an MCP tool. diff --git a/src/mcpdotnet/Server/McpToolTypeAttribute.cs b/src/ModelContextProtocol/Server/McpToolTypeAttribute.cs similarity index 81% rename from src/mcpdotnet/Server/McpToolTypeAttribute.cs rename to src/ModelContextProtocol/Server/McpToolTypeAttribute.cs index 4571303..798dfd5 100644 --- a/src/mcpdotnet/Server/McpToolTypeAttribute.cs +++ b/src/ModelContextProtocol/Server/McpToolTypeAttribute.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// /// Attribute to mark a type as container for MCP tools. diff --git a/src/mcpdotnet/Server/RequestContext.cs b/src/ModelContextProtocol/Server/RequestContext.cs similarity index 84% rename from src/mcpdotnet/Server/RequestContext.cs rename to src/ModelContextProtocol/Server/RequestContext.cs index e1be830..f043ed0 100644 --- a/src/mcpdotnet/Server/RequestContext.cs +++ b/src/ModelContextProtocol/Server/RequestContext.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Server; +namespace ModelContextProtocol.Server; /// /// Container for the request context. diff --git a/src/mcpdotnet/Shared/McpJsonRpcEndpoint.cs b/src/ModelContextProtocol/Shared/McpJsonRpcEndpoint.cs similarity index 98% rename from src/mcpdotnet/Shared/McpJsonRpcEndpoint.cs rename to src/ModelContextProtocol/Shared/McpJsonRpcEndpoint.cs index 3084c1d..5f24d81 100644 --- a/src/mcpdotnet/Shared/McpJsonRpcEndpoint.cs +++ b/src/ModelContextProtocol/Shared/McpJsonRpcEndpoint.cs @@ -1,9 +1,9 @@ -using McpDotNet.Client; -using McpDotNet.Logging; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; -using McpDotNet.Utils; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Client; +using ModelContextProtocol.Logging; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Utils; +using ModelContextProtocol.Utils.Json; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; @@ -11,7 +11,7 @@ using Microsoft.Extensions.Logging.Abstractions; using System.Collections.Concurrent; using System.Text.Json; -namespace McpDotNet.Shared; +namespace ModelContextProtocol.Shared; /// /// Base class for an MCP JSON-RPC endpoint. This covers both MCP clients and servers. diff --git a/src/mcpdotnet/Utils/Json/JsonRpcMessageConverter.cs b/src/ModelContextProtocol/Utils/Json/JsonRpcMessageConverter.cs similarity index 97% rename from src/mcpdotnet/Utils/Json/JsonRpcMessageConverter.cs rename to src/ModelContextProtocol/Utils/Json/JsonRpcMessageConverter.cs index 9b0c0e1..b821b04 100644 --- a/src/mcpdotnet/Utils/Json/JsonRpcMessageConverter.cs +++ b/src/ModelContextProtocol/Utils/Json/JsonRpcMessageConverter.cs @@ -1,9 +1,9 @@ -using McpDotNet.Protocol.Messages; +using ModelContextProtocol.Protocol.Messages; using System.ComponentModel; using System.Text.Json; using System.Text.Json.Serialization; -namespace McpDotNet.Utils.Json; +namespace ModelContextProtocol.Utils.Json; /// /// JSON converter for IJsonRpcMessage that handles polymorphic deserialization of different message types. diff --git a/src/mcpdotnet/Utils/Json/JsonSerializerOptionsExtensions.cs b/src/ModelContextProtocol/Utils/Json/JsonSerializerOptionsExtensions.cs similarity index 96% rename from src/mcpdotnet/Utils/Json/JsonSerializerOptionsExtensions.cs rename to src/ModelContextProtocol/Utils/Json/JsonSerializerOptionsExtensions.cs index 83d34ca..0559856 100644 --- a/src/mcpdotnet/Utils/Json/JsonSerializerOptionsExtensions.cs +++ b/src/ModelContextProtocol/Utils/Json/JsonSerializerOptionsExtensions.cs @@ -1,12 +1,12 @@ -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Types; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Types; using System.Diagnostics.CodeAnalysis; using System.Text.Json; using System.Text.Json.Nodes; using System.Text.Json.Serialization; using System.Text.Json.Serialization.Metadata; -namespace McpDotNet.Utils.Json; +namespace ModelContextProtocol.Utils.Json; /// /// Extensions for configuring System.Text.Json serialization options for MCP. diff --git a/src/mcpdotnet/Utils/ProcessHelper.cs b/src/ModelContextProtocol/Utils/ProcessHelper.cs similarity index 98% rename from src/mcpdotnet/Utils/ProcessHelper.cs rename to src/ModelContextProtocol/Utils/ProcessHelper.cs index 463157d..6d24813 100644 --- a/src/mcpdotnet/Utils/ProcessHelper.cs +++ b/src/ModelContextProtocol/Utils/ProcessHelper.cs @@ -1,7 +1,7 @@ using System.Diagnostics; using System.Runtime.InteropServices; -namespace McpDotNet.Utils; +namespace ModelContextProtocol.Utils; /// /// Helper class for working with processes. diff --git a/src/mcpdotnet/Utils/Throw.cs b/src/ModelContextProtocol/Utils/Throw.cs similarity index 97% rename from src/mcpdotnet/Utils/Throw.cs rename to src/ModelContextProtocol/Utils/Throw.cs index 5671759..524bda3 100644 --- a/src/mcpdotnet/Utils/Throw.cs +++ b/src/ModelContextProtocol/Utils/Throw.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; -namespace McpDotNet.Utils; +namespace ModelContextProtocol.Utils; /// Provides helper methods for throwing exceptions. internal static class Throw diff --git a/tests/mcpdotnet.TestServer/mcpdotnet.TestServer.csproj b/tests/ModelContextProtocol.TestServer/ModelContextProtocol.TestServer.csproj similarity index 80% rename from tests/mcpdotnet.TestServer/mcpdotnet.TestServer.csproj rename to tests/ModelContextProtocol.TestServer/ModelContextProtocol.TestServer.csproj index 9dc33a7..d8826c6 100644 --- a/tests/mcpdotnet.TestServer/mcpdotnet.TestServer.csproj +++ b/tests/ModelContextProtocol.TestServer/ModelContextProtocol.TestServer.csproj @@ -6,7 +6,7 @@ enable enable TestServer - McpDotNet.TestServer + ModelContextProtocol.TestServer @@ -17,7 +17,7 @@ - + diff --git a/tests/mcpdotnet.TestServer/Program.cs b/tests/ModelContextProtocol.TestServer/Program.cs similarity index 99% rename from tests/mcpdotnet.TestServer/Program.cs rename to tests/ModelContextProtocol.TestServer/Program.cs index a45a956..889b53b 100644 --- a/tests/mcpdotnet.TestServer/Program.cs +++ b/tests/ModelContextProtocol.TestServer/Program.cs @@ -1,13 +1,13 @@ using System.Text; using System.Text.Json; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; using Microsoft.Extensions.Logging; using Serilog; -namespace McpDotNet.TestServer; +namespace ModelContextProtocol.TestServer; internal static class Program { diff --git a/tests/mcpdotnet.TestSseServer/mcpdotnet.TestSseServer.csproj b/tests/ModelContextProtocol.TestSseServer/ModelContextProtocol.TestSseServer.csproj similarity index 85% rename from tests/mcpdotnet.TestSseServer/mcpdotnet.TestSseServer.csproj rename to tests/ModelContextProtocol.TestSseServer/ModelContextProtocol.TestSseServer.csproj index 2004fad..77b3ccd 100644 --- a/tests/mcpdotnet.TestSseServer/mcpdotnet.TestSseServer.csproj +++ b/tests/ModelContextProtocol.TestSseServer/ModelContextProtocol.TestSseServer.csproj @@ -15,7 +15,7 @@ - + diff --git a/tests/mcpdotnet.TestSseServer/Program.cs b/tests/ModelContextProtocol.TestSseServer/Program.cs similarity index 99% rename from tests/mcpdotnet.TestSseServer/Program.cs rename to tests/ModelContextProtocol.TestSseServer/Program.cs index da44b6a..be06f16 100644 --- a/tests/mcpdotnet.TestSseServer/Program.cs +++ b/tests/ModelContextProtocol.TestSseServer/Program.cs @@ -1,6 +1,6 @@ -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; using Microsoft.Extensions.Logging; using Serilog; using System.Text; diff --git a/tests/mcpdotnet.Tests/Client/McpClientFactoryTests.cs b/tests/ModelContextProtocol.Tests/Client/McpClientFactoryTests.cs similarity index 96% rename from tests/mcpdotnet.Tests/Client/McpClientFactoryTests.cs rename to tests/ModelContextProtocol.Tests/Client/McpClientFactoryTests.cs index e76f90a..e855be0 100644 --- a/tests/mcpdotnet.Tests/Client/McpClientFactoryTests.cs +++ b/tests/ModelContextProtocol.Tests/Client/McpClientFactoryTests.cs @@ -1,11 +1,11 @@ using System.Threading.Channels; -using McpDotNet.Client; -using McpDotNet.Configuration; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; +using ModelContextProtocol.Client; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; -namespace McpDotNet.Tests.Client; +namespace ModelContextProtocol.Tests.Client; public class McpClientFactoryTests { diff --git a/tests/mcpdotnet.Tests/ClientIntegrationTestFixture.cs b/tests/ModelContextProtocol.Tests/ClientIntegrationTestFixture.cs similarity index 93% rename from tests/mcpdotnet.Tests/ClientIntegrationTestFixture.cs rename to tests/ModelContextProtocol.Tests/ClientIntegrationTestFixture.cs index 2c271c7..1e054ef 100644 --- a/tests/mcpdotnet.Tests/ClientIntegrationTestFixture.cs +++ b/tests/ModelContextProtocol.Tests/ClientIntegrationTestFixture.cs @@ -1,9 +1,9 @@ -using McpDotNet.Client; -using McpDotNet.Configuration; -using McpDotNet.Protocol.Transport; +using ModelContextProtocol.Client; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Transport; using Microsoft.Extensions.Logging; -namespace McpDotNet.Tests; +namespace ModelContextProtocol.Tests; public class ClientIntegrationTestFixture : IDisposable { diff --git a/tests/mcpdotnet.Tests/ClientIntegrationTests.cs b/tests/ModelContextProtocol.Tests/ClientIntegrationTests.cs similarity index 98% rename from tests/mcpdotnet.Tests/ClientIntegrationTests.cs rename to tests/ModelContextProtocol.Tests/ClientIntegrationTests.cs index b7f68a6..9205047 100644 --- a/tests/mcpdotnet.Tests/ClientIntegrationTests.cs +++ b/tests/ModelContextProtocol.Tests/ClientIntegrationTests.cs @@ -1,13 +1,13 @@ -using McpDotNet.Client; -using McpDotNet.Configuration; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; +using ModelContextProtocol.Client; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; using Microsoft.Extensions.AI; using OpenAI; using System.Text.Json; -namespace McpDotNet.Tests; +namespace ModelContextProtocol.Tests; public class ClientIntegrationTests : IClassFixture { diff --git a/tests/mcpdotnet.Tests/Configuration/McpServerBuilderExtensionsHandlerTests.cs b/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsHandlerTests.cs similarity index 96% rename from tests/mcpdotnet.Tests/Configuration/McpServerBuilderExtensionsHandlerTests.cs rename to tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsHandlerTests.cs index 0b288d2..7cd5c8e 100644 --- a/tests/mcpdotnet.Tests/Configuration/McpServerBuilderExtensionsHandlerTests.cs +++ b/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsHandlerTests.cs @@ -1,11 +1,11 @@ -using McpDotNet.Configuration; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Moq; -namespace McpDotNet.Tests.Configuration; +namespace ModelContextProtocol.Tests.Configuration; public class McpServerBuilderExtensionsHandlerTests { diff --git a/tests/mcpdotnet.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs b/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs similarity index 99% rename from tests/mcpdotnet.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs rename to tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs index a9da91e..349c91c 100644 --- a/tests/mcpdotnet.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs +++ b/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs @@ -1,13 +1,13 @@ using System.ComponentModel; using System.Text.Json; using System.Text.RegularExpressions; -using McpDotNet.Configuration; -using McpDotNet.Server; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Server; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Moq; -namespace McpDotNet.Tests.Configuration; +namespace ModelContextProtocol.Tests.Configuration; public class McpServerBuilderExtensionsToolsTests { diff --git a/tests/mcpdotnet.Tests/Configuration/McpServerBuilderExtensionsTransportsTests.cs b/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsTransportsTests.cs similarity index 89% rename from tests/mcpdotnet.Tests/Configuration/McpServerBuilderExtensionsTransportsTests.cs rename to tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsTransportsTests.cs index 4e4ac7b..853ea93 100644 --- a/tests/mcpdotnet.Tests/Configuration/McpServerBuilderExtensionsTransportsTests.cs +++ b/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsTransportsTests.cs @@ -1,9 +1,9 @@ -using McpDotNet.Configuration; -using McpDotNet.Protocol.Transport; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Transport; using Microsoft.Extensions.DependencyInjection; using Moq; -namespace McpDotNet.Tests.Configuration; +namespace ModelContextProtocol.Tests.Configuration; public class McpServerBuilderExtensionsTransportsTests { diff --git a/tests/mcpdotnet.Tests/EverythingSseServerFixture.cs b/tests/ModelContextProtocol.Tests/EverythingSseServerFixture.cs similarity index 72% rename from tests/mcpdotnet.Tests/EverythingSseServerFixture.cs rename to tests/ModelContextProtocol.Tests/EverythingSseServerFixture.cs index 773ba0f..d39f8dd 100644 --- a/tests/mcpdotnet.Tests/EverythingSseServerFixture.cs +++ b/tests/ModelContextProtocol.Tests/EverythingSseServerFixture.cs @@ -1,12 +1,15 @@ using System.Diagnostics; -namespace McpDotNet.Tests; +namespace ModelContextProtocol.Tests; public class EverythingSseServerFixture : IAsyncDisposable { private int _port; private string _containerName; + public static bool IsDockerAvailable => _isDockerAvailable ??= CheckIsDockerAvailable(); + private static bool? _isDockerAvailable; + public EverythingSseServerFixture(int port) { _port = port; @@ -56,4 +59,25 @@ public class EverythingSseServerFixture : IAsyncDisposable GC.SuppressFinalize(this); } + + private static bool CheckIsDockerAvailable() + { + try + { + ProcessStartInfo processStartInfo = new() + { + FileName = "docker", + Arguments = "--version", + UseShellExecute = false, + }; + + using var process = Process.Start(processStartInfo); + process?.WaitForExit(); + return process?.ExitCode is 0; + } + catch + { + return false; + } + } } \ No newline at end of file diff --git a/tests/mcpdotnet.Tests/GlobalUsings.cs b/tests/ModelContextProtocol.Tests/GlobalUsings.cs similarity index 100% rename from tests/mcpdotnet.Tests/GlobalUsings.cs rename to tests/ModelContextProtocol.Tests/GlobalUsings.cs diff --git a/tests/mcpdotnet.Tests/mcpdotnet.Tests.csproj b/tests/ModelContextProtocol.Tests/ModelContextProtocol.Tests.csproj similarity index 73% rename from tests/mcpdotnet.Tests/mcpdotnet.Tests.csproj rename to tests/ModelContextProtocol.Tests/ModelContextProtocol.Tests.csproj index db1b3fd..bd65b03 100644 --- a/tests/mcpdotnet.Tests/mcpdotnet.Tests.csproj +++ b/tests/ModelContextProtocol.Tests/ModelContextProtocol.Tests.csproj @@ -8,7 +8,7 @@ false true - McpDotNet.Tests + ModelContextProtocol.Tests @@ -30,22 +30,22 @@ - - - + + + - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest diff --git a/tests/mcpdotnet.Tests/Server/McpServerDelegatesTests.cs b/tests/ModelContextProtocol.Tests/Server/McpServerDelegatesTests.cs similarity index 93% rename from tests/mcpdotnet.Tests/Server/McpServerDelegatesTests.cs rename to tests/ModelContextProtocol.Tests/Server/McpServerDelegatesTests.cs index 1490fad..9ed7576 100644 --- a/tests/mcpdotnet.Tests/Server/McpServerDelegatesTests.cs +++ b/tests/ModelContextProtocol.Tests/Server/McpServerDelegatesTests.cs @@ -1,7 +1,7 @@ -using McpDotNet.Protocol.Types; -using McpDotNet.Server; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; -namespace McpDotNet.Tests.Server; +namespace ModelContextProtocol.Tests.Server; public class McpServerHandlerTests { diff --git a/tests/mcpdotnet.Tests/Server/McpServerFactoryTests.cs b/tests/ModelContextProtocol.Tests/Server/McpServerFactoryTests.cs similarity index 89% rename from tests/mcpdotnet.Tests/Server/McpServerFactoryTests.cs rename to tests/ModelContextProtocol.Tests/Server/McpServerFactoryTests.cs index be348fa..345c59c 100644 --- a/tests/mcpdotnet.Tests/Server/McpServerFactoryTests.cs +++ b/tests/ModelContextProtocol.Tests/Server/McpServerFactoryTests.cs @@ -1,10 +1,10 @@ -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; using Microsoft.Extensions.Logging.Abstractions; using Moq; -namespace McpDotNet.Tests.Server; +namespace ModelContextProtocol.Tests.Server; public class McpServerFactoryTests { diff --git a/tests/mcpdotnet.Tests/Server/McpServerTests.cs b/tests/ModelContextProtocol.Tests/Server/McpServerTests.cs similarity index 98% rename from tests/mcpdotnet.Tests/Server/McpServerTests.cs rename to tests/ModelContextProtocol.Tests/Server/McpServerTests.cs index 68fe14d..76616de 100644 --- a/tests/mcpdotnet.Tests/Server/McpServerTests.cs +++ b/tests/ModelContextProtocol.Tests/Server/McpServerTests.cs @@ -1,15 +1,15 @@ -using McpDotNet.Client; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; -using McpDotNet.Tests.Utils; +using ModelContextProtocol.Client; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; +using ModelContextProtocol.Tests.Utils; using Microsoft.Extensions.AI; using Microsoft.Extensions.Logging; using Moq; using System.Diagnostics; -namespace McpDotNet.Tests.Server; +namespace ModelContextProtocol.Tests.Server; public class McpServerTests { diff --git a/tests/mcpdotnet.Tests/SseIntegrationTests.cs b/tests/ModelContextProtocol.Tests/SseIntegrationTests.cs similarity index 94% rename from tests/mcpdotnet.Tests/SseIntegrationTests.cs rename to tests/ModelContextProtocol.Tests/SseIntegrationTests.cs index 6638073..0ded57b 100644 --- a/tests/mcpdotnet.Tests/SseIntegrationTests.cs +++ b/tests/ModelContextProtocol.Tests/SseIntegrationTests.cs @@ -1,12 +1,12 @@ using System.Text.Json; -using McpDotNet.Client; -using McpDotNet.Configuration; -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; -using McpDotNet.Tests.Utils; +using ModelContextProtocol.Client; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Tests.Utils; using Microsoft.Extensions.Logging; -namespace McpDotNet.Tests; +namespace ModelContextProtocol.Tests; public class SseIntegrationTests { @@ -53,7 +53,12 @@ public class SseIntegrationTests [Trait("Execution", "Manual")] public async Task ConnectAndReceiveMessage_EverythingServerWithSse() { - using var loggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(builder => + if (!EverythingSseServerFixture.IsDockerAvailable) + { + return; + } + + using var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole() .SetMinimumLevel(LogLevel.Debug)); @@ -88,6 +93,11 @@ public class SseIntegrationTests [Trait("Execution", "Manual")] public async Task Sampling_Sse_EverythingServer() { + if (!EverythingSseServerFixture.IsDockerAvailable) + { + return; + } + // arrange using var loggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(builder => builder.AddConsole() diff --git a/tests/mcpdotnet.Tests/SseServerIntegrationTestFixture.cs b/tests/ModelContextProtocol.Tests/SseServerIntegrationTestFixture.cs similarity index 93% rename from tests/mcpdotnet.Tests/SseServerIntegrationTestFixture.cs rename to tests/ModelContextProtocol.Tests/SseServerIntegrationTestFixture.cs index a82017e..4f3cb2f 100644 --- a/tests/mcpdotnet.Tests/SseServerIntegrationTestFixture.cs +++ b/tests/ModelContextProtocol.Tests/SseServerIntegrationTestFixture.cs @@ -1,11 +1,11 @@ -using McpDotNet.Client; -using McpDotNet.Configuration; -using McpDotNet.Protocol.Transport; +using ModelContextProtocol.Client; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Transport; using Microsoft.Extensions.Logging; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -namespace McpDotNet.Tests; +namespace ModelContextProtocol.Tests; public class SseServerIntegrationTestFixture : IDisposable { diff --git a/tests/mcpdotnet.Tests/SseServerIntegrationTests.cs b/tests/ModelContextProtocol.Tests/SseServerIntegrationTests.cs similarity index 98% rename from tests/mcpdotnet.Tests/SseServerIntegrationTests.cs rename to tests/ModelContextProtocol.Tests/SseServerIntegrationTests.cs index ec94803..186fee2 100644 --- a/tests/mcpdotnet.Tests/SseServerIntegrationTests.cs +++ b/tests/ModelContextProtocol.Tests/SseServerIntegrationTests.cs @@ -1,7 +1,7 @@ -using McpDotNet.Client; -using McpDotNet.Protocol.Types; +using ModelContextProtocol.Client; +using ModelContextProtocol.Protocol.Types; -namespace McpDotNet.Tests; +namespace ModelContextProtocol.Tests; public class SseServerIntegrationTests : IClassFixture { diff --git a/tests/mcpdotnet.Tests/Transport/SseClientTransportTests.cs b/tests/ModelContextProtocol.Tests/Transport/SseClientTransportTests.cs similarity index 97% rename from tests/mcpdotnet.Tests/Transport/SseClientTransportTests.cs rename to tests/ModelContextProtocol.Tests/Transport/SseClientTransportTests.cs index cf52403..67fd84c 100644 --- a/tests/mcpdotnet.Tests/Transport/SseClientTransportTests.cs +++ b/tests/ModelContextProtocol.Tests/Transport/SseClientTransportTests.cs @@ -1,11 +1,11 @@ using System.Net; -using McpDotNet.Configuration; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; -using McpDotNet.Tests.Utils; +using ModelContextProtocol.Configuration; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Tests.Utils; using Microsoft.Extensions.Logging.Abstractions; -namespace McpDotNet.Tests.Transport; +namespace ModelContextProtocol.Tests.Transport; public class SseClientTransportTests { diff --git a/tests/mcpdotnet.Tests/Transport/StdioServerTransportTests.cs b/tests/ModelContextProtocol.Tests/Transport/StdioServerTransportTests.cs similarity index 93% rename from tests/mcpdotnet.Tests/Transport/StdioServerTransportTests.cs rename to tests/ModelContextProtocol.Tests/Transport/StdioServerTransportTests.cs index 46037fd..44f60cd 100644 --- a/tests/mcpdotnet.Tests/Transport/StdioServerTransportTests.cs +++ b/tests/ModelContextProtocol.Tests/Transport/StdioServerTransportTests.cs @@ -1,12 +1,12 @@ using System.Text.Json; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; -using McpDotNet.Protocol.Types; -using McpDotNet.Server; -using McpDotNet.Utils.Json; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; +using ModelContextProtocol.Protocol.Types; +using ModelContextProtocol.Server; +using ModelContextProtocol.Utils.Json; using Microsoft.Extensions.Logging.Abstractions; -namespace McpDotNet.Tests.Transport; +namespace ModelContextProtocol.Tests.Transport; public class StdioServerTransportTests { @@ -57,7 +57,7 @@ public class StdioServerTransportTests Assert.True(transport.IsConnected); } - [Fact] + [Fact(Skip = "https://github.com/modelcontextprotocol/csharp-sdk/issues/1")] public async Task SendMessageAsync_Should_Send_Message() { TextReader oldIn = Console.In; diff --git a/tests/mcpdotnet.Tests/Utils/InMemoryTestSseServer.cs b/tests/ModelContextProtocol.Tests/Utils/InMemoryTestSseServer.cs similarity index 99% rename from tests/mcpdotnet.Tests/Utils/InMemoryTestSseServer.cs rename to tests/ModelContextProtocol.Tests/Utils/InMemoryTestSseServer.cs index 3848f81..ce1c1be 100644 --- a/tests/mcpdotnet.Tests/Utils/InMemoryTestSseServer.cs +++ b/tests/ModelContextProtocol.Tests/Utils/InMemoryTestSseServer.cs @@ -1,11 +1,11 @@ using System.Collections.Concurrent; using System.Net; using System.Text.Json; -using McpDotNet.Protocol.Messages; +using ModelContextProtocol.Protocol.Messages; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -namespace McpDotNet.Tests.Utils; +namespace ModelContextProtocol.Tests.Utils; public sealed class InMemoryTestSseServer : IAsyncDisposable { diff --git a/tests/mcpdotnet.Tests/Utils/MockHttpHandler.cs b/tests/ModelContextProtocol.Tests/Utils/MockHttpHandler.cs similarity index 94% rename from tests/mcpdotnet.Tests/Utils/MockHttpHandler.cs rename to tests/ModelContextProtocol.Tests/Utils/MockHttpHandler.cs index 5c0fb40..24968cb 100644 --- a/tests/mcpdotnet.Tests/Utils/MockHttpHandler.cs +++ b/tests/ModelContextProtocol.Tests/Utils/MockHttpHandler.cs @@ -1,4 +1,4 @@ -namespace McpDotNet.Tests.Utils; +namespace ModelContextProtocol.Tests.Utils; public class MockHttpHandler : HttpMessageHandler { diff --git a/tests/mcpdotnet.Tests/Utils/TestServerTransport.cs b/tests/ModelContextProtocol.Tests/Utils/TestServerTransport.cs similarity index 92% rename from tests/mcpdotnet.Tests/Utils/TestServerTransport.cs rename to tests/ModelContextProtocol.Tests/Utils/TestServerTransport.cs index 41ace3b..0f23c8f 100644 --- a/tests/mcpdotnet.Tests/Utils/TestServerTransport.cs +++ b/tests/ModelContextProtocol.Tests/Utils/TestServerTransport.cs @@ -1,8 +1,8 @@ using System.Threading.Channels; -using McpDotNet.Protocol.Messages; -using McpDotNet.Protocol.Transport; +using ModelContextProtocol.Protocol.Messages; +using ModelContextProtocol.Protocol.Transport; -namespace McpDotNet.Tests.Utils; +namespace ModelContextProtocol.Tests.Utils; public class TestServerTransport : IServerTransport { @@ -59,7 +59,7 @@ public class TestServerTransport : IServerTransport await WriteMessageAsync(new JsonRpcResponse { Id = request.Id, - Result = new McpDotNet.Protocol.Types.ListRootsResult + Result = new ModelContextProtocol.Protocol.Types.ListRootsResult { Roots = [] }