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.
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
## 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:**
|
||||
1. System analysis (detect .NET version, network requirements)
|
||||
@ -106,7 +106,7 @@ find . -name "*McpServer*" -type d
|
||||
### 2.2 Program.cs Integration
|
||||
|
||||
```csharp
|
||||
using OpenHarbor.MCP.Gateway.AspNetCore;
|
||||
using Svrnty.MCP.Gateway.AspNetCore;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
@ -193,4 +193,4 @@ curl http://localhost:8080/health
|
||||
|
||||
**Document Version**: 1.0.0
|
||||
**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**
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
**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**:
|
||||
- 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:
|
||||
|
||||
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
|
||||
|
||||
### Option 2: Manual Setup
|
||||
@ -65,10 +65,10 @@ If you have access to Claude or another AI assistant:
|
||||
|
||||
```bash
|
||||
# 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)
|
||||
# dotnet add package OpenHarbor.MCP.Gateway.AspNetCore
|
||||
# dotnet add package Svrnty.MCP.Gateway.AspNetCore
|
||||
```
|
||||
|
||||
#### Step 2: Configure appsettings.json
|
||||
@ -137,7 +137,7 @@ Add Gateway configuration:
|
||||
#### Step 3: Update Program.cs
|
||||
|
||||
```csharp
|
||||
using OpenHarbor.MCP.Gateway.AspNetCore;
|
||||
using Svrnty.MCP.Gateway.AspNetCore;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
@ -160,7 +160,7 @@ app.Run();
|
||||
#### Step 4: Configure Routing Rules
|
||||
|
||||
```csharp
|
||||
using OpenHarbor.MCP.Gateway.Core.Routing;
|
||||
using Svrnty.MCP.Gateway.Core.Routing;
|
||||
|
||||
public class CustomRoutingStrategy : IRoutingStrategy
|
||||
{
|
||||
@ -210,17 +210,17 @@ curl -X POST http://localhost:8080/mcp/invoke \
|
||||
|
||||
## 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 │ │ │ │
|
||||
│ │ │ │ - IRoutingStrategy │ │ │ │
|
||||
│ │ │ │ - IAuthProvider │ │ │ │
|
||||
@ -236,10 +236,10 @@ OpenHarbor.MCP.Gateway follows **Clean Architecture** principles:
|
||||
|
||||
| Project | Purpose | Dependencies |
|
||||
|---------|---------|--------------|
|
||||
| **OpenHarbor.MCP.Gateway.Core** | Abstractions, interfaces, models | None |
|
||||
| **OpenHarbor.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 |
|
||||
| **OpenHarbor.MCP.Gateway.Cli** | Management CLI for gateway | All above |
|
||||
| **Svrnty.MCP.Gateway.Core** | Abstractions, interfaces, models | None |
|
||||
| **Svrnty.MCP.Gateway.Infrastructure** | Router, auth, circuit breakers, load balancing | Core, System.Text.Json |
|
||||
| **Svrnty.MCP.Gateway.AspNetCore** | ASP.NET Core integration, HTTP endpoints | Core, Infrastructure, ASP.NET Core |
|
||||
| **Svrnty.MCP.Gateway.Cli** | Management CLI for gateway | All above |
|
||||
|
||||
See [Architecture Documentation](docs/architecture.md) for detailed design.
|
||||
|
||||
@ -478,7 +478,7 @@ curl http://localhost:8080/health
|
||||
dotnet test
|
||||
|
||||
# Run specific test project
|
||||
dotnet test tests/OpenHarbor.MCP.Gateway.Tests/
|
||||
dotnet test tests/Svrnty.MCP.Gateway.Tests/
|
||||
|
||||
# Run with coverage
|
||||
dotnet test /p:CollectCoverage=true
|
||||
@ -503,21 +503,21 @@ dotnet run -- --clients 100 --duration 60s
|
||||
|
||||
### 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:**
|
||||
|
||||
1. **OpenHarbor.MCP.Gateway.Core.Tests**: 68 tests
|
||||
1. **Svrnty.MCP.Gateway.Core.Tests**: 68 tests
|
||||
- Line Coverage: 76.99%
|
||||
- Branch Coverage: 57.45%
|
||||
- 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)
|
||||
- Branch Coverage: 67.39%
|
||||
- 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)
|
||||
- Branch Coverage: 3.87%
|
||||
- ASP.NET Core middleware and configuration
|
||||
@ -558,11 +558,11 @@ dotnet test --collect:"XPlat Code Coverage" --results-directory ./TestResults
|
||||
|
||||
## Related Modules
|
||||
|
||||
OpenHarbor.MCP is a family of three complementary modules:
|
||||
Svrnty.MCP is a family of three complementary modules:
|
||||
|
||||
- **[OpenHarbor.MCP.Server](../OpenHarbor.MCP.Server/)** - Server library (expose tools TO AI agents)
|
||||
- **[OpenHarbor.MCP.Client](../OpenHarbor.MCP.Client/)** - Client library (call tools FROM servers)
|
||||
- **[OpenHarbor.MCP.Gateway](../OpenHarbor.MCP.Gateway/)** - Gateway/proxy (route between clients and servers) ← You are here
|
||||
- **[Svrnty.MCP.Server](../Svrnty.MCP.Server/)** - Server library (expose tools TO AI agents)
|
||||
- **[Svrnty.MCP.Client](../Svrnty.MCP.Client/)** - Client library (call tools FROM servers)
|
||||
- **[Svrnty.MCP.Gateway](../Svrnty.MCP.Gateway/)** - Gateway/proxy (route between clients and servers) ← You are here
|
||||
|
||||
All three modules share:
|
||||
- Same Clean Architecture pattern
|
||||
@ -590,7 +590,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
||||
|
||||
## Support
|
||||
|
||||
- **Issues**: [GitHub Issues](https://github.com/svrnty/openharbor-mcp/issues)
|
||||
- **Issues**: [GitHub Issues](https://github.com/svrnty/svrnty-mcp/issues)
|
||||
- **Email**: info@svrnty.io
|
||||
- **Documentation**: [docs/](docs/)
|
||||
|
||||
|
||||
@ -5,25 +5,25 @@ VisualStudioVersion = 17.0.31903.59
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{FAC4D8BF-BBE2-4545-9B25-5A0D810302FC}"
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{D1CB7824-CB33-4104-9501-686233FBB593}"
|
||||
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
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{77F08943-57E8-413A-A21C-2C268B416AAC}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexMcpGateway", "samples\CodexMcpGateway\CodexMcpGateway.csproj", "{3BBA34E5-0FB9-45D3-9B3C-537C25FB1A9A}"
|
||||
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
|
||||
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
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# OpenHarbor.MCP.Gateway - API Reference
|
||||
# Svrnty.MCP.Gateway - API Reference
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Last Updated:** 2025-10-19
|
||||
@ -31,7 +31,7 @@
|
||||
|
||||
### IGatewayRouter
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Abstractions`
|
||||
**Namespace:** `Svrnty.MCP.Gateway.Core.Abstractions`
|
||||
|
||||
Interface defining the gateway routing contract.
|
||||
|
||||
@ -97,7 +97,7 @@ foreach (var status in healthStatuses)
|
||||
|
||||
### IRoutingStrategy
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Abstractions`
|
||||
**Namespace:** `Svrnty.MCP.Gateway.Core.Abstractions`
|
||||
|
||||
Interface for implementing custom routing logic.
|
||||
|
||||
@ -146,7 +146,7 @@ public class ToolBasedRoutingStrategy : IRoutingStrategy
|
||||
|
||||
### ICircuitBreaker
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Abstractions`
|
||||
**Namespace:** `Svrnty.MCP.Gateway.Core.Abstractions`
|
||||
|
||||
Interface for circuit breaker pattern implementation.
|
||||
|
||||
@ -226,7 +226,7 @@ catch (Exception ex)
|
||||
|
||||
### GatewayRouter
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Gateway.Infrastructure`
|
||||
**Namespace:** `Svrnty.MCP.Gateway.Infrastructure`
|
||||
|
||||
Default implementation of `IGatewayRouter`.
|
||||
|
||||
@ -341,7 +341,7 @@ public class ToolBasedStrategy : IRoutingStrategy
|
||||
|
||||
### CircuitBreaker
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Gateway.Infrastructure.Resilience`
|
||||
**Namespace:** `Svrnty.MCP.Gateway.Infrastructure.Resilience`
|
||||
|
||||
Default circuit breaker implementation.
|
||||
|
||||
@ -375,7 +375,7 @@ var circuitBreaker = new CircuitBreaker(config);
|
||||
|
||||
### RoutingContext
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Models`
|
||||
**Namespace:** `Svrnty.MCP.Gateway.Core.Models`
|
||||
|
||||
Context information for routing decisions.
|
||||
|
||||
@ -415,7 +415,7 @@ var context = new RoutingContext
|
||||
|
||||
### ServerInfo
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Models`
|
||||
**Namespace:** `Svrnty.MCP.Gateway.Core.Models`
|
||||
|
||||
Information about a registered backend server.
|
||||
|
||||
@ -453,7 +453,7 @@ var serverInfo = new ServerInfo
|
||||
|
||||
### GatewayConfig
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Gateway.Core.Models`
|
||||
**Namespace:** `Svrnty.MCP.Gateway.Core.Models`
|
||||
|
||||
Gateway configuration.
|
||||
|
||||
@ -491,7 +491,7 @@ public class RoutingConfig
|
||||
|
||||
### Service Extensions
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Gateway.AspNetCore`
|
||||
**Namespace:** `Svrnty.MCP.Gateway.AspNetCore`
|
||||
|
||||
#### AddMcpGateway
|
||||
|
||||
@ -670,8 +670,8 @@ public class McpServerHealthCheck : IHealthCheck
|
||||
### Creating a Gateway
|
||||
|
||||
```csharp
|
||||
using OpenHarbor.MCP.Gateway.AspNetCore;
|
||||
using OpenHarbor.MCP.Gateway.Core;
|
||||
using Svrnty.MCP.Gateway.AspNetCore;
|
||||
using Svrnty.MCP.Gateway.Core;
|
||||
|
||||
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
|
||||
**Audience**: DevOps engineers, system administrators
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
## 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:**
|
||||
1. **TLS Termination at Gateway** (recommended)
|
||||
@ -655,7 +655,7 @@ High latency through gateway.
|
||||
|
||||
## References
|
||||
|
||||
**OpenHarbor.MCP Documentation:**
|
||||
**Svrnty.MCP Documentation:**
|
||||
- [Gateway README](../../README.md)
|
||||
- [Architecture](../../docs/architecture.md)
|
||||
- [Load Balancing Strategies](../../docs/load-balancing.md)
|
||||
@ -675,4 +675,4 @@ High latency through gateway.
|
||||
**Document Version**: 1.0.0
|
||||
**Last Updated**: 2025-10-19
|
||||
**Maintained By**: Svrnty Development Team
|
||||
**Related**: [Server HTTPS Setup](../../OpenHarbor.MCP.Server/docs/deployment/https-setup.md), [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
|
||||
**Status:** Planned
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# OpenHarbor.MCP.Gateway - Module Design
|
||||
# Svrnty.MCP.Gateway - Module Design
|
||||
|
||||
**Document Type:** Architecture Design Document
|
||||
**Status:** Planned
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
## 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
|
||||
|
||||
@ -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 │ │ │ │
|
||||
│ │ │ │ - IRoutingStrategy │ │ │ │
|
||||
│ │ │ │ - IAuthProvider │ │ │ │
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<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>
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Security;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Security;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
|
||||
namespace CodexMcpGateway;
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 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
|
||||
|
||||
@ -331,6 +331,6 @@ Adjust rate limits in configuration or wait for rate limit window to reset.
|
||||
|
||||
## Learn More
|
||||
|
||||
- [OpenHarbor.MCP.Gateway Documentation](../../README.md)
|
||||
- [Svrnty.MCP.Gateway Documentation](../../README.md)
|
||||
- [Module Design](../../docs/module-design.md)
|
||||
- [Implementation Plan](../../docs/implementation-plan.md)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Extension methods for configuring MCP Gateway middleware.
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Security;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Security;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.AspNetCore.Extensions;
|
||||
namespace Svrnty.MCP.Gateway.AspNetCore.Extensions;
|
||||
|
||||
/// <summary>
|
||||
/// Extension methods for configuring MCP Gateway services.
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.AspNetCore.Middleware;
|
||||
namespace Svrnty.MCP.Gateway.AspNetCore.Middleware;
|
||||
|
||||
/// <summary>
|
||||
/// ASP.NET Core middleware for MCP Gateway request handling.
|
||||
|
||||
@ -13,8 +13,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj" />
|
||||
<ProjectReference Include="..\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj" />
|
||||
<ProjectReference Include="..\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Cli;
|
||||
namespace Svrnty.MCP.Gateway.Cli;
|
||||
|
||||
/// <summary>
|
||||
/// OpenHarbor MCP Gateway CLI Tool
|
||||
@ -14,7 +14,7 @@ class Program
|
||||
{
|
||||
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)
|
||||
{
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<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>
|
||||
/// Main configuration for the MCP Gateway.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Configuration;
|
||||
namespace Svrnty.MCP.Gateway.Core.Configuration;
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for request routing behavior.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Configuration;
|
||||
namespace Svrnty.MCP.Gateway.Core.Configuration;
|
||||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
/// 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>
|
||||
/// 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>
|
||||
/// 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>
|
||||
/// 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>
|
||||
/// 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>
|
||||
/// 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>
|
||||
/// 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>
|
||||
/// Defines the contract for server transport implementations.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
||||
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Context for authentication requests.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
||||
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Result of an authentication attempt.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
||||
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Context for authorization requests.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
||||
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Result of an authorization check.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
||||
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Represents the state of a circuit breaker.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
||||
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a request routed through the gateway.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
||||
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
/// Context information for routing decisions.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
||||
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for an MCP server registration.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Models;
|
||||
namespace Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
/// Represents metadata about a registered MCP server.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
|
||||
/// <summary>
|
||||
/// Statistics about the connection pool.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a connection to an MCP server.
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using System.Collections.Concurrent;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
|
||||
/// <summary>
|
||||
/// Connection pool for managing reusable connections to MCP servers.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using System.Collections.Concurrent;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
/// Circuit breaker implementation for fault tolerance.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||
|
||||
/// <summary>
|
||||
/// Exception thrown when a circuit breaker is open and prevents execution.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Passive health tracker that monitors server health based on actual request patterns.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
|
||||
/// <summary>
|
||||
/// Client-based routing strategy.
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
using System.Collections.Concurrent;
|
||||
using System.Diagnostics;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
|
||||
/// <summary>
|
||||
/// Main gateway router implementation.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
|
||||
/// <summary>
|
||||
/// Round-robin routing strategy.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using System.Text.RegularExpressions;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
|
||||
/// <summary>
|
||||
/// Tool-based routing strategy.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Security;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Security;
|
||||
|
||||
/// <summary>
|
||||
/// API Key-based authentication provider.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj" />
|
||||
<ProjectReference Include="..\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||
|
||||
/// <summary>
|
||||
/// Server transport implementation using HTTP.
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using System.Diagnostics;
|
||||
using System.Text.Json;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||
|
||||
/// <summary>
|
||||
/// Server transport implementation using stdio (standard input/output).
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using OpenHarbor.MCP.Gateway.AspNetCore.Middleware;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.AspNetCore.Middleware;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.AspNetCore.Tests.Middleware;
|
||||
namespace Svrnty.MCP.Gateway.AspNetCore.Tests.Middleware;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for GatewayMiddleware following TDD approach.
|
||||
|
||||
@ -23,9 +23,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.AspNetCore\OpenHarbor.MCP.Gateway.AspNetCore.csproj" />
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.AspNetCore\Svrnty.MCP.Gateway.AspNetCore.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
using OpenHarbor.MCP.Gateway.Core.Configuration;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Configuration;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Configuration;
|
||||
namespace Svrnty.MCP.Gateway.Core.Tests.Configuration;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for GatewayConfig following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for RoutingConfig following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for SecurityConfig following TDD approach.
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Infrastructure;
|
||||
namespace Svrnty.MCP.Gateway.Core.Tests.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for IServerTransport interface following TDD approach.
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Interfaces;
|
||||
namespace Svrnty.MCP.Gateway.Core.Tests.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for IAuthProvider interface following TDD approach.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
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>
|
||||
/// Unit tests for ICircuitBreaker interface following TDD approach.
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Interfaces;
|
||||
namespace Svrnty.MCP.Gateway.Core.Tests.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for IGatewayRouter interface following TDD approach.
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Interfaces;
|
||||
namespace Svrnty.MCP.Gateway.Core.Tests.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for IHealthChecker interface contract.
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Core.Tests.Interfaces;
|
||||
namespace Svrnty.MCP.Gateway.Core.Tests.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for IRoutingStrategy interface following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for GatewayRequest and GatewayResponse models following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for RoutingContext model following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for ServerConfig model following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for ServerHealthStatus model following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for ServerInfo model following TDD approach.
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
</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>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Connection;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Connection;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for ServerConnectionPool following TDD approach.
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Connection;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Connection;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for ServerConnection following TDD approach.
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Health;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Health;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for ActiveHealthChecker following TDD approach.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Health;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Health;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for CircuitBreaker following TDD approach.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Health;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Health;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Health;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Health;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for PassiveHealthTracker following TDD approach.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for ClientBasedStrategy following TDD approach.
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
using Xunit;
|
||||
using Moq;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Connection;
|
||||
using OpenHarbor.MCP.Gateway.Core.Interfaces;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Connection;
|
||||
using Svrnty.MCP.Gateway.Core.Interfaces;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for GatewayRouter following TDD approach.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for RoundRobinStrategy following TDD approach.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Routing;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Routing;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Routing;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for ToolBasedStrategy following TDD approach.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Security;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Security;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Security;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Security;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for ApiKeyAuthProvider following TDD approach.
|
||||
|
||||
@ -22,8 +22,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Infrastructure\OpenHarbor.MCP.Gateway.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Gateway.Core\OpenHarbor.MCP.Gateway.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Infrastructure\Svrnty.MCP.Gateway.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Gateway.Core\Svrnty.MCP.Gateway.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -2,10 +2,10 @@ using Xunit;
|
||||
using Moq;
|
||||
using Moq.Protected;
|
||||
using System.Net;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Transport;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Transport;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for HttpServerTransport following TDD approach.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Transport;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Transport;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for StdioServerTransport following TDD approach.
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
using Xunit;
|
||||
using OpenHarbor.MCP.Gateway.Infrastructure.Transport;
|
||||
using OpenHarbor.MCP.Gateway.Core.Models;
|
||||
using Svrnty.MCP.Gateway.Infrastructure.Transport;
|
||||
using Svrnty.MCP.Gateway.Core.Models;
|
||||
|
||||
namespace OpenHarbor.MCP.Gateway.Infrastructure.Tests.Transport;
|
||||
namespace Svrnty.MCP.Gateway.Infrastructure.Tests.Transport;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for transport factory logic.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user