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:
parent
d936ad7856
commit
97880406dc
@ -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
|
||||
<ItemGroup>
|
||||
<!-- 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) -->
|
||||
<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) -->
|
||||
<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>
|
||||
```
|
||||
|
||||
**Note**: When OpenHarbor.MCP.Client is published to NuGet, replace with:
|
||||
**Note**: When Svrnty.MCP.Client is published to NuGet, replace with:
|
||||
```xml
|
||||
<ItemGroup>
|
||||
<PackageReference Include="OpenHarbor.MCP.Client.AspNetCore" Version="1.0.0" />
|
||||
<PackageReference Include="Svrnty.MCP.Client.AspNetCore" Version="1.0.0" />
|
||||
</ItemGroup>
|
||||
```
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
60
README.md
60
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 <id>
|
||||
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/)
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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 │ │ │ │
|
||||
|
||||
@ -8,8 +8,8 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Client.Core\OpenHarbor.MCP.Client.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Client.Infrastructure\OpenHarbor.MCP.Client.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Client.Core\Svrnty.MCP.Client.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Client.Infrastructure\Svrnty.MCP.Client.Infrastructure.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -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<McpServerConfig>
|
||||
@ -14,7 +14,7 @@ var serverConfigs = new List<McpServerConfig>
|
||||
{
|
||||
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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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>
|
||||
/// Main MCP client interface for discovering and calling tools from MCP servers.
|
||||
|
||||
@ -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>
|
||||
/// Represents a connection to a single MCP server.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Client.Core.Exceptions;
|
||||
namespace Svrnty.MCP.Client.Core.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Exception thrown when MCP connection fails.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Client.Core.Models;
|
||||
namespace Svrnty.MCP.Client.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for connecting to an MCP server.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
using System.Text.Json;
|
||||
|
||||
namespace OpenHarbor.MCP.Client.Core.Models;
|
||||
namespace Svrnty.MCP.Client.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Represents an MCP tool exposed by a server.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Client.Core.Models;
|
||||
namespace Svrnty.MCP.Client.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Represents the result of calling an MCP tool.
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Implements MCP server connection using HTTP transport.
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Implements MCP client for managing multiple MCP server connections.
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Implements MCP server connection using stdio transport (process communication).
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenHarbor.MCP.Client.Core\OpenHarbor.MCP.Client.Core.csproj" />
|
||||
<ProjectReference Include="..\Svrnty.MCP.Client.Core\Svrnty.MCP.Client.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for MCP exception types.
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for HttpServerConnection following TDD approach.
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for McpClient following TDD approach.
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for StdioServerConnection following TDD approach.
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for McpServerConfig and transport configurations.
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for McpToolResult following TDD approach.
|
||||
|
||||
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for McpTool model.
|
||||
|
||||
@ -22,8 +22,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Client.Core\OpenHarbor.MCP.Client.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Client.Infrastructure\OpenHarbor.MCP.Client.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Client.Core\Svrnty.MCP.Client.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Client.Infrastructure\Svrnty.MCP.Client.Infrastructure.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user