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.
|
**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
|
||||||
|
|
||||||
|
|||||||
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**
|
**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/)
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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 │ │ │ │
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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).
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user