refactor: rename OpenHarbor.MCP to Svrnty.MCP across all libraries

- Renamed all directories: OpenHarbor.MCP.* → Svrnty.MCP.*
- Updated all namespaces in 179 C# files
- Renamed 20 .csproj files and 3 .sln files
- Updated 193 documentation references
- Updated 33 references in main CODEX codebase
- Updated Codex.sln with new paths
- Build verified: 0 errors

Preparing for extraction to standalone repositories.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Svrnty 2025-10-22 21:04:17 -04:00
parent d936ad7856
commit 97880406dc
28 changed files with 132 additions and 132 deletions

View File

@ -1,6 +1,6 @@
# AGENT-PRIMER: OpenHarbor.MCP.Client Automated Setup # AGENT-PRIMER: Svrnty.MCP.Client Automated Setup
**Purpose**: This document guides AI agents to automatically analyze a target system and configure OpenHarbor.MCP.Client integration with minimal human intervention. **Purpose**: This document guides AI agents to automatically analyze a target system and configure Svrnty.MCP.Client integration with minimal human intervention.
**Target Audience**: AI assistants (Claude, ChatGPT, etc.) helping developers integrate MCP client capabilities into .NET applications. **Target Audience**: AI assistants (Claude, ChatGPT, etc.) helping developers integrate MCP client capabilities into .NET applications.
@ -8,7 +8,7 @@
## Overview ## Overview
OpenHarbor.MCP.Client is a **standalone, reusable .NET library** that adds Model Context Protocol (MCP) client capabilities to any .NET application, allowing it to discover and call tools exposed by remote MCP servers. This primer enables AI-automated configuration by walking through system analysis, configuration generation, and validation. Svrnty.MCP.Client is a **standalone, reusable .NET library** that adds Model Context Protocol (MCP) client capabilities to any .NET application, allowing it to discover and call tools exposed by remote MCP servers. This primer enables AI-automated configuration by walking through system analysis, configuration generation, and validation.
**What you'll automate:** **What you'll automate:**
1. System analysis (detect .NET version, project type, dependencies) 1. System analysis (detect .NET version, project type, dependencies)
@ -98,20 +98,20 @@ grep -r "IHostedService\|BackgroundService" --include="*.cs"
```xml ```xml
<ItemGroup> <ItemGroup>
<!-- Core MCP Client library --> <!-- Core MCP Client library -->
<ProjectReference Include="/path/to/OpenHarbor.MCP.Client.Core/OpenHarbor.MCP.Client.Core.csproj" /> <ProjectReference Include="/path/to/Svrnty.MCP.Client.Core/Svrnty.MCP.Client.Core.csproj" />
<!-- Infrastructure (transports, connection management) --> <!-- Infrastructure (transports, connection management) -->
<ProjectReference Include="/path/to/OpenHarbor.MCP.Client.Infrastructure/OpenHarbor.MCP.Client.Infrastructure.csproj" /> <ProjectReference Include="/path/to/Svrnty.MCP.Client.Infrastructure/Svrnty.MCP.Client.Infrastructure.csproj" />
<!-- ASP.NET Core integration (if applicable) --> <!-- ASP.NET Core integration (if applicable) -->
<ProjectReference Include="/path/to/OpenHarbor.MCP.Client.AspNetCore/OpenHarbor.MCP.Client.AspNetCore.csproj" /> <ProjectReference Include="/path/to/Svrnty.MCP.Client.AspNetCore/Svrnty.MCP.Client.AspNetCore.csproj" />
</ItemGroup> </ItemGroup>
``` ```
**Note**: When OpenHarbor.MCP.Client is published to NuGet, replace with: **Note**: When Svrnty.MCP.Client is published to NuGet, replace with:
```xml ```xml
<ItemGroup> <ItemGroup>
<PackageReference Include="OpenHarbor.MCP.Client.AspNetCore" Version="1.0.0" /> <PackageReference Include="Svrnty.MCP.Client.AspNetCore" Version="1.0.0" />
</ItemGroup> </ItemGroup>
``` ```
@ -185,7 +185,7 @@ grep -r "IHostedService\|BackgroundService" --include="*.cs"
**For ASP.NET Core projects**: **For ASP.NET Core projects**:
```csharp ```csharp
using OpenHarbor.MCP.Client.AspNetCore; using Svrnty.MCP.Client.AspNetCore;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
@ -209,7 +209,7 @@ app.Run();
```csharp ```csharp
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using OpenHarbor.MCP.Client.Infrastructure; using Svrnty.MCP.Client.Infrastructure;
var config = new ConfigurationBuilder() var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json") .AddJsonFile("appsettings.json")
@ -241,8 +241,8 @@ Console.WriteLine($"Available tools: {string.Join(", ", tools.Select(t => t.Name
**If project has search/query capabilities**: **If project has search/query capabilities**:
```csharp ```csharp
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
namespace MyApp.Services; namespace MyApp.Services;
@ -313,7 +313,7 @@ public class CodexSearchService : ICodexSearchService
**If project works with documents**: **If project works with documents**:
```csharp ```csharp
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
namespace MyApp.Services; namespace MyApp.Services;
@ -378,7 +378,7 @@ public class DocumentService : IDocumentService
**For advanced scenarios (multiple MCP servers)**: **For advanced scenarios (multiple MCP servers)**:
```csharp ```csharp
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
namespace MyApp.Services; namespace MyApp.Services;
@ -469,7 +469,7 @@ public class AggregationService : IAggregationService
```csharp ```csharp
using Microsoft.Extensions.Diagnostics.HealthChecks; using Microsoft.Extensions.Diagnostics.HealthChecks;
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
namespace MyApp.HealthChecks; namespace MyApp.HealthChecks;
@ -552,7 +552,7 @@ dotnet run --project /path/to/CodexMcpServer -- tools/list
```csharp ```csharp
using Xunit; using Xunit;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
public class McpClientIntegrationTests public class McpClientIntegrationTests
{ {
@ -608,7 +608,7 @@ public class McpClientIntegrationTests
**Generate summary report**: **Generate summary report**:
```markdown ```markdown
## OpenHarbor.MCP.Client Setup Complete ## Svrnty.MCP.Client Setup Complete
### Configuration Summary ### Configuration Summary
- **Project Type**: ASP.NET Core Web API - **Project Type**: ASP.NET Core Web API
@ -676,7 +676,7 @@ AI: I've analyzed your project. Here's what I found:
- Existing HTTP client setup - Existing HTTP client setup
- Logging configured - Logging configured
I can set up OpenHarbor.MCP.Client to connect to: I can set up Svrnty.MCP.Client to connect to:
1. Local CODEX server (Stdio) 1. Local CODEX server (Stdio)
2. Remote API server (HTTP) 2. Remote API server (HTTP)
@ -725,5 +725,5 @@ Next step: Run `dotnet run` to start.
**Document Version**: 1.0.0 **Document Version**: 1.0.0
**Last Updated**: 2025-10-19 **Last Updated**: 2025-10-19
**Target**: OpenHarbor.MCP.Client **Target**: Svrnty.MCP.Client

View File

@ -1,4 +1,4 @@
# OpenHarbor.MCP.Client # Svrnty.MCP.Client
**A modular, scalable, secure .NET library for consuming Model Context Protocol (MCP) servers** **A modular, scalable, secure .NET library for consuming Model Context Protocol (MCP) servers**
@ -8,9 +8,9 @@
--- ---
## What is OpenHarbor.MCP.Client? ## What is Svrnty.MCP.Client?
OpenHarbor.MCP.Client is a **standalone, reusable .NET library** that enables any .NET application to act as an MCP client, allowing your application to discover and call tools exposed by MCP servers. Svrnty.MCP.Client is a **standalone, reusable .NET library** that enables any .NET application to act as an MCP client, allowing your application to discover and call tools exposed by MCP servers.
**Model Context Protocol (MCP)** is an industry-standard protocol backed by Anthropic that defines how AI agents communicate with external tools and data sources. Think of it as a universal adapter that lets your application safely access capabilities from remote MCP servers. **Model Context Protocol (MCP)** is an industry-standard protocol backed by Anthropic that defines how AI agents communicate with external tools and data sources. Think of it as a universal adapter that lets your application safely access capabilities from remote MCP servers.
@ -26,11 +26,11 @@ OpenHarbor.MCP.Client is a **standalone, reusable .NET library** that enables an
--- ---
## Why OpenHarbor.MCP.Client? ## Why Svrnty.MCP.Client?
**Problem**: Your .NET application needs to access tools and capabilities exposed by remote MCP servers (search, data processing, API access) but has no standardized way to connect. **Problem**: Your .NET application needs to access tools and capabilities exposed by remote MCP servers (search, data processing, API access) but has no standardized way to connect.
**Solution**: OpenHarbor.MCP.Client transforms your application into an MCP client, allowing you to discover, validate, and call tools from any MCP server with proper error handling and connection management. **Solution**: Svrnty.MCP.Client transforms your application into an MCP client, allowing you to discover, validate, and call tools from any MCP server with proper error handling and connection management.
**Use Cases**: **Use Cases**:
- Connect your app to Claude Desktop's exposed tools - Connect your app to Claude Desktop's exposed tools
@ -54,7 +54,7 @@ OpenHarbor.MCP.Client is a **standalone, reusable .NET library** that enables an
If you have access to Claude or another AI assistant: If you have access to Claude or another AI assistant:
1. Copy this entire folder to your project directory 1. Copy this entire folder to your project directory
2. Open your AI assistant and say: "Read AGENT-PRIMER.md and set up OpenHarbor.MCP.Client for my project" 2. Open your AI assistant and say: "Read AGENT-PRIMER.md and set up Svrnty.MCP.Client for my project"
3. The AI will analyze your system, generate configuration, and create sample client code automatically 3. The AI will analyze your system, generate configuration, and create sample client code automatically
### Option 2: Manual Setup ### Option 2: Manual Setup
@ -63,10 +63,10 @@ If you have access to Claude or another AI assistant:
```bash ```bash
# Via project reference (development) # Via project reference (development)
dotnet add reference /path/to/OpenHarbor.MCP.Client/src/OpenHarbor.MCP.Client.AspNetCore/OpenHarbor.MCP.Client.AspNetCore.csproj dotnet add reference /path/to/Svrnty.MCP.Client/src/Svrnty.MCP.Client.AspNetCore/Svrnty.MCP.Client.AspNetCore.csproj
# OR via NuGet (when published) # OR via NuGet (when published)
# dotnet add package OpenHarbor.MCP.Client.AspNetCore # dotnet add package Svrnty.MCP.Client.AspNetCore
``` ```
#### Step 2: Configure appsettings.json #### Step 2: Configure appsettings.json
@ -113,7 +113,7 @@ Add MCP client configuration:
#### Step 3: Update Program.cs #### Step 3: Update Program.cs
```csharp ```csharp
using OpenHarbor.MCP.Client.AspNetCore; using Svrnty.MCP.Client.AspNetCore;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
@ -128,7 +128,7 @@ app.Run();
#### Step 4: Use the Client to Call Tools #### Step 4: Use the Client to Call Tools
```csharp ```csharp
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
public class MyService public class MyService
{ {
@ -198,17 +198,17 @@ Note: HTTP transport is recommended for production with remote servers, load bal
## Architecture ## Architecture
OpenHarbor.MCP.Client follows **Clean Architecture** principles: Svrnty.MCP.Client follows **Clean Architecture** principles:
``` ```
┌─────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────┐
OpenHarbor.MCP.Client.Cli (Executable) │ Svrnty.MCP.Client.Cli (Executable) │
│ ┌───────────────────────────────────────────┐ │ │ ┌───────────────────────────────────────────┐ │
│ │ OpenHarbor.MCP.Client.AspNetCore (DI) │ │ │ │ Svrnty.MCP.Client.AspNetCore (DI) │ │
│ │ ┌─────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────┐ │ │
│ │ │ OpenHarbor.MCP.Client.Infrastructure│ │ │ │ │ │ Svrnty.MCP.Client.Infrastructure│ │ │
│ │ │ ┌───────────────────────────────┐ │ │ │ │ │ │ ┌───────────────────────────────┐ │ │ │
│ │ │ │ OpenHarbor.MCP.Client.Core │ │ │ │ │ │ │ │ Svrnty.MCP.Client.Core │ │ │ │
│ │ │ │ - IMcpClient │ │ │ │ │ │ │ │ - IMcpClient │ │ │ │
│ │ │ │ - IMcpServerConnection │ │ │ │ │ │ │ │ - IMcpServerConnection │ │ │ │
│ │ │ │ - IConnectionPool │ │ │ │ │ │ │ │ - IConnectionPool │ │ │ │
@ -223,10 +223,10 @@ OpenHarbor.MCP.Client follows **Clean Architecture** principles:
| Project | Purpose | Dependencies | | Project | Purpose | Dependencies |
|---------|---------|--------------| |---------|---------|--------------|
| **OpenHarbor.MCP.Client.Core** | Abstractions, interfaces, models | None | | **Svrnty.MCP.Client.Core** | Abstractions, interfaces, models | None |
| **OpenHarbor.MCP.Client.Infrastructure** | MCP client implementation, transports, connection management | Core, System.Text.Json | | **Svrnty.MCP.Client.Infrastructure** | MCP client implementation, transports, connection management | Core, System.Text.Json |
| **OpenHarbor.MCP.Client.AspNetCore** | ASP.NET Core integration, DI extensions | Core, Infrastructure, ASP.NET Core | | **Svrnty.MCP.Client.AspNetCore** | ASP.NET Core integration, DI extensions | Core, Infrastructure, ASP.NET Core |
| **OpenHarbor.MCP.Client.Cli** | Standalone CLI executable | All above | | **Svrnty.MCP.Client.Cli** | Standalone CLI executable | All above |
See [Architecture Documentation](docs/architecture.md) for detailed design. See [Architecture Documentation](docs/architecture.md) for detailed design.
@ -251,12 +251,12 @@ samples/CodexMcpClient/
**Running the sample**: **Running the sample**:
```bash ```bash
# Terminal 1: Start CODEX MCP Server # Terminal 1: Start CODEX MCP Server
cd /path/to/OpenHarbor.MCP.Server/samples/CodexMcpServer cd /path/to/Svrnty.MCP.Server/samples/CodexMcpServer
dotnet run dotnet run
# Server listens on http://localhost:5050 # Server listens on http://localhost:5050
# Terminal 2: Run client commands # Terminal 2: Run client commands
cd /path/to/OpenHarbor.MCP.Client/samples/CodexMcpClient cd /path/to/Svrnty.MCP.Client/samples/CodexMcpClient
dotnet run -- search "architecture patterns" dotnet run -- search "architecture patterns"
dotnet run -- get-document <id> dotnet run -- get-document <id>
dotnet run -- list-tags dotnet run -- list-tags
@ -347,7 +347,7 @@ public class ResilientMcpService
### Connection Pooling ### Connection Pooling
OpenHarbor.MCP.Client includes connection pooling for efficient resource usage: Svrnty.MCP.Client includes connection pooling for efficient resource usage:
```json ```json
{ {
@ -424,7 +424,7 @@ public class ServerHealthService
dotnet test dotnet test
# Run specific test project # Run specific test project
dotnet test tests/OpenHarbor.MCP.Client.Tests/ dotnet test tests/Svrnty.MCP.Client.Tests/
# Run with coverage # Run with coverage
dotnet test /p:CollectCoverage=true dotnet test /p:CollectCoverage=true
@ -461,13 +461,13 @@ public async Task Client_CanCallMockServerTool()
### Test Coverage ### Test Coverage
OpenHarbor.MCP.Client maintains **88.52% line coverage** and **75.58% branch coverage** with **60 tests** passing (100%). Svrnty.MCP.Client maintains **88.52% line coverage** and **75.58% branch coverage** with **60 tests** passing (100%).
**Coverage Breakdown:** **Coverage Breakdown:**
- **Lines**: 88.52% (excellent) - **Lines**: 88.52% (excellent)
- **Branches**: 75.58% (excellent) - **Branches**: 75.58% (excellent)
- **Test Projects**: 1 - **Test Projects**: 1
- OpenHarbor.MCP.Client.Core.Tests: 60 tests - Svrnty.MCP.Client.Core.Tests: 60 tests
- HTTP client connection tests: 20 tests - HTTP client connection tests: 20 tests
- Configuration validation tests - Configuration validation tests
- Error handling and retry logic - Error handling and retry logic
@ -505,11 +505,11 @@ dotnet test --collect:"XPlat Code Coverage" --results-directory ./TestResults
## Related Modules ## Related Modules
OpenHarbor.MCP is a family of three complementary modules: Svrnty.MCP is a family of three complementary modules:
- **[OpenHarbor.MCP.Server](../OpenHarbor.MCP.Server/)** - Server library (expose tools TO AI agents) - **[Svrnty.MCP.Server](../Svrnty.MCP.Server/)** - Server library (expose tools TO AI agents)
- **[OpenHarbor.MCP.Client](../OpenHarbor.MCP.Client/)** - Client library (call tools FROM servers) ← You are here - **[Svrnty.MCP.Client](../Svrnty.MCP.Client/)** - Client library (call tools FROM servers) ← You are here
- **[OpenHarbor.MCP.Gateway](../OpenHarbor.MCP.Gateway/)** - Gateway/proxy (route between clients and servers) - **[Svrnty.MCP.Gateway](../Svrnty.MCP.Gateway/)** - Gateway/proxy (route between clients and servers)
All three modules share: All three modules share:
- Same Clean Architecture pattern - Same Clean Architecture pattern
@ -537,7 +537,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
## Support ## Support
- **Issues**: [GitHub Issues](https://github.com/svrnty/openharbor-mcp/issues) - **Issues**: [GitHub Issues](https://github.com/svrnty/svrnty-mcp/issues)
- **Email**: info@svrnty.io - **Email**: info@svrnty.io
- **Documentation**: [docs/](docs/) - **Documentation**: [docs/](docs/)

View File

@ -5,17 +5,17 @@ VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E904DDFC-C3F6-4EAE-AB7E-7F614C1C662F}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E904DDFC-C3F6-4EAE-AB7E-7F614C1C662F}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Client.Core", "src\OpenHarbor.MCP.Client.Core\OpenHarbor.MCP.Client.Core.csproj", "{A3C66348-0828-4CED-91F3-05795EA08980}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Client.Core", "src\Svrnty.MCP.Client.Core\Svrnty.MCP.Client.Core.csproj", "{A3C66348-0828-4CED-91F3-05795EA08980}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Client.Infrastructure", "src\OpenHarbor.MCP.Client.Infrastructure\OpenHarbor.MCP.Client.Infrastructure.csproj", "{4DA27898-6260-453D-84B1-988A819C2DDF}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Client.Infrastructure", "src\Svrnty.MCP.Client.Infrastructure\Svrnty.MCP.Client.Infrastructure.csproj", "{4DA27898-6260-453D-84B1-988A819C2DDF}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Client.AspNetCore", "src\OpenHarbor.MCP.Client.AspNetCore\OpenHarbor.MCP.Client.AspNetCore.csproj", "{19DBBC27-12C5-4C71-92EF-878BDE17623D}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Client.AspNetCore", "src\Svrnty.MCP.Client.AspNetCore\Svrnty.MCP.Client.AspNetCore.csproj", "{19DBBC27-12C5-4C71-92EF-878BDE17623D}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Client.Cli", "src\OpenHarbor.MCP.Client.Cli\OpenHarbor.MCP.Client.Cli.csproj", "{CC389D08-C75B-4470-99ED-0DF950F06911}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Client.Cli", "src\Svrnty.MCP.Client.Cli\Svrnty.MCP.Client.Cli.csproj", "{CC389D08-C75B-4470-99ED-0DF950F06911}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{060C6815-5503-4079-9FB1-A320A70D96AB}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{060C6815-5503-4079-9FB1-A320A70D96AB}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Client.Core.Tests", "tests\OpenHarbor.MCP.Client.Core.Tests\OpenHarbor.MCP.Client.Core.Tests.csproj", "{CB3A7DFF-B9E6-438D-AD69-FB54475006C5}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Client.Core.Tests", "tests\Svrnty.MCP.Client.Core.Tests\Svrnty.MCP.Client.Core.Tests.csproj", "{CB3A7DFF-B9E6-438D-AD69-FB54475006C5}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E8A5472E-AE28-4583-B7BB-7E68A62A0C7D}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E8A5472E-AE28-4583-B7BB-7E68A62A0C7D}"
EndProject EndProject

View File

@ -1,4 +1,4 @@
# OpenHarbor.MCP.Client - API Reference # Svrnty.MCP.Client - API Reference
**Version:** 1.0.0 **Version:** 1.0.0
**Last Updated:** 2025-10-19 **Last Updated:** 2025-10-19
@ -28,7 +28,7 @@
### IMcpClient ### IMcpClient
**Namespace:** `OpenHarbor.MCP.Client.Core.Abstractions` **Namespace:** `Svrnty.MCP.Client.Core.Abstractions`
Interface defining the MCP client contract for consuming MCP servers. Interface defining the MCP client contract for consuming MCP servers.
@ -183,7 +183,7 @@ await client.DisconnectFromServerAsync("codex-server");
### IMcpServerConnection ### IMcpServerConnection
**Namespace:** `OpenHarbor.MCP.Client.Core.Abstractions` **Namespace:** `Svrnty.MCP.Client.Core.Abstractions`
Interface representing a connection to a single MCP server. Interface representing a connection to a single MCP server.
@ -249,7 +249,7 @@ var response = await connection.SendRequestAsync(request);
### McpClient ### McpClient
**Namespace:** `OpenHarbor.MCP.Client.Infrastructure` **Namespace:** `Svrnty.MCP.Client.Infrastructure`
Default implementation of `IMcpClient`. Default implementation of `IMcpClient`.
@ -296,7 +296,7 @@ client.RetryBackoff = RetryBackoffStrategy.Exponential;
### HttpServerConnection ### HttpServerConnection
**Namespace:** `OpenHarbor.MCP.Client.Infrastructure.Transports` **Namespace:** `Svrnty.MCP.Client.Infrastructure.Transports`
HTTP-based implementation of `IMcpServerConnection`. HTTP-based implementation of `IMcpServerConnection`.
@ -346,7 +346,7 @@ public class HttpServerConnectionConfig : ServerConnectionConfig
### ServerConnectionConfig ### ServerConnectionConfig
**Namespace:** `OpenHarbor.MCP.Client.Core.Models` **Namespace:** `Svrnty.MCP.Client.Core.Models`
Base configuration for server connections. Base configuration for server connections.
@ -382,7 +382,7 @@ var config = new ServerConnectionConfig
### McpToolInfo ### McpToolInfo
**Namespace:** `OpenHarbor.MCP.Client.Core.Models` **Namespace:** `Svrnty.MCP.Client.Core.Models`
Metadata about an available tool. Metadata about an available tool.
@ -412,7 +412,7 @@ var toolInfo = new McpToolInfo
### McpToolResult ### McpToolResult
**Namespace:** `OpenHarbor.MCP.Client.Core.Models` **Namespace:** `Svrnty.MCP.Client.Core.Models`
Result of a tool execution. Result of a tool execution.
@ -449,7 +449,7 @@ else
### Service Extensions ### Service Extensions
**Namespace:** `OpenHarbor.MCP.Client.AspNetCore` **Namespace:** `Svrnty.MCP.Client.AspNetCore`
#### AddMcpClient #### AddMcpClient
@ -618,8 +618,8 @@ catch (McpException ex)
### Console Application ### Console Application
```csharp ```csharp
using OpenHarbor.MCP.Client.Core; using Svrnty.MCP.Client.Core;
using OpenHarbor.MCP.Client.Infrastructure; using Svrnty.MCP.Client.Infrastructure;
class Program class Program
{ {

View File

@ -1,4 +1,4 @@
# HTTPS/TLS Setup Guide - OpenHarbor.MCP.Client # HTTPS/TLS Setup Guide - Svrnty.MCP.Client
**Purpose**: Secure HTTPS/TLS configuration for MCP client connections **Purpose**: Secure HTTPS/TLS configuration for MCP client connections
**Audience**: Application developers, system integrators **Audience**: Application developers, system integrators
@ -22,7 +22,7 @@
## Overview ## Overview
OpenHarbor.MCP.Client supports HTTPS connections to MCP servers with full TLS certificate validation, custom certificate handling, and API key authentication. Svrnty.MCP.Client supports HTTPS connections to MCP servers with full TLS certificate validation, custom certificate handling, and API key authentication.
**Security Features:** **Security Features:**
- Encrypted communication (TLS 1.2+) - Encrypted communication (TLS 1.2+)
@ -60,7 +60,7 @@ OpenHarbor.MCP.Client supports HTTPS connections to MCP servers with full TLS ce
**Example 1: Simple HTTPS Client** **Example 1: Simple HTTPS Client**
```csharp ```csharp
using OpenHarbor.MCP.Client; using Svrnty.MCP.Client;
// Connect to HTTPS server // Connect to HTTPS server
var config = new HttpServerConnectionConfig var config = new HttpServerConnectionConfig
@ -668,7 +668,7 @@ Before deploying to production:
## References ## References
**OpenHarbor.MCP Documentation:** **Svrnty.MCP Documentation:**
- [Client README](../../README.md) - [Client README](../../README.md)
- [API Reference](../../docs/api/client-api.md) - [API Reference](../../docs/api/client-api.md)
- [Integration Guide](../../docs/integration-guide.md) - [Integration Guide](../../docs/integration-guide.md)
@ -687,4 +687,4 @@ Before deploying to production:
**Document Version**: 1.0.0 **Document Version**: 1.0.0
**Last Updated**: 2025-10-19 **Last Updated**: 2025-10-19
**Maintained By**: Svrnty Development Team **Maintained By**: Svrnty Development Team
**Related**: [Server HTTPS Setup](../../OpenHarbor.MCP.Server/docs/deployment/https-setup.md) **Related**: [Server HTTPS Setup](../../Svrnty.MCP.Server/docs/deployment/https-setup.md)

View File

@ -1,4 +1,4 @@
# OpenHarbor.MCP.Client - Implementation Plan # Svrnty.MCP.Client - Implementation Plan
**Document Type:** Implementation Roadmap **Document Type:** Implementation Roadmap
**Status:** Planned **Status:** Planned
@ -9,7 +9,7 @@
## Overview ## Overview
This document outlines the phased implementation plan for OpenHarbor.MCP.Client, following TDD principles and Clean Architecture. This document outlines the phased implementation plan for Svrnty.MCP.Client, following TDD principles and Clean Architecture.
### Goals ### Goals

View File

@ -1,4 +1,4 @@
# OpenHarbor.MCP.Client - Module Design # Svrnty.MCP.Client - Module Design
**Document Type:** Architecture Design Document **Document Type:** Architecture Design Document
**Status:** Planned **Status:** Planned
@ -9,7 +9,7 @@
## Overview ## Overview
OpenHarbor.MCP.Client is a .NET 8 library that enables applications to act as MCP clients, consuming tools exposed by remote MCP servers. This document defines the architecture, components, and design decisions. Svrnty.MCP.Client is a .NET 8 library that enables applications to act as MCP clients, consuming tools exposed by remote MCP servers. This document defines the architecture, components, and design decisions.
### Purpose ### Purpose
@ -25,13 +25,13 @@ OpenHarbor.MCP.Client is a .NET 8 library that enables applications to act as MC
``` ```
┌─────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────┐
OpenHarbor.MCP.Client.Cli (Executable) │ Svrnty.MCP.Client.Cli (Executable) │
│ ┌───────────────────────────────────────────┐ │ │ ┌───────────────────────────────────────────┐ │
│ │ OpenHarbor.MCP.Client.AspNetCore (DI) │ │ │ │ Svrnty.MCP.Client.AspNetCore (DI) │ │
│ │ ┌─────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────┐ │ │
│ │ │ OpenHarbor.MCP.Client.Infrastructure│ │ │ │ │ │ Svrnty.MCP.Client.Infrastructure│ │ │
│ │ │ ┌───────────────────────────────┐ │ │ │ │ │ │ ┌───────────────────────────────┐ │ │ │
│ │ │ │ OpenHarbor.MCP.Client.Core │ │ │ │ │ │ │ │ Svrnty.MCP.Client.Core │ │ │ │
│ │ │ │ - IMcpClient │ │ │ │ │ │ │ │ - IMcpClient │ │ │ │
│ │ │ │ - IMcpServerConnection │ │ │ │ │ │ │ │ - IMcpServerConnection │ │ │ │
│ │ │ │ - IConnectionPool │ │ │ │ │ │ │ │ - IConnectionPool │ │ │ │

View File

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Client.Core\OpenHarbor.MCP.Client.Core.csproj" /> <ProjectReference Include="..\..\src\Svrnty.MCP.Client.Core\Svrnty.MCP.Client.Core.csproj" />
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Client.Infrastructure\OpenHarbor.MCP.Client.Infrastructure.csproj" /> <ProjectReference Include="..\..\src\Svrnty.MCP.Client.Infrastructure\Svrnty.MCP.Client.Infrastructure.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,8 +1,8 @@
using OpenHarbor.MCP.Client.Core.Exceptions; using Svrnty.MCP.Client.Core.Exceptions;
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
using OpenHarbor.MCP.Client.Infrastructure; using Svrnty.MCP.Client.Infrastructure;
Console.WriteLine("=== OpenHarbor.MCP.Client - CODEX Example ===\n"); Console.WriteLine("=== Svrnty.MCP.Client - CODEX Example ===\n");
// Step 1: Configure MCP servers // Step 1: Configure MCP servers
var serverConfigs = new List<McpServerConfig> var serverConfigs = new List<McpServerConfig>
@ -14,7 +14,7 @@ var serverConfigs = new List<McpServerConfig>
{ {
Type = "Stdio", Type = "Stdio",
Command = "dotnet", Command = "dotnet",
Args = new[] { "run", "--project", "/home/svrnty/codex/OpenHarbor.MCP.Server/samples/CodexMcpServer/CodexMcpServer.csproj" } Args = new[] { "run", "--project", "/home/svrnty/codex/Svrnty.MCP.Server/samples/CodexMcpServer/CodexMcpServer.csproj" }
}, },
Timeout = TimeSpan.FromSeconds(30), Timeout = TimeSpan.FromSeconds(30),
Enabled = true Enabled = true

View File

@ -1,6 +1,6 @@
# CodexMcpClient Sample # CodexMcpClient Sample
Sample console application demonstrating OpenHarbor.MCP.Client usage with CODEX MCP Server. Sample console application demonstrating Svrnty.MCP.Client usage with CODEX MCP Server.
## Purpose ## Purpose
@ -13,7 +13,7 @@ Shows how to:
## Prerequisites ## Prerequisites
- .NET 8.0 SDK - .NET 8.0 SDK
- Running CODEX MCP Server (from OpenHarbor.MCP.Server module) - Running CODEX MCP Server (from Svrnty.MCP.Server module)
## Configuration ## Configuration

View File

@ -1,6 +1,6 @@
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
namespace OpenHarbor.MCP.Client.Core.Abstractions; namespace Svrnty.MCP.Client.Core.Abstractions;
/// <summary> /// <summary>
/// Main MCP client interface for discovering and calling tools from MCP servers. /// Main MCP client interface for discovering and calling tools from MCP servers.

View File

@ -1,6 +1,6 @@
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
namespace OpenHarbor.MCP.Client.Core.Abstractions; namespace Svrnty.MCP.Client.Core.Abstractions;
/// <summary> /// <summary>
/// Represents a connection to a single MCP server. /// Represents a connection to a single MCP server.

View File

@ -1,4 +1,4 @@
namespace OpenHarbor.MCP.Client.Core.Exceptions; namespace Svrnty.MCP.Client.Core.Exceptions;
/// <summary> /// <summary>
/// Exception thrown when MCP connection fails. /// Exception thrown when MCP connection fails.

View File

@ -1,4 +1,4 @@
namespace OpenHarbor.MCP.Client.Core.Models; namespace Svrnty.MCP.Client.Core.Models;
/// <summary> /// <summary>
/// Configuration for connecting to an MCP server. /// Configuration for connecting to an MCP server.

View File

@ -1,6 +1,6 @@
using System.Text.Json; using System.Text.Json;
namespace OpenHarbor.MCP.Client.Core.Models; namespace Svrnty.MCP.Client.Core.Models;
/// <summary> /// <summary>
/// Represents an MCP tool exposed by a server. /// Represents an MCP tool exposed by a server.

View File

@ -1,4 +1,4 @@
namespace OpenHarbor.MCP.Client.Core.Models; namespace Svrnty.MCP.Client.Core.Models;
/// <summary> /// <summary>
/// Represents the result of calling an MCP tool. /// Represents the result of calling an MCP tool.

View File

@ -1,11 +1,11 @@
using System.Net.Http.Headers; using System.Net.Http.Headers;
using System.Text; using System.Text;
using System.Text.Json; using System.Text.Json;
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
using OpenHarbor.MCP.Client.Core.Exceptions; using Svrnty.MCP.Client.Core.Exceptions;
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
namespace OpenHarbor.MCP.Client.Infrastructure; namespace Svrnty.MCP.Client.Infrastructure;
/// <summary> /// <summary>
/// Implements MCP server connection using HTTP transport. /// Implements MCP server connection using HTTP transport.

View File

@ -1,8 +1,8 @@
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
using OpenHarbor.MCP.Client.Core.Exceptions; using Svrnty.MCP.Client.Core.Exceptions;
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
namespace OpenHarbor.MCP.Client.Infrastructure; namespace Svrnty.MCP.Client.Infrastructure;
/// <summary> /// <summary>
/// Implements MCP client for managing multiple MCP server connections. /// Implements MCP client for managing multiple MCP server connections.

View File

@ -1,9 +1,9 @@
using System.Diagnostics; using System.Diagnostics;
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
using OpenHarbor.MCP.Client.Core.Exceptions; using Svrnty.MCP.Client.Core.Exceptions;
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
namespace OpenHarbor.MCP.Client.Infrastructure; namespace Svrnty.MCP.Client.Infrastructure;
/// <summary> /// <summary>
/// Implements MCP server connection using stdio transport (process communication). /// Implements MCP server connection using stdio transport (process communication).

View File

@ -7,7 +7,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\OpenHarbor.MCP.Client.Core\OpenHarbor.MCP.Client.Core.csproj" /> <ProjectReference Include="..\Svrnty.MCP.Client.Core\Svrnty.MCP.Client.Core.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,7 +1,7 @@
using OpenHarbor.MCP.Client.Core.Exceptions; using Svrnty.MCP.Client.Core.Exceptions;
using Xunit; using Xunit;
namespace OpenHarbor.MCP.Client.Core.Tests.Exceptions; namespace Svrnty.MCP.Client.Core.Tests.Exceptions;
/// <summary> /// <summary>
/// Unit tests for MCP exception types. /// Unit tests for MCP exception types.

View File

@ -3,11 +3,11 @@ using System.Text;
using Moq; using Moq;
using Moq.Protected; using Moq.Protected;
using Xunit; using Xunit;
using OpenHarbor.MCP.Client.Core.Exceptions; using Svrnty.MCP.Client.Core.Exceptions;
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
using OpenHarbor.MCP.Client.Infrastructure; using Svrnty.MCP.Client.Infrastructure;
namespace OpenHarbor.MCP.Client.Core.Tests; namespace Svrnty.MCP.Client.Core.Tests;
/// <summary> /// <summary>
/// Unit tests for HttpServerConnection following TDD approach. /// Unit tests for HttpServerConnection following TDD approach.

View File

@ -1,11 +1,11 @@
using Moq; using Moq;
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
using OpenHarbor.MCP.Client.Core.Exceptions; using Svrnty.MCP.Client.Core.Exceptions;
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
using OpenHarbor.MCP.Client.Infrastructure; using Svrnty.MCP.Client.Infrastructure;
using Xunit; using Xunit;
namespace OpenHarbor.MCP.Client.Core.Tests.Infrastructure; namespace Svrnty.MCP.Client.Core.Tests.Infrastructure;
/// <summary> /// <summary>
/// Unit tests for McpClient following TDD approach. /// Unit tests for McpClient following TDD approach.

View File

@ -1,10 +1,10 @@
using OpenHarbor.MCP.Client.Core.Abstractions; using Svrnty.MCP.Client.Core.Abstractions;
using OpenHarbor.MCP.Client.Core.Exceptions; using Svrnty.MCP.Client.Core.Exceptions;
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
using OpenHarbor.MCP.Client.Infrastructure; using Svrnty.MCP.Client.Infrastructure;
using Xunit; using Xunit;
namespace OpenHarbor.MCP.Client.Core.Tests.Infrastructure; namespace Svrnty.MCP.Client.Core.Tests.Infrastructure;
/// <summary> /// <summary>
/// Unit tests for StdioServerConnection following TDD approach. /// Unit tests for StdioServerConnection following TDD approach.

View File

@ -1,7 +1,7 @@
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
using Xunit; using Xunit;
namespace OpenHarbor.MCP.Client.Core.Tests.Models; namespace Svrnty.MCP.Client.Core.Tests.Models;
/// <summary> /// <summary>
/// Unit tests for McpServerConfig and transport configurations. /// Unit tests for McpServerConfig and transport configurations.

View File

@ -1,7 +1,7 @@
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
using Xunit; using Xunit;
namespace OpenHarbor.MCP.Client.Core.Tests.Models; namespace Svrnty.MCP.Client.Core.Tests.Models;
/// <summary> /// <summary>
/// Unit tests for McpToolResult following TDD approach. /// Unit tests for McpToolResult following TDD approach.

View File

@ -1,8 +1,8 @@
using System.Text.Json; using System.Text.Json;
using OpenHarbor.MCP.Client.Core.Models; using Svrnty.MCP.Client.Core.Models;
using Xunit; using Xunit;
namespace OpenHarbor.MCP.Client.Core.Tests.Models; namespace Svrnty.MCP.Client.Core.Tests.Models;
/// <summary> /// <summary>
/// Unit tests for McpTool model. /// Unit tests for McpTool model.

View File

@ -22,8 +22,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Client.Core\OpenHarbor.MCP.Client.Core.csproj" /> <ProjectReference Include="..\..\src\Svrnty.MCP.Client.Core\Svrnty.MCP.Client.Core.csproj" />
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Client.Infrastructure\OpenHarbor.MCP.Client.Infrastructure.csproj" /> <ProjectReference Include="..\..\src\Svrnty.MCP.Client.Infrastructure\Svrnty.MCP.Client.Infrastructure.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>