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
a4a1dd2e38
commit
19ef79362e
@ -1,6 +1,6 @@
|
|||||||
# AGENT-PRIMER: OpenHarbor.MCP.Gateway Automated Setup
|
# AGENT-PRIMER: Svrnty.MCP.Gateway Automated Setup
|
||||||
|
|
||||||
**Purpose**: Guide AI agents to automatically analyze a target system and configure OpenHarbor.MCP.Gateway integration.
|
**Purpose**: Guide AI agents to automatically analyze a target system and configure Svrnty.MCP.Gateway integration.
|
||||||
|
|
||||||
**Target Audience**: AI assistants (Claude, ChatGPT, etc.) helping developers set up MCP gateway/proxy infrastructure.
|
**Target Audience**: AI assistants (Claude, ChatGPT, etc.) helping developers set up MCP gateway/proxy infrastructure.
|
||||||
|
|
||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
OpenHarbor.MCP.Gateway is a **standalone .NET library** that provides proxy and routing infrastructure for MCP traffic, enabling centralized management between MCP clients and servers.
|
Svrnty.MCP.Gateway is a **standalone .NET library** that provides proxy and routing infrastructure for MCP traffic, enabling centralized management between MCP clients and servers.
|
||||||
|
|
||||||
**What you'll automate:**
|
**What you'll automate:**
|
||||||
1. System analysis (detect .NET version, network requirements)
|
1. System analysis (detect .NET version, network requirements)
|
||||||
@ -106,7 +106,7 @@ find . -name "*McpServer*" -type d
|
|||||||
### 2.2 Program.cs Integration
|
### 2.2 Program.cs Integration
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using OpenHarbor.MCP.Gateway.AspNetCore;
|
using Svrnty.MCP.Gateway.AspNetCore;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
@ -193,4 +193,4 @@ curl http://localhost:8080/health
|
|||||||
|
|
||||||
**Document Version**: 1.0.0
|
**Document Version**: 1.0.0
|
||||||
**Last Updated**: 2025-10-19
|
**Last Updated**: 2025-10-19
|
||||||
**Target**: OpenHarbor.MCP.Gateway
|
**Target**: Svrnty.MCP.Gateway
|
||||||
|
|||||||
58
README.md
58
README.md
@ -1,4 +1,4 @@
|
|||||||
# OpenHarbor.MCP.Gateway
|
# Svrnty.MCP.Gateway
|
||||||
|
|
||||||
**A modular, scalable, secure .NET library for routing and managing Model Context Protocol (MCP) traffic**
|
**A modular, scalable, secure .NET library for routing and managing Model Context Protocol (MCP) traffic**
|
||||||
|
|
||||||
@ -8,9 +8,9 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## What is OpenHarbor.MCP.Gateway?
|
## What is Svrnty.MCP.Gateway?
|
||||||
|
|
||||||
OpenHarbor.MCP.Gateway is a **standalone, reusable .NET library** that provides proxy and routing infrastructure for Model Context Protocol (MCP) traffic, enabling centralized management, authentication, monitoring, and load balancing between MCP clients and servers.
|
Svrnty.MCP.Gateway is a **standalone, reusable .NET library** that provides proxy and routing infrastructure for Model Context Protocol (MCP) traffic, enabling centralized management, authentication, monitoring, and load balancing between MCP clients and 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. The Gateway acts as an intelligent intermediary that enhances security, observability, and reliability.
|
**Model Context Protocol (MCP)** is an industry-standard protocol backed by Anthropic that defines how AI agents communicate with external tools and data sources. The Gateway acts as an intelligent intermediary that enhances security, observability, and reliability.
|
||||||
|
|
||||||
@ -26,11 +26,11 @@ OpenHarbor.MCP.Gateway is a **standalone, reusable .NET library** that provides
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Why OpenHarbor.MCP.Gateway?
|
## Why Svrnty.MCP.Gateway?
|
||||||
|
|
||||||
**Problem**: Managing multiple MCP clients connecting to multiple MCP servers becomes complex, with duplicated authentication, monitoring, and routing logic scattered across components.
|
**Problem**: Managing multiple MCP clients connecting to multiple MCP servers becomes complex, with duplicated authentication, monitoring, and routing logic scattered across components.
|
||||||
|
|
||||||
**Solution**: OpenHarbor.MCP.Gateway provides a centralized proxy that handles routing, authentication, rate limiting, and monitoring in one place, simplifying architecture and enhancing security.
|
**Solution**: Svrnty.MCP.Gateway provides a centralized proxy that handles routing, authentication, rate limiting, and monitoring in one place, simplifying architecture and enhancing security.
|
||||||
|
|
||||||
**Use Cases**:
|
**Use Cases**:
|
||||||
- Route multiple AI agents to appropriate backend MCP servers
|
- Route multiple AI agents to appropriate backend MCP servers
|
||||||
@ -56,7 +56,7 @@ OpenHarbor.MCP.Gateway is a **standalone, reusable .NET library** that provides
|
|||||||
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.Gateway for my project"
|
2. Open your AI assistant and say: "Read AGENT-PRIMER.md and set up Svrnty.MCP.Gateway for my project"
|
||||||
3. The AI will analyze your system, generate configuration, and create routing rules automatically
|
3. The AI will analyze your system, generate configuration, and create routing rules automatically
|
||||||
|
|
||||||
### Option 2: Manual Setup
|
### Option 2: Manual Setup
|
||||||
@ -65,10 +65,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.Gateway/src/OpenHarbor.MCP.Gateway.AspNetCore/OpenHarbor.MCP.Gateway.AspNetCore.csproj
|
dotnet add reference /path/to/Svrnty.MCP.Gateway/src/Svrnty.MCP.Gateway.AspNetCore/Svrnty.MCP.Gateway.AspNetCore.csproj
|
||||||
|
|
||||||
# OR via NuGet (when published)
|
# OR via NuGet (when published)
|
||||||
# dotnet add package OpenHarbor.MCP.Gateway.AspNetCore
|
# dotnet add package Svrnty.MCP.Gateway.AspNetCore
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Step 2: Configure appsettings.json
|
#### Step 2: Configure appsettings.json
|
||||||
@ -137,7 +137,7 @@ Add Gateway configuration:
|
|||||||
#### Step 3: Update Program.cs
|
#### Step 3: Update Program.cs
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using OpenHarbor.MCP.Gateway.AspNetCore;
|
using Svrnty.MCP.Gateway.AspNetCore;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ app.Run();
|
|||||||
#### Step 4: Configure Routing Rules
|
#### Step 4: Configure Routing Rules
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using OpenHarbor.MCP.Gateway.Core.Routing;
|
using Svrnty.MCP.Gateway.Core.Routing;
|
||||||
|
|
||||||
public class CustomRoutingStrategy : IRoutingStrategy
|
public class CustomRoutingStrategy : IRoutingStrategy
|
||||||
{
|
{
|
||||||
@ -210,17 +210,17 @@ curl -X POST http://localhost:8080/mcp/invoke \
|
|||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
OpenHarbor.MCP.Gateway follows **Clean Architecture** principles:
|
Svrnty.MCP.Gateway follows **Clean Architecture** principles:
|
||||||
|
|
||||||
```
|
```
|
||||||
┌─────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────┐
|
||||||
│ OpenHarbor.MCP.Gateway.Cli (Executable) │
|
│ Svrnty.MCP.Gateway.Cli (Executable) │
|
||||||
│ ┌───────────────────────────────────────────┐ │
|
│ ┌───────────────────────────────────────────┐ │
|
||||||
│ │ OpenHarbor.MCP.Gateway.AspNetCore (HTTP)│ │
|
│ │ Svrnty.MCP.Gateway.AspNetCore (HTTP)│ │
|
||||||
│ │ ┌─────────────────────────────────────┐ │ │
|
│ │ ┌─────────────────────────────────────┐ │ │
|
||||||
│ │ │ OpenHarbor.MCP.Gateway.Infrastructure│ │ │
|
│ │ │ Svrnty.MCP.Gateway.Infrastructure│ │ │
|
||||||
│ │ │ ┌───────────────────────────────┐ │ │ │
|
│ │ │ ┌───────────────────────────────┐ │ │ │
|
||||||
│ │ │ │ OpenHarbor.MCP.Gateway.Core │ │ │ │
|
│ │ │ │ Svrnty.MCP.Gateway.Core │ │ │ │
|
||||||
│ │ │ │ - IGatewayRouter │ │ │ │
|
│ │ │ │ - IGatewayRouter │ │ │ │
|
||||||
│ │ │ │ - IRoutingStrategy │ │ │ │
|
│ │ │ │ - IRoutingStrategy │ │ │ │
|
||||||
│ │ │ │ - IAuthProvider │ │ │ │
|
│ │ │ │ - IAuthProvider │ │ │ │
|
||||||
@ -236,10 +236,10 @@ OpenHarbor.MCP.Gateway follows **Clean Architecture** principles:
|
|||||||
|
|
||||||
| Project | Purpose | Dependencies |
|
| Project | Purpose | Dependencies |
|
||||||
|---------|---------|--------------|
|
|---------|---------|--------------|
|
||||||
| **OpenHarbor.MCP.Gateway.Core** | Abstractions, interfaces, models | None |
|
| **Svrnty.MCP.Gateway.Core** | Abstractions, interfaces, models | None |
|
||||||
| **OpenHarbor.MCP.Gateway.Infrastructure** | Router, auth, circuit breakers, load balancing | Core, System.Text.Json |
|
| **Svrnty.MCP.Gateway.Infrastructure** | Router, auth, circuit breakers, load balancing | Core, System.Text.Json |
|
||||||
| **OpenHarbor.MCP.Gateway.AspNetCore** | ASP.NET Core integration, HTTP endpoints | Core, Infrastructure, ASP.NET Core |
|
| **Svrnty.MCP.Gateway.AspNetCore** | ASP.NET Core integration, HTTP endpoints | Core, Infrastructure, ASP.NET Core |
|
||||||
| **OpenHarbor.MCP.Gateway.Cli** | Management CLI for gateway | All above |
|
| **Svrnty.MCP.Gateway.Cli** | Management CLI for gateway | All above |
|
||||||
|
|
||||||
See [Architecture Documentation](docs/architecture.md) for detailed design.
|
See [Architecture Documentation](docs/architecture.md) for detailed design.
|
||||||
|
|
||||||
@ -478,7 +478,7 @@ curl http://localhost:8080/health
|
|||||||
dotnet test
|
dotnet test
|
||||||
|
|
||||||
# Run specific test project
|
# Run specific test project
|
||||||
dotnet test tests/OpenHarbor.MCP.Gateway.Tests/
|
dotnet test tests/Svrnty.MCP.Gateway.Tests/
|
||||||
|
|
||||||
# Run with coverage
|
# Run with coverage
|
||||||
dotnet test /p:CollectCoverage=true
|
dotnet test /p:CollectCoverage=true
|
||||||
@ -503,21 +503,21 @@ dotnet run -- --clients 100 --duration 60s
|
|||||||
|
|
||||||
### Test Coverage
|
### Test Coverage
|
||||||
|
|
||||||
OpenHarbor.MCP.Gateway maintains **76.99% average line coverage** and **57.45% average branch coverage** with **192 tests** passing (100%).
|
Svrnty.MCP.Gateway maintains **76.99% average line coverage** and **57.45% average branch coverage** with **192 tests** passing (100%).
|
||||||
|
|
||||||
**Coverage Breakdown by Project:**
|
**Coverage Breakdown by Project:**
|
||||||
|
|
||||||
1. **OpenHarbor.MCP.Gateway.Core.Tests**: 68 tests
|
1. **Svrnty.MCP.Gateway.Core.Tests**: 68 tests
|
||||||
- Line Coverage: 76.99%
|
- Line Coverage: 76.99%
|
||||||
- Branch Coverage: 57.45%
|
- Branch Coverage: 57.45%
|
||||||
- Domain models, routing strategies, connection management
|
- Domain models, routing strategies, connection management
|
||||||
|
|
||||||
2. **OpenHarbor.MCP.Gateway.Infrastructure.Tests**: 118 tests
|
2. **Svrnty.MCP.Gateway.Infrastructure.Tests**: 118 tests
|
||||||
- Line Coverage: 84.16% (excellent)
|
- Line Coverage: 84.16% (excellent)
|
||||||
- Branch Coverage: 67.39%
|
- Branch Coverage: 67.39%
|
||||||
- HTTP client pooling, circuit breakers, health checks
|
- HTTP client pooling, circuit breakers, health checks
|
||||||
|
|
||||||
3. **OpenHarbor.MCP.Gateway.AspNetCore.Tests**: 6 tests
|
3. **Svrnty.MCP.Gateway.AspNetCore.Tests**: 6 tests
|
||||||
- Line Coverage: 4.62% (low - expected)
|
- Line Coverage: 4.62% (low - expected)
|
||||||
- Branch Coverage: 3.87%
|
- Branch Coverage: 3.87%
|
||||||
- ASP.NET Core middleware and configuration
|
- ASP.NET Core middleware and configuration
|
||||||
@ -558,11 +558,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)
|
- **[Svrnty.MCP.Client](../Svrnty.MCP.Client/)** - Client library (call tools FROM servers)
|
||||||
- **[OpenHarbor.MCP.Gateway](../OpenHarbor.MCP.Gateway/)** - Gateway/proxy (route between clients and servers) ← You are here
|
- **[Svrnty.MCP.Gateway](../Svrnty.MCP.Gateway/)** - Gateway/proxy (route between clients and servers) ← You are here
|
||||||
|
|
||||||
All three modules share:
|
All three modules share:
|
||||||
- Same Clean Architecture pattern
|
- Same Clean Architecture pattern
|
||||||
@ -590,7 +590,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,25 +5,25 @@ VisualStudioVersion = 17.0.31903.59
|
|||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{FAC4D8BF-BBE2-4545-9B25-5A0D810302FC}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{FAC4D8BF-BBE2-4545-9B25-5A0D810302FC}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Gateway.Core", "src\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj", "{EC69B6BF-59AB-4367-8546-A51AAFB64323}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Gateway.Core", "src\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj", "{EC69B6BF-59AB-4367-8546-A51AAFB64323}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Gateway.Infrastructure", "src\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj", "{94F59950-2E36-4988-96F5-6BF3AB81BC41}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Gateway.Infrastructure", "src\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj", "{94F59950-2E36-4988-96F5-6BF3AB81BC41}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Gateway.AspNetCore", "src\OpenHarbor.MCP.Gateway.AspNetCore\OpenHarbor.MCP.Gateway.AspNetCore.csproj", "{9EB71750-55B8-45DE-87CE-34A7DCB1711A}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Gateway.AspNetCore", "src\Svrnty.MCP.Gateway.AspNetCore\Svrnty.MCP.Gateway.AspNetCore.csproj", "{9EB71750-55B8-45DE-87CE-34A7DCB1711A}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Gateway.Cli", "src\OpenHarbor.MCP.Gateway.Cli\OpenHarbor.MCP.Gateway.Cli.csproj", "{5F4678A0-E500-458B-975A-21CCAD6B4648}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Gateway.Cli", "src\Svrnty.MCP.Gateway.Cli\Svrnty.MCP.Gateway.Cli.csproj", "{5F4678A0-E500-458B-975A-21CCAD6B4648}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{D1CB7824-CB33-4104-9501-686233FBB593}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{D1CB7824-CB33-4104-9501-686233FBB593}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Gateway.Core.Tests", "tests\OpenHarbor.MCP.Gateway.Core.Tests\OpenHarbor.MCP.Gateway.Core.Tests.csproj", "{311C3D42-7839-4FA0-A3AB-783AAD687EB7}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Gateway.Core.Tests", "tests\Svrnty.MCP.Gateway.Core.Tests\Svrnty.MCP.Gateway.Core.Tests.csproj", "{311C3D42-7839-4FA0-A3AB-783AAD687EB7}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{77F08943-57E8-413A-A21C-2C268B416AAC}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{77F08943-57E8-413A-A21C-2C268B416AAC}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexMcpGateway", "samples\CodexMcpGateway\CodexMcpGateway.csproj", "{3BBA34E5-0FB9-45D3-9B3C-537C25FB1A9A}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexMcpGateway", "samples\CodexMcpGateway\CodexMcpGateway.csproj", "{3BBA34E5-0FB9-45D3-9B3C-537C25FB1A9A}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Gateway.Infrastructure.Tests", "tests\OpenHarbor.MCP.Gateway.Infrastructure.Tests\OpenHarbor.MCP.Gateway.Infrastructure.Tests.csproj", "{8A430DE1-0B83-4B50-B4D7-FA683FE17054}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Gateway.Infrastructure.Tests", "tests\Svrnty.MCP.Gateway.Infrastructure.Tests\Svrnty.MCP.Gateway.Infrastructure.Tests.csproj", "{8A430DE1-0B83-4B50-B4D7-FA683FE17054}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Gateway.AspNetCore.Tests", "tests\OpenHarbor.MCP.Gateway.AspNetCore.Tests\OpenHarbor.MCP.Gateway.AspNetCore.Tests.csproj", "{A0EC0CBE-1642-4939-815E-59970D85A1CA}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Gateway.AspNetCore.Tests", "tests\Svrnty.MCP.Gateway.AspNetCore.Tests\Svrnty.MCP.Gateway.AspNetCore.Tests.csproj", "{A0EC0CBE-1642-4939-815E-59970D85A1CA}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# OpenHarbor.MCP.Gateway - API Reference
|
# Svrnty.MCP.Gateway - API Reference
|
||||||
|
|
||||||
**Version:** 1.0.0
|
**Version:** 1.0.0
|
||||||
**Last Updated:** 2025-10-19
|
**Last Updated:** 2025-10-19
|
||||||
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
### IGatewayRouter
|
### IGatewayRouter
|
||||||
|
|
||||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Abstractions`
|
**Namespace:** `Svrnty.MCP.Gateway.Core.Abstractions`
|
||||||
|
|
||||||
Interface defining the gateway routing contract.
|
Interface defining the gateway routing contract.
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ foreach (var status in healthStatuses)
|
|||||||
|
|
||||||
### IRoutingStrategy
|
### IRoutingStrategy
|
||||||
|
|
||||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Abstractions`
|
**Namespace:** `Svrnty.MCP.Gateway.Core.Abstractions`
|
||||||
|
|
||||||
Interface for implementing custom routing logic.
|
Interface for implementing custom routing logic.
|
||||||
|
|
||||||
@ -146,7 +146,7 @@ public class ToolBasedRoutingStrategy : IRoutingStrategy
|
|||||||
|
|
||||||
### ICircuitBreaker
|
### ICircuitBreaker
|
||||||
|
|
||||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Abstractions`
|
**Namespace:** `Svrnty.MCP.Gateway.Core.Abstractions`
|
||||||
|
|
||||||
Interface for circuit breaker pattern implementation.
|
Interface for circuit breaker pattern implementation.
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ catch (Exception ex)
|
|||||||
|
|
||||||
### GatewayRouter
|
### GatewayRouter
|
||||||
|
|
||||||
**Namespace:** `OpenHarbor.MCP.Gateway.Infrastructure`
|
**Namespace:** `Svrnty.MCP.Gateway.Infrastructure`
|
||||||
|
|
||||||
Default implementation of `IGatewayRouter`.
|
Default implementation of `IGatewayRouter`.
|
||||||
|
|
||||||
@ -341,7 +341,7 @@ public class ToolBasedStrategy : IRoutingStrategy
|
|||||||
|
|
||||||
### CircuitBreaker
|
### CircuitBreaker
|
||||||
|
|
||||||
**Namespace:** `OpenHarbor.MCP.Gateway.Infrastructure.Resilience`
|
**Namespace:** `Svrnty.MCP.Gateway.Infrastructure.Resilience`
|
||||||
|
|
||||||
Default circuit breaker implementation.
|
Default circuit breaker implementation.
|
||||||
|
|
||||||
@ -375,7 +375,7 @@ var circuitBreaker = new CircuitBreaker(config);
|
|||||||
|
|
||||||
### RoutingContext
|
### RoutingContext
|
||||||
|
|
||||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Models`
|
**Namespace:** `Svrnty.MCP.Gateway.Core.Models`
|
||||||
|
|
||||||
Context information for routing decisions.
|
Context information for routing decisions.
|
||||||
|
|
||||||
@ -415,7 +415,7 @@ var context = new RoutingContext
|
|||||||
|
|
||||||
### ServerInfo
|
### ServerInfo
|
||||||
|
|
||||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Models`
|
**Namespace:** `Svrnty.MCP.Gateway.Core.Models`
|
||||||
|
|
||||||
Information about a registered backend server.
|
Information about a registered backend server.
|
||||||
|
|
||||||
@ -453,7 +453,7 @@ var serverInfo = new ServerInfo
|
|||||||
|
|
||||||
### GatewayConfig
|
### GatewayConfig
|
||||||
|
|
||||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Models`
|
**Namespace:** `Svrnty.MCP.Gateway.Core.Models`
|
||||||
|
|
||||||
Gateway configuration.
|
Gateway configuration.
|
||||||
|
|
||||||
@ -491,7 +491,7 @@ public class RoutingConfig
|
|||||||
|
|
||||||
### Service Extensions
|
### Service Extensions
|
||||||
|
|
||||||
**Namespace:** `OpenHarbor.MCP.Gateway.AspNetCore`
|
**Namespace:** `Svrnty.MCP.Gateway.AspNetCore`
|
||||||
|
|
||||||
#### AddMcpGateway
|
#### AddMcpGateway
|
||||||
|
|
||||||
@ -670,8 +670,8 @@ public class McpServerHealthCheck : IHealthCheck
|
|||||||
### Creating a Gateway
|
### Creating a Gateway
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using OpenHarbor.MCP.Gateway.AspNetCore;
|
using Svrnty.MCP.Gateway.AspNetCore;
|
||||||
using OpenHarbor.MCP.Gateway.Core;
|
using Svrnty.MCP.Gateway.Core;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# HTTPS/TLS Setup Guide - OpenHarbor.MCP.Gateway
|
# HTTPS/TLS Setup Guide - Svrnty.MCP.Gateway
|
||||||
|
|
||||||
**Purpose**: Production-grade HTTPS/TLS configuration for MCP gateway/proxy deployment
|
**Purpose**: Production-grade HTTPS/TLS configuration for MCP gateway/proxy deployment
|
||||||
**Audience**: DevOps engineers, system administrators
|
**Audience**: DevOps engineers, system administrators
|
||||||
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
OpenHarbor.MCP.Gateway acts as a reverse proxy/load balancer between MCP clients and servers. It supports multiple TLS termination strategies and secure backend connections.
|
Svrnty.MCP.Gateway acts as a reverse proxy/load balancer between MCP clients and servers. It supports multiple TLS termination strategies and secure backend connections.
|
||||||
|
|
||||||
**Architecture Options:**
|
**Architecture Options:**
|
||||||
1. **TLS Termination at Gateway** (recommended)
|
1. **TLS Termination at Gateway** (recommended)
|
||||||
@ -655,7 +655,7 @@ High latency through gateway.
|
|||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
**OpenHarbor.MCP Documentation:**
|
**Svrnty.MCP Documentation:**
|
||||||
- [Gateway README](../../README.md)
|
- [Gateway README](../../README.md)
|
||||||
- [Architecture](../../docs/architecture.md)
|
- [Architecture](../../docs/architecture.md)
|
||||||
- [Load Balancing Strategies](../../docs/load-balancing.md)
|
- [Load Balancing Strategies](../../docs/load-balancing.md)
|
||||||
@ -675,4 +675,4 @@ High latency through gateway.
|
|||||||
**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), [Client HTTPS Setup](../../OpenHarbor.MCP.Client/docs/deployment/https-setup.md)
|
**Related**: [Server HTTPS Setup](../../Svrnty.MCP.Server/docs/deployment/https-setup.md), [Client HTTPS Setup](../../Svrnty.MCP.Client/docs/deployment/https-setup.md)
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# OpenHarbor.MCP.Gateway - Implementation Plan
|
# Svrnty.MCP.Gateway - 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.Gateway, following TDD principles and Clean Architecture.
|
This document outlines the phased implementation plan for Svrnty.MCP.Gateway, following TDD principles and Clean Architecture.
|
||||||
|
|
||||||
### Goals
|
### Goals
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# OpenHarbor.MCP.Gateway - Module Design
|
# Svrnty.MCP.Gateway - Module Design
|
||||||
|
|
||||||
**Document Type:** Architecture Design Document
|
**Document Type:** Architecture Design Document
|
||||||
**Status:** Planned
|
**Status:** Planned
|
||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
OpenHarbor.MCP.Gateway is a .NET 8 library that provides proxy and routing infrastructure for MCP traffic, enabling centralized management, authentication, monitoring, and load balancing between MCP clients and servers. This document defines the architecture, components, and design decisions.
|
Svrnty.MCP.Gateway is a .NET 8 library that provides proxy and routing infrastructure for MCP traffic, enabling centralized management, authentication, monitoring, and load balancing between MCP clients and servers. This document defines the architecture, components, and design decisions.
|
||||||
|
|
||||||
### Purpose
|
### Purpose
|
||||||
|
|
||||||
@ -25,13 +25,13 @@ OpenHarbor.MCP.Gateway is a .NET 8 library that provides proxy and routing infra
|
|||||||
|
|
||||||
```
|
```
|
||||||
┌─────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────┐
|
||||||
│ OpenHarbor.MCP.Gateway.Cli (Executable) │
|
│ Svrnty.MCP.Gateway.Cli (Executable) │
|
||||||
│ ┌───────────────────────────────────────────┐ │
|
│ ┌───────────────────────────────────────────┐ │
|
||||||
│ │ OpenHarbor.MCP.Gateway.AspNetCore (HTTP)│ │
|
│ │ Svrnty.MCP.Gateway.AspNetCore (HTTP)│ │
|
||||||
│ │ ┌─────────────────────────────────────┐ │ │
|
│ │ ┌─────────────────────────────────────┐ │ │
|
||||||
│ │ │ OpenHarbor.MCP.Gateway.Infrastructure│ │ │
|
│ │ │ Svrnty.MCP.Gateway.Infrastructure│ │ │
|
||||||
│ │ │ ┌───────────────────────────────┐ │ │ │
|
│ │ │ ┌───────────────────────────────┐ │ │ │
|
||||||
│ │ │ │ OpenHarbor.MCP.Gateway.Core │ │ │ │
|
│ │ │ │ Svrnty.MCP.Gateway.Core │ │ │ │
|
||||||
│ │ │ │ - IGatewayRouter │ │ │ │
|
│ │ │ │ - IGatewayRouter │ │ │ │
|
||||||
│ │ │ │ - IRoutingStrategy │ │ │ │
|
│ │ │ │ - IRoutingStrategy │ │ │ │
|
||||||
│ │ │ │ - IAuthProvider │ │ │ │
|
│ │ │ │ - IAuthProvider │ │ │ │
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj" />
|
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Security;
|
using Svrnty.MCP.Gateway.Infrastructure.Security;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
namespace CodexMcpGateway;
|
namespace CodexMcpGateway;
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# CodexMcpGateway Sample
|
# CodexMcpGateway Sample
|
||||||
|
|
||||||
Sample ASP.NET Core application demonstrating OpenHarbor.MCP.Gateway usage with multiple MCP servers.
|
Sample ASP.NET Core application demonstrating Svrnty.MCP.Gateway usage with multiple MCP servers.
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|
||||||
@ -331,6 +331,6 @@ Adjust rate limits in configuration or wait for rate limit window to reset.
|
|||||||
|
|
||||||
## Learn More
|
## Learn More
|
||||||
|
|
||||||
- [OpenHarbor.MCP.Gateway Documentation](../../README.md)
|
- [Svrnty.MCP.Gateway Documentation](../../README.md)
|
||||||
- [Module Design](../../docs/module-design.md)
|
- [Module Design](../../docs/module-design.md)
|
||||||
- [Implementation Plan](../../docs/implementation-plan.md)
|
- [Implementation Plan](../../docs/implementation-plan.md)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
using OpenHarbor.MCP.Gateway.AspNetCore.Middleware;
|
using Svrnty.MCP.Gateway.AspNetCore.Middleware;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.AspNetCore.Extensions;
|
namespace Svrnty.MCP.Gateway.AspNetCore.Extensions;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Extension methods for configuring MCP Gateway middleware.
|
/// Extension methods for configuring MCP Gateway middleware.
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Security;
|
using Svrnty.MCP.Gateway.Infrastructure.Security;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.AspNetCore.Extensions;
|
namespace Svrnty.MCP.Gateway.AspNetCore.Extensions;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Extension methods for configuring MCP Gateway services.
|
/// Extension methods for configuring MCP Gateway services.
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.AspNetCore.Middleware;
|
namespace Svrnty.MCP.Gateway.AspNetCore.Middleware;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ASP.NET Core middleware for MCP Gateway request handling.
|
/// ASP.NET Core middleware for MCP Gateway request handling.
|
||||||
|
|||||||
@ -13,8 +13,8 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj" />
|
<ProjectReference Include="..\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj" />
|
||||||
<ProjectReference Include="..\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj" />
|
<ProjectReference Include="..\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Cli;
|
namespace Svrnty.MCP.Gateway.Cli;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// OpenHarbor MCP Gateway CLI Tool
|
/// OpenHarbor MCP Gateway CLI Tool
|
||||||
@ -14,7 +14,7 @@ class Program
|
|||||||
{
|
{
|
||||||
static async Task<int> Main(string[] args)
|
static async Task<int> Main(string[] args)
|
||||||
{
|
{
|
||||||
Console.WriteLine("=== OpenHarbor.MCP.Gateway CLI ===\n");
|
Console.WriteLine("=== Svrnty.MCP.Gateway CLI ===\n");
|
||||||
|
|
||||||
if (args.Length == 0)
|
if (args.Length == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj" />
|
<ProjectReference Include="..\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Configuration;
|
namespace Svrnty.MCP.Gateway.Core.Configuration;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Main configuration for the MCP Gateway.
|
/// Main configuration for the MCP Gateway.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Configuration;
|
namespace Svrnty.MCP.Gateway.Core.Configuration;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configuration for request routing behavior.
|
/// Configuration for request routing behavior.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Configuration;
|
namespace Svrnty.MCP.Gateway.Core.Configuration;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configuration for security features (authentication, authorization, rate limiting).
|
/// Configuration for security features (authentication, authorization, rate limiting).
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines the contract for authentication and authorization providers.
|
/// Defines the contract for authentication and authorization providers.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines the contract for circuit breaker implementations.
|
/// Defines the contract for circuit breaker implementations.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines the contract for the main gateway router.
|
/// Defines the contract for the main gateway router.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines the contract for health checking servers.
|
/// Defines the contract for health checking servers.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines the contract for server selection strategies.
|
/// Defines the contract for server selection strategies.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines the contract for a server connection.
|
/// Defines the contract for a server connection.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines the contract for connection pool management.
|
/// Defines the contract for connection pool management.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines the contract for server transport implementations.
|
/// Defines the contract for server transport implementations.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Context for authentication requests.
|
/// Context for authentication requests.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Result of an authentication attempt.
|
/// Result of an authentication attempt.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Context for authorization requests.
|
/// Context for authorization requests.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Result of an authorization check.
|
/// Result of an authorization check.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents the state of a circuit breaker.
|
/// Represents the state of a circuit breaker.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents a request routed through the gateway.
|
/// Represents a request routed through the gateway.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents a response from the gateway after routing to a server.
|
/// Represents a response from the gateway after routing to a server.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Context information for routing decisions.
|
/// Context information for routing decisions.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configuration for an MCP server registration.
|
/// Configuration for an MCP server registration.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents the health status of an MCP server.
|
/// Represents the health status of an MCP server.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents metadata about a registered MCP server.
|
/// Represents metadata about a registered MCP server.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Statistics about the connection pool.
|
/// Statistics about the connection pool.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents a connection to an MCP server.
|
/// Represents a connection to an MCP server.
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
using Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Connection pool for managing reusable connections to MCP servers.
|
/// Connection pool for managing reusable connections to MCP servers.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Active health checker that performs periodic health checks on MCP servers.
|
/// Active health checker that performs periodic health checks on MCP servers.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Circuit breaker implementation for fault tolerance.
|
/// Circuit breaker implementation for fault tolerance.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Exception thrown when a circuit breaker is open and prevents execution.
|
/// Exception thrown when a circuit breaker is open and prevents execution.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Passive health tracker that monitors server health based on actual request patterns.
|
/// Passive health tracker that monitors server health based on actual request patterns.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Client-based routing strategy.
|
/// Client-based routing strategy.
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Main gateway router implementation.
|
/// Main gateway router implementation.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Round-robin routing strategy.
|
/// Round-robin routing strategy.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tool-based routing strategy.
|
/// Tool-based routing strategy.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Security;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Security;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// API Key-based authentication provider.
|
/// API Key-based authentication provider.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj" />
|
<ProjectReference Include="..\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Server transport implementation using HTTP.
|
/// Server transport implementation using HTTP.
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Server transport implementation using stdio (standard input/output).
|
/// Server transport implementation using stdio (standard input/output).
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using OpenHarbor.MCP.Gateway.AspNetCore.Middleware;
|
using Svrnty.MCP.Gateway.AspNetCore.Middleware;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.AspNetCore.Tests.Middleware;
|
namespace Svrnty.MCP.Gateway.AspNetCore.Tests.Middleware;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for GatewayMiddleware following TDD approach.
|
/// Unit tests for GatewayMiddleware following TDD approach.
|
||||||
|
|||||||
@ -23,9 +23,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.AspNetCore\OpenHarbor.MCP.Gateway.AspNetCore.csproj" />
|
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.AspNetCore\Svrnty.MCP.Gateway.AspNetCore.csproj" />
|
||||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj" />
|
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj" />
|
||||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj" />
|
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Configuration;
|
using Svrnty.MCP.Gateway.Core.Configuration;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Configuration;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Configuration;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for GatewayConfig following TDD approach.
|
/// Unit tests for GatewayConfig following TDD approach.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Configuration;
|
using Svrnty.MCP.Gateway.Core.Configuration;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Configuration;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Configuration;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for RoutingConfig following TDD approach.
|
/// Unit tests for RoutingConfig following TDD approach.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Configuration;
|
using Svrnty.MCP.Gateway.Core.Configuration;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Configuration;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Configuration;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for SecurityConfig following TDD approach.
|
/// Unit tests for SecurityConfig following TDD approach.
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Infrastructure;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Infrastructure;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for IServerTransport interface following TDD approach.
|
/// Unit tests for IServerTransport interface following TDD approach.
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for IAuthProvider interface following TDD approach.
|
/// Unit tests for IAuthProvider interface following TDD approach.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ICircuitBreaker interface following TDD approach.
|
/// Unit tests for ICircuitBreaker interface following TDD approach.
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for IGatewayRouter interface following TDD approach.
|
/// Unit tests for IGatewayRouter interface following TDD approach.
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for IHealthChecker interface contract.
|
/// Unit tests for IHealthChecker interface contract.
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Interfaces;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Interfaces;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for IRoutingStrategy interface following TDD approach.
|
/// Unit tests for IRoutingStrategy interface following TDD approach.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Models;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for GatewayRequest and GatewayResponse models following TDD approach.
|
/// Unit tests for GatewayRequest and GatewayResponse models following TDD approach.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Models;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for RoutingContext model following TDD approach.
|
/// Unit tests for RoutingContext model following TDD approach.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Models;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ServerConfig model following TDD approach.
|
/// Unit tests for ServerConfig model following TDD approach.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Models;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ServerHealthStatus model following TDD approach.
|
/// Unit tests for ServerHealthStatus model following TDD approach.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Models;
|
namespace Svrnty.MCP.Gateway.Core.Tests.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ServerInfo model following TDD approach.
|
/// Unit tests for ServerInfo model following TDD approach.
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj" />
|
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Connection;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Connection;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ServerConnectionPool following TDD approach.
|
/// Unit tests for ServerConnectionPool following TDD approach.
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Connection;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Connection;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ServerConnection following TDD approach.
|
/// Unit tests for ServerConnection following TDD approach.
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Health;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Health;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ActiveHealthChecker following TDD approach.
|
/// Unit tests for ActiveHealthChecker following TDD approach.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Health;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Health;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for CircuitBreaker following TDD approach.
|
/// Unit tests for CircuitBreaker following TDD approach.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Health;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Health;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for PassiveHealthTracker following TDD approach.
|
/// Unit tests for PassiveHealthTracker following TDD approach.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Routing;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ClientBasedStrategy following TDD approach.
|
/// Unit tests for ClientBasedStrategy following TDD approach.
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using Moq;
|
using Moq;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Routing;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for GatewayRouter following TDD approach.
|
/// Unit tests for GatewayRouter following TDD approach.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Routing;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for RoundRobinStrategy following TDD approach.
|
/// Unit tests for RoundRobinStrategy following TDD approach.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Routing;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ToolBasedStrategy following TDD approach.
|
/// Unit tests for ToolBasedStrategy following TDD approach.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Security;
|
using Svrnty.MCP.Gateway.Infrastructure.Security;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Security;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Security;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for ApiKeyAuthProvider following TDD approach.
|
/// Unit tests for ApiKeyAuthProvider following TDD approach.
|
||||||
|
|||||||
@ -22,8 +22,8 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj" />
|
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj" />
|
||||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj" />
|
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@ -2,10 +2,10 @@ using Xunit;
|
|||||||
using Moq;
|
using Moq;
|
||||||
using Moq.Protected;
|
using Moq.Protected;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
using Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Transport;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Transport;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for HttpServerTransport following TDD approach.
|
/// Unit tests for HttpServerTransport following TDD approach.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
using Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Transport;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Transport;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for StdioServerTransport following TDD approach.
|
/// Unit tests for StdioServerTransport following TDD approach.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
using Xunit;
|
using Xunit;
|
||||||
using OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
using Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
using Svrnty.MCP.Gateway.Core.Models;
|
||||||
|
|
||||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Transport;
|
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Transport;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unit tests for transport factory logic.
|
/// Unit tests for transport factory logic.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user