diff --git a/AGENT-PRIMER.md b/AGENT-PRIMER.md index 0f67f71..ece79fa 100644 --- a/AGENT-PRIMER.md +++ b/AGENT-PRIMER.md @@ -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. @@ -8,7 +8,7 @@ ## 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:** 1. System analysis (detect .NET version, project type, dependencies) @@ -98,20 +98,20 @@ grep -r "IHostedService\|BackgroundService" --include="*.cs" ```xml - + - + - + ``` -**Note**: When OpenHarbor.MCP.Client is published to NuGet, replace with: +**Note**: When Svrnty.MCP.Client is published to NuGet, replace with: ```xml - + ``` @@ -185,7 +185,7 @@ grep -r "IHostedService\|BackgroundService" --include="*.cs" **For ASP.NET Core projects**: ```csharp -using OpenHarbor.MCP.Client.AspNetCore; +using Svrnty.MCP.Client.AspNetCore; var builder = WebApplication.CreateBuilder(args); @@ -209,7 +209,7 @@ app.Run(); ```csharp using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Configuration; -using OpenHarbor.MCP.Client.Infrastructure; +using Svrnty.MCP.Client.Infrastructure; var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") @@ -241,8 +241,8 @@ Console.WriteLine($"Available tools: {string.Join(", ", tools.Select(t => t.Name **If project has search/query capabilities**: ```csharp -using OpenHarbor.MCP.Client.Core.Abstractions; -using OpenHarbor.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Models; namespace MyApp.Services; @@ -313,7 +313,7 @@ public class CodexSearchService : ICodexSearchService **If project works with documents**: ```csharp -using OpenHarbor.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Abstractions; namespace MyApp.Services; @@ -378,7 +378,7 @@ public class DocumentService : IDocumentService **For advanced scenarios (multiple MCP servers)**: ```csharp -using OpenHarbor.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Abstractions; namespace MyApp.Services; @@ -469,7 +469,7 @@ public class AggregationService : IAggregationService ```csharp using Microsoft.Extensions.Diagnostics.HealthChecks; -using OpenHarbor.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Abstractions; namespace MyApp.HealthChecks; @@ -552,7 +552,7 @@ dotnet run --project /path/to/CodexMcpServer -- tools/list ```csharp using Xunit; using Microsoft.Extensions.DependencyInjection; -using OpenHarbor.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Abstractions; public class McpClientIntegrationTests { @@ -608,7 +608,7 @@ public class McpClientIntegrationTests **Generate summary report**: ```markdown -## OpenHarbor.MCP.Client Setup Complete +## Svrnty.MCP.Client Setup Complete ### Configuration Summary - **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 - 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) 2. Remote API server (HTTP) @@ -725,5 +725,5 @@ Next step: Run `dotnet run` to start. **Document Version**: 1.0.0 **Last Updated**: 2025-10-19 -**Target**: OpenHarbor.MCP.Client +**Target**: Svrnty.MCP.Client diff --git a/README.md b/README.md index 4022187..e2268a5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# OpenHarbor.MCP.Client +# Svrnty.MCP.Client **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. @@ -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. -**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**: - 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: 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 ### Option 2: Manual Setup @@ -63,10 +63,10 @@ If you have access to Claude or another AI assistant: ```bash # 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) -# dotnet add package OpenHarbor.MCP.Client.AspNetCore +# dotnet add package Svrnty.MCP.Client.AspNetCore ``` #### Step 2: Configure appsettings.json @@ -113,7 +113,7 @@ Add MCP client configuration: #### Step 3: Update Program.cs ```csharp -using OpenHarbor.MCP.Client.AspNetCore; +using Svrnty.MCP.Client.AspNetCore; var builder = WebApplication.CreateBuilder(args); @@ -128,7 +128,7 @@ app.Run(); #### Step 4: Use the Client to Call Tools ```csharp -using OpenHarbor.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Abstractions; public class MyService { @@ -198,17 +198,17 @@ Note: HTTP transport is recommended for production with remote servers, load bal ## 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 │ │ │ │ │ │ │ │ - IMcpServerConnection │ │ │ │ │ │ │ │ - IConnectionPool │ │ │ │ @@ -223,10 +223,10 @@ OpenHarbor.MCP.Client follows **Clean Architecture** principles: | Project | Purpose | Dependencies | |---------|---------|--------------| -| **OpenHarbor.MCP.Client.Core** | Abstractions, interfaces, models | None | -| **OpenHarbor.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 | -| **OpenHarbor.MCP.Client.Cli** | Standalone CLI executable | All above | +| **Svrnty.MCP.Client.Core** | Abstractions, interfaces, models | None | +| **Svrnty.MCP.Client.Infrastructure** | MCP client implementation, transports, connection management | Core, System.Text.Json | +| **Svrnty.MCP.Client.AspNetCore** | ASP.NET Core integration, DI extensions | Core, Infrastructure, ASP.NET Core | +| **Svrnty.MCP.Client.Cli** | Standalone CLI executable | All above | See [Architecture Documentation](docs/architecture.md) for detailed design. @@ -251,12 +251,12 @@ samples/CodexMcpClient/ **Running the sample**: ```bash # Terminal 1: Start CODEX MCP Server -cd /path/to/OpenHarbor.MCP.Server/samples/CodexMcpServer +cd /path/to/Svrnty.MCP.Server/samples/CodexMcpServer dotnet run # Server listens on http://localhost:5050 # 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 -- get-document dotnet run -- list-tags @@ -347,7 +347,7 @@ public class ResilientMcpService ### Connection Pooling -OpenHarbor.MCP.Client includes connection pooling for efficient resource usage: +Svrnty.MCP.Client includes connection pooling for efficient resource usage: ```json { @@ -424,7 +424,7 @@ public class ServerHealthService dotnet test # Run specific test project -dotnet test tests/OpenHarbor.MCP.Client.Tests/ +dotnet test tests/Svrnty.MCP.Client.Tests/ # Run with coverage dotnet test /p:CollectCoverage=true @@ -461,13 +461,13 @@ public async Task Client_CanCallMockServerTool() ### 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:** - **Lines**: 88.52% (excellent) - **Branches**: 75.58% (excellent) - **Test Projects**: 1 - - OpenHarbor.MCP.Client.Core.Tests: 60 tests + - Svrnty.MCP.Client.Core.Tests: 60 tests - HTTP client connection tests: 20 tests - Configuration validation tests - Error handling and retry logic @@ -505,11 +505,11 @@ dotnet test --collect:"XPlat Code Coverage" --results-directory ./TestResults ## 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) -- **[OpenHarbor.MCP.Client](../OpenHarbor.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.Server](../Svrnty.MCP.Server/)** - Server library (expose tools TO AI agents) +- **[Svrnty.MCP.Client](../Svrnty.MCP.Client/)** - Client library (call tools FROM servers) ← You are here +- **[Svrnty.MCP.Gateway](../Svrnty.MCP.Gateway/)** - Gateway/proxy (route between clients and servers) All three modules share: - Same Clean Architecture pattern @@ -537,7 +537,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file ## 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 - **Documentation**: [docs/](docs/) diff --git a/Svrnty.MCP.Client.sln b/Svrnty.MCP.Client.sln index 67a70f7..c05a8d6 100644 --- a/Svrnty.MCP.Client.sln +++ b/Svrnty.MCP.Client.sln @@ -5,17 +5,17 @@ VisualStudioVersion = 17.0.31903.59 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E904DDFC-C3F6-4EAE-AB7E-7F614C1C662F}" 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 -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 -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 -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 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{060C6815-5503-4079-9FB1-A320A70D96AB}" 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 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E8A5472E-AE28-4583-B7BB-7E68A62A0C7D}" EndProject diff --git a/docs/api/README.md b/docs/api/README.md index e21522e..9f4b252 100644 --- a/docs/api/README.md +++ b/docs/api/README.md @@ -1,4 +1,4 @@ -# OpenHarbor.MCP.Client - API Reference +# Svrnty.MCP.Client - API Reference **Version:** 1.0.0 **Last Updated:** 2025-10-19 @@ -28,7 +28,7 @@ ### IMcpClient -**Namespace:** `OpenHarbor.MCP.Client.Core.Abstractions` +**Namespace:** `Svrnty.MCP.Client.Core.Abstractions` Interface defining the MCP client contract for consuming MCP servers. @@ -183,7 +183,7 @@ await client.DisconnectFromServerAsync("codex-server"); ### IMcpServerConnection -**Namespace:** `OpenHarbor.MCP.Client.Core.Abstractions` +**Namespace:** `Svrnty.MCP.Client.Core.Abstractions` Interface representing a connection to a single MCP server. @@ -249,7 +249,7 @@ var response = await connection.SendRequestAsync(request); ### McpClient -**Namespace:** `OpenHarbor.MCP.Client.Infrastructure` +**Namespace:** `Svrnty.MCP.Client.Infrastructure` Default implementation of `IMcpClient`. @@ -296,7 +296,7 @@ client.RetryBackoff = RetryBackoffStrategy.Exponential; ### HttpServerConnection -**Namespace:** `OpenHarbor.MCP.Client.Infrastructure.Transports` +**Namespace:** `Svrnty.MCP.Client.Infrastructure.Transports` HTTP-based implementation of `IMcpServerConnection`. @@ -346,7 +346,7 @@ public class HttpServerConnectionConfig : ServerConnectionConfig ### ServerConnectionConfig -**Namespace:** `OpenHarbor.MCP.Client.Core.Models` +**Namespace:** `Svrnty.MCP.Client.Core.Models` Base configuration for server connections. @@ -382,7 +382,7 @@ var config = new ServerConnectionConfig ### McpToolInfo -**Namespace:** `OpenHarbor.MCP.Client.Core.Models` +**Namespace:** `Svrnty.MCP.Client.Core.Models` Metadata about an available tool. @@ -412,7 +412,7 @@ var toolInfo = new McpToolInfo ### McpToolResult -**Namespace:** `OpenHarbor.MCP.Client.Core.Models` +**Namespace:** `Svrnty.MCP.Client.Core.Models` Result of a tool execution. @@ -449,7 +449,7 @@ else ### Service Extensions -**Namespace:** `OpenHarbor.MCP.Client.AspNetCore` +**Namespace:** `Svrnty.MCP.Client.AspNetCore` #### AddMcpClient @@ -618,8 +618,8 @@ catch (McpException ex) ### Console Application ```csharp -using OpenHarbor.MCP.Client.Core; -using OpenHarbor.MCP.Client.Infrastructure; +using Svrnty.MCP.Client.Core; +using Svrnty.MCP.Client.Infrastructure; class Program { diff --git a/docs/deployment/https-setup.md b/docs/deployment/https-setup.md index 47770f0..f101a03 100644 --- a/docs/deployment/https-setup.md +++ b/docs/deployment/https-setup.md @@ -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 **Audience**: Application developers, system integrators @@ -22,7 +22,7 @@ ## 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:** - 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** ```csharp -using OpenHarbor.MCP.Client; +using Svrnty.MCP.Client; // Connect to HTTPS server var config = new HttpServerConnectionConfig @@ -668,7 +668,7 @@ Before deploying to production: ## References -**OpenHarbor.MCP Documentation:** +**Svrnty.MCP Documentation:** - [Client README](../../README.md) - [API Reference](../../docs/api/client-api.md) - [Integration Guide](../../docs/integration-guide.md) @@ -687,4 +687,4 @@ Before deploying to production: **Document Version**: 1.0.0 **Last Updated**: 2025-10-19 **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) diff --git a/docs/implementation-plan.md b/docs/implementation-plan.md index d4b8bba..c217598 100644 --- a/docs/implementation-plan.md +++ b/docs/implementation-plan.md @@ -1,4 +1,4 @@ -# OpenHarbor.MCP.Client - Implementation Plan +# Svrnty.MCP.Client - Implementation Plan **Document Type:** Implementation Roadmap **Status:** Planned @@ -9,7 +9,7 @@ ## 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 diff --git a/docs/module-design.md b/docs/module-design.md index 53a8a74..c054a19 100644 --- a/docs/module-design.md +++ b/docs/module-design.md @@ -1,4 +1,4 @@ -# OpenHarbor.MCP.Client - Module Design +# Svrnty.MCP.Client - Module Design **Document Type:** Architecture Design Document **Status:** Planned @@ -9,7 +9,7 @@ ## 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 @@ -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 │ │ │ │ │ │ │ │ - IMcpServerConnection │ │ │ │ │ │ │ │ - IConnectionPool │ │ │ │ diff --git a/samples/CodexMcpClient/CodexMcpClient.csproj b/samples/CodexMcpClient/CodexMcpClient.csproj index 4c32f3d..94507aa 100644 --- a/samples/CodexMcpClient/CodexMcpClient.csproj +++ b/samples/CodexMcpClient/CodexMcpClient.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/samples/CodexMcpClient/Program.cs b/samples/CodexMcpClient/Program.cs index 629163f..63984c2 100644 --- a/samples/CodexMcpClient/Program.cs +++ b/samples/CodexMcpClient/Program.cs @@ -1,8 +1,8 @@ -using OpenHarbor.MCP.Client.Core.Exceptions; -using OpenHarbor.MCP.Client.Core.Models; -using OpenHarbor.MCP.Client.Infrastructure; +using Svrnty.MCP.Client.Core.Exceptions; +using Svrnty.MCP.Client.Core.Models; +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 var serverConfigs = new List @@ -14,7 +14,7 @@ var serverConfigs = new List { Type = "Stdio", 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), Enabled = true diff --git a/samples/CodexMcpClient/README.md b/samples/CodexMcpClient/README.md index f3607a4..c27faa6 100644 --- a/samples/CodexMcpClient/README.md +++ b/samples/CodexMcpClient/README.md @@ -1,6 +1,6 @@ # 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 @@ -13,7 +13,7 @@ Shows how to: ## Prerequisites - .NET 8.0 SDK -- Running CODEX MCP Server (from OpenHarbor.MCP.Server module) +- Running CODEX MCP Server (from Svrnty.MCP.Server module) ## Configuration diff --git a/src/Svrnty.MCP.Client.Core/Abstractions/IMcpClient.cs b/src/Svrnty.MCP.Client.Core/Abstractions/IMcpClient.cs index 94b6eff..c103d2d 100644 --- a/src/Svrnty.MCP.Client.Core/Abstractions/IMcpClient.cs +++ b/src/Svrnty.MCP.Client.Core/Abstractions/IMcpClient.cs @@ -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; /// /// Main MCP client interface for discovering and calling tools from MCP servers. diff --git a/src/Svrnty.MCP.Client.Core/Abstractions/IMcpServerConnection.cs b/src/Svrnty.MCP.Client.Core/Abstractions/IMcpServerConnection.cs index 2075ecf..9bdde8f 100644 --- a/src/Svrnty.MCP.Client.Core/Abstractions/IMcpServerConnection.cs +++ b/src/Svrnty.MCP.Client.Core/Abstractions/IMcpServerConnection.cs @@ -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; /// /// Represents a connection to a single MCP server. diff --git a/src/Svrnty.MCP.Client.Core/Exceptions/McpConnectionException.cs b/src/Svrnty.MCP.Client.Core/Exceptions/McpConnectionException.cs index 9ffa69f..a5afa1d 100644 --- a/src/Svrnty.MCP.Client.Core/Exceptions/McpConnectionException.cs +++ b/src/Svrnty.MCP.Client.Core/Exceptions/McpConnectionException.cs @@ -1,4 +1,4 @@ -namespace OpenHarbor.MCP.Client.Core.Exceptions; +namespace Svrnty.MCP.Client.Core.Exceptions; /// /// Exception thrown when MCP connection fails. diff --git a/src/Svrnty.MCP.Client.Core/Models/McpServerConfig.cs b/src/Svrnty.MCP.Client.Core/Models/McpServerConfig.cs index 101824e..295cfc5 100644 --- a/src/Svrnty.MCP.Client.Core/Models/McpServerConfig.cs +++ b/src/Svrnty.MCP.Client.Core/Models/McpServerConfig.cs @@ -1,4 +1,4 @@ -namespace OpenHarbor.MCP.Client.Core.Models; +namespace Svrnty.MCP.Client.Core.Models; /// /// Configuration for connecting to an MCP server. diff --git a/src/Svrnty.MCP.Client.Core/Models/McpTool.cs b/src/Svrnty.MCP.Client.Core/Models/McpTool.cs index 8502233..4c0cc10 100644 --- a/src/Svrnty.MCP.Client.Core/Models/McpTool.cs +++ b/src/Svrnty.MCP.Client.Core/Models/McpTool.cs @@ -1,6 +1,6 @@ using System.Text.Json; -namespace OpenHarbor.MCP.Client.Core.Models; +namespace Svrnty.MCP.Client.Core.Models; /// /// Represents an MCP tool exposed by a server. diff --git a/src/Svrnty.MCP.Client.Core/Models/McpToolResult.cs b/src/Svrnty.MCP.Client.Core/Models/McpToolResult.cs index 7920bb4..8f48706 100644 --- a/src/Svrnty.MCP.Client.Core/Models/McpToolResult.cs +++ b/src/Svrnty.MCP.Client.Core/Models/McpToolResult.cs @@ -1,4 +1,4 @@ -namespace OpenHarbor.MCP.Client.Core.Models; +namespace Svrnty.MCP.Client.Core.Models; /// /// Represents the result of calling an MCP tool. diff --git a/src/Svrnty.MCP.Client.Infrastructure/HttpServerConnection.cs b/src/Svrnty.MCP.Client.Infrastructure/HttpServerConnection.cs index 2537368..bc152cf 100644 --- a/src/Svrnty.MCP.Client.Infrastructure/HttpServerConnection.cs +++ b/src/Svrnty.MCP.Client.Infrastructure/HttpServerConnection.cs @@ -1,11 +1,11 @@ using System.Net.Http.Headers; using System.Text; using System.Text.Json; -using OpenHarbor.MCP.Client.Core.Abstractions; -using OpenHarbor.MCP.Client.Core.Exceptions; -using OpenHarbor.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Exceptions; +using Svrnty.MCP.Client.Core.Models; -namespace OpenHarbor.MCP.Client.Infrastructure; +namespace Svrnty.MCP.Client.Infrastructure; /// /// Implements MCP server connection using HTTP transport. diff --git a/src/Svrnty.MCP.Client.Infrastructure/McpClient.cs b/src/Svrnty.MCP.Client.Infrastructure/McpClient.cs index 8d54359..cb79bc0 100644 --- a/src/Svrnty.MCP.Client.Infrastructure/McpClient.cs +++ b/src/Svrnty.MCP.Client.Infrastructure/McpClient.cs @@ -1,8 +1,8 @@ -using OpenHarbor.MCP.Client.Core.Abstractions; -using OpenHarbor.MCP.Client.Core.Exceptions; -using OpenHarbor.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Exceptions; +using Svrnty.MCP.Client.Core.Models; -namespace OpenHarbor.MCP.Client.Infrastructure; +namespace Svrnty.MCP.Client.Infrastructure; /// /// Implements MCP client for managing multiple MCP server connections. diff --git a/src/Svrnty.MCP.Client.Infrastructure/StdioServerConnection.cs b/src/Svrnty.MCP.Client.Infrastructure/StdioServerConnection.cs index d8d7092..4263173 100644 --- a/src/Svrnty.MCP.Client.Infrastructure/StdioServerConnection.cs +++ b/src/Svrnty.MCP.Client.Infrastructure/StdioServerConnection.cs @@ -1,9 +1,9 @@ using System.Diagnostics; -using OpenHarbor.MCP.Client.Core.Abstractions; -using OpenHarbor.MCP.Client.Core.Exceptions; -using OpenHarbor.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Exceptions; +using Svrnty.MCP.Client.Core.Models; -namespace OpenHarbor.MCP.Client.Infrastructure; +namespace Svrnty.MCP.Client.Infrastructure; /// /// Implements MCP server connection using stdio transport (process communication). diff --git a/src/Svrnty.MCP.Client.Infrastructure/Svrnty.MCP.Client.Infrastructure.csproj b/src/Svrnty.MCP.Client.Infrastructure/Svrnty.MCP.Client.Infrastructure.csproj index 8423a07..5923339 100644 --- a/src/Svrnty.MCP.Client.Infrastructure/Svrnty.MCP.Client.Infrastructure.csproj +++ b/src/Svrnty.MCP.Client.Infrastructure/Svrnty.MCP.Client.Infrastructure.csproj @@ -7,7 +7,7 @@ - + diff --git a/tests/Svrnty.MCP.Client.Core.Tests/Exceptions/McpConnectionExceptionTests.cs b/tests/Svrnty.MCP.Client.Core.Tests/Exceptions/McpConnectionExceptionTests.cs index 7a7d4ab..0e2bde2 100644 --- a/tests/Svrnty.MCP.Client.Core.Tests/Exceptions/McpConnectionExceptionTests.cs +++ b/tests/Svrnty.MCP.Client.Core.Tests/Exceptions/McpConnectionExceptionTests.cs @@ -1,7 +1,7 @@ -using OpenHarbor.MCP.Client.Core.Exceptions; +using Svrnty.MCP.Client.Core.Exceptions; using Xunit; -namespace OpenHarbor.MCP.Client.Core.Tests.Exceptions; +namespace Svrnty.MCP.Client.Core.Tests.Exceptions; /// /// Unit tests for MCP exception types. diff --git a/tests/Svrnty.MCP.Client.Core.Tests/HttpServerConnectionTests.cs b/tests/Svrnty.MCP.Client.Core.Tests/HttpServerConnectionTests.cs index 3244f50..5308bc6 100644 --- a/tests/Svrnty.MCP.Client.Core.Tests/HttpServerConnectionTests.cs +++ b/tests/Svrnty.MCP.Client.Core.Tests/HttpServerConnectionTests.cs @@ -3,11 +3,11 @@ using System.Text; using Moq; using Moq.Protected; using Xunit; -using OpenHarbor.MCP.Client.Core.Exceptions; -using OpenHarbor.MCP.Client.Core.Models; -using OpenHarbor.MCP.Client.Infrastructure; +using Svrnty.MCP.Client.Core.Exceptions; +using Svrnty.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Infrastructure; -namespace OpenHarbor.MCP.Client.Core.Tests; +namespace Svrnty.MCP.Client.Core.Tests; /// /// Unit tests for HttpServerConnection following TDD approach. diff --git a/tests/Svrnty.MCP.Client.Core.Tests/Infrastructure/McpClientTests.cs b/tests/Svrnty.MCP.Client.Core.Tests/Infrastructure/McpClientTests.cs index 95504c7..11146b4 100644 --- a/tests/Svrnty.MCP.Client.Core.Tests/Infrastructure/McpClientTests.cs +++ b/tests/Svrnty.MCP.Client.Core.Tests/Infrastructure/McpClientTests.cs @@ -1,11 +1,11 @@ using Moq; -using OpenHarbor.MCP.Client.Core.Abstractions; -using OpenHarbor.MCP.Client.Core.Exceptions; -using OpenHarbor.MCP.Client.Core.Models; -using OpenHarbor.MCP.Client.Infrastructure; +using Svrnty.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Exceptions; +using Svrnty.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Infrastructure; using Xunit; -namespace OpenHarbor.MCP.Client.Core.Tests.Infrastructure; +namespace Svrnty.MCP.Client.Core.Tests.Infrastructure; /// /// Unit tests for McpClient following TDD approach. diff --git a/tests/Svrnty.MCP.Client.Core.Tests/Infrastructure/StdioServerConnectionTests.cs b/tests/Svrnty.MCP.Client.Core.Tests/Infrastructure/StdioServerConnectionTests.cs index 1df7b17..eccfe6f 100644 --- a/tests/Svrnty.MCP.Client.Core.Tests/Infrastructure/StdioServerConnectionTests.cs +++ b/tests/Svrnty.MCP.Client.Core.Tests/Infrastructure/StdioServerConnectionTests.cs @@ -1,10 +1,10 @@ -using OpenHarbor.MCP.Client.Core.Abstractions; -using OpenHarbor.MCP.Client.Core.Exceptions; -using OpenHarbor.MCP.Client.Core.Models; -using OpenHarbor.MCP.Client.Infrastructure; +using Svrnty.MCP.Client.Core.Abstractions; +using Svrnty.MCP.Client.Core.Exceptions; +using Svrnty.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Infrastructure; using Xunit; -namespace OpenHarbor.MCP.Client.Core.Tests.Infrastructure; +namespace Svrnty.MCP.Client.Core.Tests.Infrastructure; /// /// Unit tests for StdioServerConnection following TDD approach. diff --git a/tests/Svrnty.MCP.Client.Core.Tests/Models/McpServerConfigTests.cs b/tests/Svrnty.MCP.Client.Core.Tests/Models/McpServerConfigTests.cs index 93abdaa..933e305 100644 --- a/tests/Svrnty.MCP.Client.Core.Tests/Models/McpServerConfigTests.cs +++ b/tests/Svrnty.MCP.Client.Core.Tests/Models/McpServerConfigTests.cs @@ -1,7 +1,7 @@ -using OpenHarbor.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Core.Models; using Xunit; -namespace OpenHarbor.MCP.Client.Core.Tests.Models; +namespace Svrnty.MCP.Client.Core.Tests.Models; /// /// Unit tests for McpServerConfig and transport configurations. diff --git a/tests/Svrnty.MCP.Client.Core.Tests/Models/McpToolResultTests.cs b/tests/Svrnty.MCP.Client.Core.Tests/Models/McpToolResultTests.cs index e6237ce..f8ea4c8 100644 --- a/tests/Svrnty.MCP.Client.Core.Tests/Models/McpToolResultTests.cs +++ b/tests/Svrnty.MCP.Client.Core.Tests/Models/McpToolResultTests.cs @@ -1,7 +1,7 @@ -using OpenHarbor.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Core.Models; using Xunit; -namespace OpenHarbor.MCP.Client.Core.Tests.Models; +namespace Svrnty.MCP.Client.Core.Tests.Models; /// /// Unit tests for McpToolResult following TDD approach. diff --git a/tests/Svrnty.MCP.Client.Core.Tests/Models/McpToolTests.cs b/tests/Svrnty.MCP.Client.Core.Tests/Models/McpToolTests.cs index c9e4592..5247e18 100644 --- a/tests/Svrnty.MCP.Client.Core.Tests/Models/McpToolTests.cs +++ b/tests/Svrnty.MCP.Client.Core.Tests/Models/McpToolTests.cs @@ -1,8 +1,8 @@ using System.Text.Json; -using OpenHarbor.MCP.Client.Core.Models; +using Svrnty.MCP.Client.Core.Models; using Xunit; -namespace OpenHarbor.MCP.Client.Core.Tests.Models; +namespace Svrnty.MCP.Client.Core.Tests.Models; /// /// Unit tests for McpTool model. diff --git a/tests/Svrnty.MCP.Client.Core.Tests/Svrnty.MCP.Client.Core.Tests.csproj b/tests/Svrnty.MCP.Client.Core.Tests/Svrnty.MCP.Client.Core.Tests.csproj index c4e255a..8bf6eac 100644 --- a/tests/Svrnty.MCP.Client.Core.Tests/Svrnty.MCP.Client.Core.Tests.csproj +++ b/tests/Svrnty.MCP.Client.Core.Tests/Svrnty.MCP.Client.Core.Tests.csproj @@ -22,8 +22,8 @@ - - + +