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
-[](https://www.nuget.org/packages/mcpdotnet/)
-
-[](LICENSE)
+# MCP .NET SDK
-[](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet)
-[](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet)
-[](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet)
-[](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet)
-[](https://sonarcloud.io/summary/new_code?id=PederHP_mcpdotnet)
-[](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
-[](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 = []
}