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:
Svrnty 2025-10-22 21:04:17 -04:00
parent 516e1479c6
commit 0c27de4162
48 changed files with 193 additions and 193 deletions

View File

@ -1,6 +1,6 @@
# AGENT-PRIMER: OpenHarbor.MCP Automated Setup # AGENT-PRIMER: Svrnty.MCP Automated Setup
**Purpose**: This document guides AI agents to automatically analyze a target system and configure OpenHarbor.MCP integration with minimal human intervention. **Purpose**: This document guides AI agents to automatically analyze a target system and configure Svrnty.MCP integration with minimal human intervention.
**Target Audience**: AI assistants (Claude, ChatGPT, etc.) helping developers integrate MCP server capabilities into .NET applications. **Target Audience**: AI assistants (Claude, ChatGPT, etc.) helping developers integrate MCP server capabilities into .NET applications.
@ -8,7 +8,7 @@
## Overview ## Overview
OpenHarbor.MCP is a **standalone, reusable .NET library** that adds Model Context Protocol (MCP) server capabilities to any .NET application. This primer enables AI-automated configuration by walking through system analysis, configuration generation, and validation. Svrnty.MCP is a **standalone, reusable .NET library** that adds Model Context Protocol (MCP) server capabilities to any .NET application. This primer enables AI-automated configuration by walking through system analysis, configuration generation, and validation.
**What you'll automate:** **What you'll automate:**
1. System analysis (detect .NET version, project type, dependencies) 1. System analysis (detect .NET version, project type, dependencies)
@ -98,20 +98,20 @@ grep -r "DbContext\|AddDbContext" --include="*.cs"
```xml ```xml
<ItemGroup> <ItemGroup>
<!-- Core MCP library --> <!-- Core MCP library -->
<ProjectReference Include="/path/to/OpenHarbor.MCP/src/OpenHarbor.MCP.AspNetCore/OpenHarbor.MCP.AspNetCore.csproj" /> <ProjectReference Include="/path/to/Svrnty.MCP/src/Svrnty.MCP.AspNetCore/Svrnty.MCP.AspNetCore.csproj" />
<!-- OR use NuGet when published --> <!-- OR use NuGet when published -->
<!-- <PackageReference Include="OpenHarbor.MCP.AspNetCore" Version="1.0.0" /> --> <!-- <PackageReference Include="Svrnty.MCP.AspNetCore" Version="1.0.0" /> -->
</ItemGroup> </ItemGroup>
``` ```
**Installation command**: **Installation command**:
```bash ```bash
# Via project reference (development) # Via project reference (development)
dotnet add reference /path/to/OpenHarbor.MCP/src/OpenHarbor.MCP.AspNetCore/OpenHarbor.MCP.AspNetCore.csproj dotnet add reference /path/to/Svrnty.MCP/src/Svrnty.MCP.AspNetCore/Svrnty.MCP.AspNetCore.csproj
# Via NuGet (when published) # Via NuGet (when published)
# dotnet add package OpenHarbor.MCP.AspNetCore # dotnet add package Svrnty.MCP.AspNetCore
``` ```
### 2.2 appsettings.json Configuration ### 2.2 appsettings.json Configuration
@ -186,7 +186,7 @@ dotnet add reference /path/to/OpenHarbor.MCP/src/OpenHarbor.MCP.AspNetCore/OpenH
#### For ASP.NET Core Web API: #### For ASP.NET Core Web API:
```csharp ```csharp
using OpenHarbor.MCP.AspNetCore; using Svrnty.MCP.AspNetCore;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
@ -222,7 +222,7 @@ app.Run();
```csharp ```csharp
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using OpenHarbor.MCP.Infrastructure; using Svrnty.MCP.Infrastructure;
var host = Host.CreateDefaultBuilder(args) var host = Host.CreateDefaultBuilder(args)
.ConfigureServices((context, services) => .ConfigureServices((context, services) =>
@ -252,8 +252,8 @@ await host.RunAsync();
**Basic tool structure**: **Basic tool structure**:
```csharp ```csharp
using OpenHarbor.MCP.Core.Abstractions; using Svrnty.MCP.Core.Abstractions;
using OpenHarbor.MCP.Core.Models; using Svrnty.MCP.Core.Models;
namespace YourApp.Mcp.Tools; namespace YourApp.Mcp.Tools;
@ -434,7 +434,7 @@ public class ListEndpointsTool : IMcpTool
## Step 4: Setup Development Environment ## Step 4: Setup Development Environment
**Goal**: Configure IDE and development tools for OpenHarbor.MCP. **Goal**: Configure IDE and development tools for Svrnty.MCP.
### 4.1 Launch Settings (launchSettings.json) ### 4.1 Launch Settings (launchSettings.json)
@ -463,11 +463,11 @@ public class ListEndpointsTool : IMcpTool
} }
``` ```
### 4.2 .editorconfig (Already provided in OpenHarbor.MCP root) ### 4.2 .editorconfig (Already provided in Svrnty.MCP root)
**Copy to target project** if needed: **Copy to target project** if needed:
```bash ```bash
cp /path/to/OpenHarbor.MCP/.editorconfig /path/to/YourApp/.editorconfig cp /path/to/Svrnty.MCP/.editorconfig /path/to/YourApp/.editorconfig
``` ```
### 4.3 .gitignore Updates ### 4.3 .gitignore Updates
@ -603,10 +603,10 @@ find . -name "*.csproj" | head -5
### Step 2: Generate Configuration ### Step 2: Generate Configuration
**Created** `samples/CodexMcpServer/` in OpenHarbor.MCP: **Created** `samples/CodexMcpServer/` in Svrnty.MCP:
``` ```
samples/CodexMcpServer/ samples/CodexMcpServer/
├── CodexMcpServer.csproj # References OpenHarbor.MCP.AspNetCore ├── CodexMcpServer.csproj # References Svrnty.MCP.AspNetCore
├── Program.cs # MCP server setup with CODEX API client ├── Program.cs # MCP server setup with CODEX API client
├── appsettings.json # CODEX-specific MCP config ├── appsettings.json # CODEX-specific MCP config
├── Tools/ ├── Tools/
@ -730,7 +730,7 @@ echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | dotnet run
"mcpServers": { "mcpServers": {
"codex": { "codex": {
"command": "dotnet", "command": "dotnet",
"args": ["run", "--project", "/home/svrnty/codex/OpenHarbor.MCP/samples/CodexMcpServer/CodexMcpServer.csproj"], "args": ["run", "--project", "/home/svrnty/codex/Svrnty.MCP/samples/CodexMcpServer/CodexMcpServer.csproj"],
"transport": "http" "transport": "http"
} }
} }
@ -743,7 +743,7 @@ echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | dotnet run
## AI Agent Checklist ## AI Agent Checklist
Use this checklist when assisting a developer with OpenHarbor.MCP integration: Use this checklist when assisting a developer with Svrnty.MCP integration:
- [ ] **System Analysis Complete** - [ ] **System Analysis Complete**
- [ ] .NET 8.0 SDK detected - [ ] .NET 8.0 SDK detected
@ -812,7 +812,7 @@ Use this checklist when assisting a developer with OpenHarbor.MCP integration:
After successful setup: After successful setup:
1. **Write Tests**: Create unit tests for custom tools (see OpenHarbor.MCP test examples) 1. **Write Tests**: Create unit tests for custom tools (see Svrnty.MCP test examples)
2. **Add Observability**: Integrate logging, metrics, and tracing 2. **Add Observability**: Integrate logging, metrics, and tracing
3. **Secure Production**: Review permission model, enable HTTPS for HTTP transport 3. **Secure Production**: Review permission model, enable HTTPS for HTTP transport
4. **Optimize Performance**: Add caching, connection pooling, batch operations 4. **Optimize Performance**: Add caching, connection pooling, batch operations
@ -822,10 +822,10 @@ After successful setup:
## References ## References
- **OpenHarbor.MCP Documentation**: `/docs/` folder in this repository - **Svrnty.MCP Documentation**: `/docs/` folder in this repository
- **MCP Specification**: https://spec.modelcontextprotocol.io - **MCP Specification**: https://spec.modelcontextprotocol.io
- **CODEX Integration Example**: `samples/CodexMcpServer/` - **CODEX Integration Example**: `samples/CodexMcpServer/`
- **Test Examples**: `tests/OpenHarbor.MCP.Integration.Tests/` - **Test Examples**: `tests/Svrnty.MCP.Integration.Tests/`
--- ---

View File

@ -6,14 +6,14 @@ This guide shows how to integrate the CODEX MCP Server with Claude Code CLI (in
- .NET 8.0 SDK installed - .NET 8.0 SDK installed
- Claude Code CLI installed and configured - Claude Code CLI installed and configured
- OpenHarbor.MCP.Server cloned/copied to your system - Svrnty.MCP.Server cloned/copied to your system
## One-Time Setup ## One-Time Setup
### 1. Build the CODEX MCP Server ### 1. Build the CODEX MCP Server
```bash ```bash
cd /home/svrnty/codex/OpenHarbor.MCP.Server cd /home/svrnty/codex/Svrnty.MCP.Server
dotnet build samples/CodexMcpServer/CodexMcpServer.csproj dotnet build samples/CodexMcpServer/CodexMcpServer.csproj
``` ```
@ -22,7 +22,7 @@ dotnet build samples/CodexMcpServer/CodexMcpServer.csproj
```bash ```bash
# Add CODEX MCP server with HTTP transport # Add CODEX MCP server with HTTP transport
claude mcp add --transport stdio --scope user codex \ claude mcp add --transport stdio --scope user codex \
dotnet -- run --project /home/svrnty/codex/OpenHarbor.MCP.Server/samples/CodexMcpServer dotnet -- run --project /home/svrnty/codex/Svrnty.MCP.Server/samples/CodexMcpServer
``` ```
**Command Breakdown:** **Command Breakdown:**
@ -45,7 +45,7 @@ claude mcp get codex
``` ```
codex: codex:
Command: dotnet Command: dotnet
Args: [run, --project, /home/svrnty/codex/OpenHarbor.MCP.Server/samples/CodexMcpServer] Args: [run, --project, /home/svrnty/codex/Svrnty.MCP.Server/samples/CodexMcpServer]
Transport: stdio Transport: stdio
Scope: user Scope: user
``` ```
@ -96,7 +96,7 @@ The CODEX MCP server exposes 6 tools:
```bash ```bash
# Test the server manually # Test the server manually
echo '{"jsonrpc":"2.0","id":"1","method":"tools/list"}' | \ echo '{"jsonrpc":"2.0","id":"1","method":"tools/list"}' | \
dotnet run --project /home/svrnty/codex/OpenHarbor.MCP.Server/samples/CodexMcpServer dotnet run --project /home/svrnty/codex/Svrnty.MCP.Server/samples/CodexMcpServer
``` ```
**Expected:** JSON response listing all 6 tools **Expected:** JSON response listing all 6 tools
@ -131,7 +131,7 @@ claude mcp list
Run the test script to verify everything works: Run the test script to verify everything works:
```bash ```bash
cd /home/svrnty/codex/OpenHarbor.MCP.Server cd /home/svrnty/codex/Svrnty.MCP.Server
python3 test_mcp_server.py python3 test_mcp_server.py
``` ```
@ -149,7 +149,7 @@ python3 test_mcp_server.py
# Change scope # Change scope
claude mcp remove codex claude mcp remove codex
claude mcp add --transport stdio --scope project codex \ claude mcp add --transport stdio --scope project codex \
dotnet -- run --project /home/svrnty/codex/OpenHarbor.MCP.Server/samples/CodexMcpServer dotnet -- run --project /home/svrnty/codex/Svrnty.MCP.Server/samples/CodexMcpServer
``` ```
### Using Absolute Paths ### Using Absolute Paths
@ -158,7 +158,7 @@ For reliability, use absolute paths:
```bash ```bash
claude mcp add --transport stdio --scope user codex \ claude mcp add --transport stdio --scope user codex \
/usr/bin/dotnet -- run --project /home/svrnty/codex/OpenHarbor.MCP.Server/samples/CodexMcpServer /usr/bin/dotnet -- run --project /home/svrnty/codex/Svrnty.MCP.Server/samples/CodexMcpServer
``` ```
## Next Steps ## Next Steps
@ -184,5 +184,5 @@ claude mcp add --transport stdio --scope user codex \
- [Claude Code CLI Documentation](https://docs.claude.com/en/docs/claude-code) - [Claude Code CLI Documentation](https://docs.claude.com/en/docs/claude-code)
- [Model Context Protocol Spec](https://modelcontextprotocol.io) - [Model Context Protocol Spec](https://modelcontextprotocol.io)
- [OpenHarbor.MCP README](README.md) - [Svrnty.MCP README](README.md)
- [CODEX Documentation](../CODEX/README.md) - [CODEX Documentation](../CODEX/README.md)

View File

@ -11,7 +11,7 @@ dotnet run --project src/Codex.Api
# Listens on http://localhost:5099 # Listens on http://localhost:5099
# 2. Start CODEX MCP Server (HTTP mode) # 2. Start CODEX MCP Server (HTTP mode)
cd /home/svrnty/codex/OpenHarbor.MCP.Server cd /home/svrnty/codex/Svrnty.MCP.Server
dotnet run --project samples/CodexMcpServer dotnet run --project samples/CodexMcpServer
# Listens on http://localhost:5050 # Listens on http://localhost:5050
@ -130,17 +130,17 @@ cd /home/svrnty/codex/CODEX
dotnet run --project src/Codex.Api dotnet run --project src/Codex.Api
# Terminal 2: Start CODEX MCP Server # Terminal 2: Start CODEX MCP Server
cd /home/svrnty/codex/OpenHarbor.MCP.Server cd /home/svrnty/codex/Svrnty.MCP.Server
dotnet run --project samples/CodexMcpServer dotnet run --project samples/CodexMcpServer
# Terminal 3: Start MCP Gateway # Terminal 3: Start MCP Gateway
cd /home/svrnty/codex/OpenHarbor.MCP.Gateway cd /home/svrnty/codex/Svrnty.MCP.Gateway
dotnet run --project samples/CodexMcpGateway dotnet run --project samples/CodexMcpGateway
# Gateway listens on http://localhost:8080 # Gateway listens on http://localhost:8080
# Routes requests to http://localhost:5050 # Routes requests to http://localhost:5050
``` ```
See [OpenHarbor.MCP.Gateway](../OpenHarbor.MCP.Gateway/README.md) for gateway configuration. See [Svrnty.MCP.Gateway](../Svrnty.MCP.Gateway/README.md) for gateway configuration.
## Troubleshooting ## Troubleshooting
@ -215,7 +215,7 @@ Edit `samples/CodexMcpServer/appsettings.json`:
1. **Full integration guide:** See [INTEGRATION-GUIDE.md](INTEGRATION-GUIDE.md) 1. **Full integration guide:** See [INTEGRATION-GUIDE.md](INTEGRATION-GUIDE.md)
2. **Architecture details:** See [README.md](README.md) 2. **Architecture details:** See [README.md](README.md)
3. **Gateway setup:** See [OpenHarbor.MCP.Gateway](../OpenHarbor.MCP.Gateway/README.md) 3. **Gateway setup:** See [Svrnty.MCP.Gateway](../Svrnty.MCP.Gateway/README.md)
4. **Development:** See [docs/module-design.md](docs/module-design.md) 4. **Development:** See [docs/module-design.md](docs/module-design.md)
--- ---
@ -238,7 +238,7 @@ dotnet run --project samples/CodexMcpServer -- --stdio
"args": [ "args": [
"run", "run",
"--project", "--project",
"/home/svrnty/codex/OpenHarbor.MCP.Server/samples/CodexMcpServer/CodexMcpServer.csproj", "/home/svrnty/codex/Svrnty.MCP.Server/samples/CodexMcpServer/CodexMcpServer.csproj",
"--", "--",
"--stdio" "--stdio"
], ],
@ -263,6 +263,6 @@ dotnet run --project samples/CodexMcpServer -- --stdio
## Support ## Support
- Issues: [GitHub Issues](https://github.com/yourusername/OpenHarbor.MCP/issues) - Issues: [GitHub Issues](https://github.com/yourusername/Svrnty.MCP/issues)
- MCP Spec: [modelcontextprotocol.io](https://modelcontextprotocol.io) - MCP Spec: [modelcontextprotocol.io](https://modelcontextprotocol.io)
- HTTP Transport Guide: See `HTTP-TRANSPORT-STANDARDIZATION.md` - HTTP Transport Guide: See `HTTP-TRANSPORT-STANDARDIZATION.md`

View File

@ -1,4 +1,4 @@
# OpenHarbor.MCP # Svrnty.MCP
**A modular, scalable, secure .NET library for building Model Context Protocol (MCP) servers** **A modular, scalable, secure .NET library for building Model Context Protocol (MCP) servers**
@ -8,9 +8,9 @@
--- ---
## What is OpenHarbor.MCP? ## What is Svrnty.MCP?
OpenHarbor.MCP is a **standalone, reusable .NET library** that enables any .NET application to become an MCP server, allowing AI agents (like Claude, ChatGPT, or custom LLMs) to interact with your application through a standardized protocol. Svrnty.MCP is a **standalone, reusable .NET library** that enables any .NET application to become an MCP server, allowing AI agents (like Claude, ChatGPT, or custom LLMs) to interact with your application through a standardized protocol.
**Model Context Protocol (MCP)** is an industry-standard protocol backed by Anthropic that defines how AI agents communicate with external tools and data sources. Think of it as a universal adapter that lets AI assistants safely access your application's capabilities. **Model Context Protocol (MCP)** is an industry-standard protocol backed by Anthropic that defines how AI agents communicate with external tools and data sources. Think of it as a universal adapter that lets AI assistants safely access your application's capabilities.
@ -26,11 +26,11 @@ OpenHarbor.MCP is a **standalone, reusable .NET library** that enables any .NET
--- ---
## Why OpenHarbor.MCP? ## Why Svrnty.MCP?
**Problem**: Your .NET application has valuable features (search, data access, document processing, APIs) that AI agents can't easily access. **Problem**: Your .NET application has valuable features (search, data access, document processing, APIs) that AI agents can't easily access.
**Solution**: OpenHarbor.MCP transforms your application into an MCP server, exposing tools that AI agents can discover and execute with proper permissions and rate limiting. **Solution**: Svrnty.MCP transforms your application into an MCP server, exposing tools that AI agents can discover and execute with proper permissions and rate limiting.
**Use Cases**: **Use Cases**:
- Expose knowledge base search to Claude Code CLI (or Desktop) - Expose knowledge base search to Claude Code CLI (or Desktop)
@ -53,7 +53,7 @@ OpenHarbor.MCP is a **standalone, reusable .NET library** that enables any .NET
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 for my project" 2. Open your AI assistant and say: "Read AGENT-PRIMER.md and set up Svrnty.MCP for my project"
3. The AI will analyze your system, generate configuration, and create sample tools automatically 3. The AI will analyze your system, generate configuration, and create sample tools automatically
### Option 2: Manual Setup ### Option 2: Manual Setup
@ -62,10 +62,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/src/OpenHarbor.MCP.AspNetCore/OpenHarbor.MCP.AspNetCore.csproj dotnet add reference /path/to/Svrnty.MCP/src/Svrnty.MCP.AspNetCore/Svrnty.MCP.AspNetCore.csproj
# OR via NuGet (when published) # OR via NuGet (when published)
# dotnet add package OpenHarbor.MCP.AspNetCore # dotnet add package Svrnty.MCP.AspNetCore
``` ```
#### Step 2: Configure appsettings.json #### Step 2: Configure appsettings.json
@ -99,7 +99,7 @@ Add MCP configuration:
#### Step 3: Update Program.cs #### Step 3: Update Program.cs
```csharp ```csharp
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
@ -132,8 +132,8 @@ await app.RunAsync();
#### Step 4: Create Your First Tool #### Step 4: Create Your First Tool
```csharp ```csharp
using OpenHarbor.MCP.Core.Abstractions; using Svrnty.MCP.Core.Abstractions;
using OpenHarbor.MCP.Core.Models; using Svrnty.MCP.Core.Models;
public class MyCustomTool : IMcpTool public class MyCustomTool : IMcpTool
{ {
@ -203,17 +203,17 @@ echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | dotnet run -- --stdio
## Architecture ## Architecture
OpenHarbor.MCP follows **Clean Architecture** principles: Svrnty.MCP follows **Clean Architecture** principles:
``` ```
┌─────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────┐
OpenHarbor.MCP.Cli (Executable) │ Svrnty.MCP.Cli (Executable) │
│ ┌───────────────────────────────────────────┐ │ │ ┌───────────────────────────────────────────┐ │
│ │ OpenHarbor.MCP.AspNetCore (HTTP/DI) │ │ │ │ Svrnty.MCP.AspNetCore (HTTP/DI) │ │
│ │ ┌─────────────────────────────────────┐ │ │ │ │ ┌─────────────────────────────────────┐ │ │
│ │ │ OpenHarbor.MCP.Infrastructure │ │ │ │ │ │ Svrnty.MCP.Infrastructure │ │ │
│ │ │ ┌───────────────────────────────┐ │ │ │ │ │ │ ┌───────────────────────────────┐ │ │ │
│ │ │ │ OpenHarbor.MCP.Core │ │ │ │ │ │ │ │ Svrnty.MCP.Core │ │ │ │
│ │ │ │ - IMcpServer │ │ │ │ │ │ │ │ - IMcpServer │ │ │ │
│ │ │ │ - IMcpTool │ │ │ │ │ │ │ │ - IMcpTool │ │ │ │
│ │ │ │ - IPermissionProvider │ │ │ │ │ │ │ │ - IPermissionProvider │ │ │ │
@ -228,10 +228,10 @@ OpenHarbor.MCP follows **Clean Architecture** principles:
| Project | Purpose | Dependencies | | Project | Purpose | Dependencies |
|---------|---------|--------------| |---------|---------|--------------|
| **OpenHarbor.MCP.Core** | Abstractions, interfaces, models | None | | **Svrnty.MCP.Core** | Abstractions, interfaces, models | None |
| **OpenHarbor.MCP.Infrastructure** | MCP server implementation, transports, security | Core, System.Text.Json | | **Svrnty.MCP.Infrastructure** | MCP server implementation, transports, security | Core, System.Text.Json |
| **OpenHarbor.MCP.AspNetCore** | ASP.NET Core integration, DI extensions | Core, Infrastructure, ASP.NET Core | | **Svrnty.MCP.AspNetCore** | ASP.NET Core integration, DI extensions | Core, Infrastructure, ASP.NET Core |
| **OpenHarbor.MCP.Cli** | Standalone CLI executable | All above | | **Svrnty.MCP.Cli** | Standalone CLI executable | All above |
See [Architecture Documentation](docs/architecture.md) for detailed design. See [Architecture Documentation](docs/architecture.md) for detailed design.
@ -257,12 +257,12 @@ samples/CodexMcpServer/
**Usage with MCP Gateway** (Recommended for Production): **Usage with MCP Gateway** (Recommended for Production):
```bash ```bash
# Run CODEX MCP Server in HTTP mode (default) # Run CODEX MCP Server in HTTP mode (default)
cd /path/to/OpenHarbor.MCP.Server/samples/CodexMcpServer cd /path/to/Svrnty.MCP.Server/samples/CodexMcpServer
dotnet run dotnet run
# Server listens on http://localhost:5050 # Server listens on http://localhost:5050
# Configure gateway to route to this server # Configure gateway to route to this server
# See OpenHarbor.MCP.Gateway documentation # See Svrnty.MCP.Gateway documentation
``` ```
**Alternative: Claude Desktop with Stdio** (Legacy, Local Development): **Alternative: Claude Desktop with Stdio** (Legacy, Local Development):
@ -339,7 +339,7 @@ public class ProcessDocumentTool : IMcpTool
## Security ## Security
OpenHarbor.MCP implements defense-in-depth security: Svrnty.MCP implements defense-in-depth security:
### 1. Permission-Based Access Control ### 1. Permission-Based Access Control
@ -397,7 +397,7 @@ All tool parameters are validated against schema before execution.
## Testing ## Testing
OpenHarbor.MCP is built with **Test-Driven Development (TDD)**: Svrnty.MCP is built with **Test-Driven Development (TDD)**:
```bash ```bash
# Run all tests # Run all tests
@ -413,9 +413,9 @@ dotnet test --filter Category=Integration
**Test Structure**: **Test Structure**:
``` ```
tests/ tests/
├── OpenHarbor.MCP.Core.Tests/ # Unit tests (abstractions, models) ├── Svrnty.MCP.Core.Tests/ # Unit tests (abstractions, models)
├── OpenHarbor.MCP.Infrastructure.Tests/ # Unit tests (server, transports, security) ├── Svrnty.MCP.Infrastructure.Tests/ # Unit tests (server, transports, security)
└── OpenHarbor.MCP.Integration.Tests/ # End-to-end integration tests └── Svrnty.MCP.Integration.Tests/ # End-to-end integration tests
``` ```
**Example Test** (TDD style): **Example Test** (TDD style):
@ -442,13 +442,13 @@ See [TDD Guide](docs/tdd-guide.md) for complete examples.
### Test Coverage ### Test Coverage
OpenHarbor.MCP.Server maintains **42.46% line coverage** and **50.00% branch coverage** with **141 tests** passing (100%). Svrnty.MCP.Server maintains **42.46% line coverage** and **50.00% branch coverage** with **141 tests** passing (100%).
**Coverage Breakdown:** **Coverage Breakdown:**
- **Lines**: 344 of 810 covered (42.46%) - **Lines**: 344 of 810 covered (42.46%)
- **Branches**: 72 of 144 covered (50.00%) - **Branches**: 72 of 144 covered (50.00%)
- **Test Projects**: 2 - **Test Projects**: 2
- OpenHarbor.MCP.Core.Tests: 82 tests - Svrnty.MCP.Core.Tests: 82 tests
- CodexMcpServer.Tests: 59 tests - CodexMcpServer.Tests: 59 tests
**Analysis:** **Analysis:**
@ -558,7 +558,7 @@ Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for gu
**Development Setup**: **Development Setup**:
```bash ```bash
# Clone repository # Clone repository
git clone https://github.com/yourusername/OpenHarbor.MCP.git git clone https://github.com/yourusername/Svrnty.MCP.git
# Restore dependencies # Restore dependencies
dotnet restore dotnet restore
@ -596,7 +596,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
- **Documentation**: [docs/](docs/) - **Documentation**: [docs/](docs/)
- **Examples**: [samples/](samples/) - **Examples**: [samples/](samples/)
- **Issues**: [GitHub Issues](https://github.com/yourusername/OpenHarbor.MCP/issues) - **Issues**: [GitHub Issues](https://github.com/yourusername/Svrnty.MCP/issues)
--- ---

View File

@ -5,11 +5,11 @@ VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{78F02CB6-4914-4B68-901E-B00546F7985E}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{78F02CB6-4914-4B68-901E-B00546F7985E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Core", "src\OpenHarbor.MCP.Core\OpenHarbor.MCP.Core.csproj", "{94C0092B-E1B1-4960-89F5-72BC22BEE4D1}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Core", "src\Svrnty.MCP.Core\Svrnty.MCP.Core.csproj", "{94C0092B-E1B1-4960-89F5-72BC22BEE4D1}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{B419E78A-FF41-452F-9450-59D7E559D175}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{B419E78A-FF41-452F-9450-59D7E559D175}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.Core.Tests", "tests\OpenHarbor.MCP.Core.Tests\OpenHarbor.MCP.Core.Tests.csproj", "{E4E7F10A-6195-4E12-B0FD-E0EF7057286C}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.Core.Tests", "tests\Svrnty.MCP.Core.Tests\Svrnty.MCP.Core.Tests.csproj", "{E4E7F10A-6195-4E12-B0FD-E0EF7057286C}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{8430E1E0-6DC8-458D-A0AA-80D8F202264E}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{8430E1E0-6DC8-458D-A0AA-80D8F202264E}"
EndProject EndProject
@ -17,7 +17,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexMcpServer", "samples\C
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexMcpServer.Tests", "tests\CodexMcpServer.Tests\CodexMcpServer.Tests.csproj", "{7287EB04-9B7D-450C-87FF-21FB1FD9949E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexMcpServer.Tests", "tests\CodexMcpServer.Tests\CodexMcpServer.Tests.csproj", "{7287EB04-9B7D-450C-87FF-21FB1FD9949E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHarbor.MCP.AspNetCore", "src\OpenHarbor.MCP.AspNetCore\OpenHarbor.MCP.AspNetCore.csproj", "{14914206-58A7-46FF-AF0F-A8A9108EE149}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svrnty.MCP.AspNetCore", "src\Svrnty.MCP.AspNetCore\Svrnty.MCP.AspNetCore.csproj", "{14914206-58A7-46FF-AF0F-A8A9108EE149}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@ -1,4 +1,4 @@
# OpenHarbor.MCP.Server - API Reference # Svrnty.MCP.Server - API Reference
**Version:** 1.0.0 **Version:** 1.0.0
**Last Updated:** 2025-10-19 **Last Updated:** 2025-10-19
@ -27,7 +27,7 @@
### IMcpServer ### IMcpServer
**Namespace:** `OpenHarbor.MCP.Core.Abstractions` **Namespace:** `Svrnty.MCP.Core.Abstractions`
Interface defining the core MCP server contract. Interface defining the core MCP server contract.
@ -92,7 +92,7 @@ foreach (var tool in tools)
### IMcpTool ### IMcpTool
**Namespace:** `OpenHarbor.MCP.Core.Abstractions` **Namespace:** `Svrnty.MCP.Core.Abstractions`
Interface for implementing MCP tools. Interface for implementing MCP tools.
@ -183,7 +183,7 @@ public class SearchTool : IMcpTool
### McpServer ### McpServer
**Namespace:** `OpenHarbor.MCP.Infrastructure` **Namespace:** `Svrnty.MCP.Infrastructure`
Default implementation of `IMcpServer`. Default implementation of `IMcpServer`.
@ -227,7 +227,7 @@ Gracefully stops the server.
### HttpTransport ### HttpTransport
**Namespace:** `OpenHarbor.MCP.AspNetCore.Extensions` **Namespace:** `Svrnty.MCP.AspNetCore.Extensions`
HTTP transport implementation for MCP protocol. HTTP transport implementation for MCP protocol.
@ -295,7 +295,7 @@ Health check endpoint.
### McpToolSchema ### McpToolSchema
**Namespace:** `OpenHarbor.MCP.Core.Models` **Namespace:** `Svrnty.MCP.Core.Models`
JSON Schema representation for tool parameters. JSON Schema representation for tool parameters.
@ -347,7 +347,7 @@ var schema = new McpToolSchema
### McpToolResult ### McpToolResult
**Namespace:** `OpenHarbor.MCP.Core.Models` **Namespace:** `Svrnty.MCP.Core.Models`
Represents the result of a tool execution. Represents the result of a tool execution.
@ -401,7 +401,7 @@ return McpToolResult.Error("Document not found", 404);
### Service Extensions ### Service Extensions
**Namespace:** `OpenHarbor.MCP.AspNetCore` **Namespace:** `Svrnty.MCP.AspNetCore`
#### AddMcpServer #### AddMcpServer
@ -549,8 +549,8 @@ Executes a tool.
### Creating an MCP Server ### Creating an MCP Server
```csharp ```csharp
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
using OpenHarbor.MCP.Core.Abstractions; using Svrnty.MCP.Core.Abstractions;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
// 1. Create tools // 1. Create tools

View File

@ -1,4 +1,4 @@
# HTTPS/TLS Setup Guide - OpenHarbor.MCP.Server # HTTPS/TLS Setup Guide - Svrnty.MCP.Server
**Purpose**: Production-grade HTTPS/TLS configuration for secure MCP server deployment **Purpose**: Production-grade HTTPS/TLS configuration for secure MCP server deployment
**Audience**: DevOps engineers, system administrators **Audience**: DevOps engineers, system administrators
@ -22,7 +22,7 @@
## Overview ## Overview
OpenHarbor.MCP.Server supports HTTPS/TLS through ASP.NET Core's Kestrel web server. This guide covers configuration for both development and production environments. Svrnty.MCP.Server supports HTTPS/TLS through ASP.NET Core's Kestrel web server. This guide covers configuration for both development and production environments.
**Security Benefits:** **Security Benefits:**
- Encrypted communication (prevents eavesdropping) - Encrypted communication (prevents eavesdropping)
@ -101,7 +101,7 @@ Create or update `appsettings.Development.json` in the Server project:
**Step 3: Run Server with HTTPS** **Step 3: Run Server with HTTPS**
```bash ```bash
cd OpenHarbor.MCP.Server/samples/CodexMcpServer cd Svrnty.MCP.Server/samples/CodexMcpServer
dotnet run --environment Development dotnet run --environment Development
# Server will listen on: # Server will listen on:
@ -134,7 +134,7 @@ curl -k -X POST https://localhost:5051/mcp/invoke \
```bash ```bash
# Create directory for certs # Create directory for certs
mkdir -p /home/svrnty/codex/OpenHarbor.MCP.Server/certs mkdir -p /home/svrnty/codex/Svrnty.MCP.Server/certs
# Generate private key # Generate private key
openssl genrsa -out certs/localhost.key 2048 openssl genrsa -out certs/localhost.key 2048

View File

@ -1,4 +1,4 @@
# OpenHarbor.MCP - Detailed Implementation Plan # Svrnty.MCP - Detailed Implementation Plan
**Project:** Standalone, Reusable MCP Library for .NET **Project:** Standalone, Reusable MCP Library for .NET
**Status:** Planned (Not Yet Started) **Status:** Planned (Not Yet Started)
@ -10,7 +10,7 @@
## Executive Summary ## Executive Summary
OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context Protocol (MCP) server functionality. It is designed to be: Svrnty.MCP is a **standalone .NET library** implementing the Model Context Protocol (MCP) server functionality. It is designed to be:
- **Reusable** across any .NET project - **Reusable** across any .NET project
- **Modular** with clean separation of concerns - **Modular** with clean separation of concerns
@ -43,7 +43,7 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
``` ```
┌─────────────────────────────────────────────┐ ┌─────────────────────────────────────────────┐
OpenHarbor.MCP.Core │ Svrnty.MCP.Core │
│ (Pure Abstractions - Zero Dependencies) │ │ (Pure Abstractions - Zero Dependencies) │
│ │ │ │
│ IMcpServer, IMcpTool, IMcpResource │ │ IMcpServer, IMcpTool, IMcpResource │
@ -52,7 +52,7 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
└─────────────────┬───────────────────────────┘ └─────────────────┬───────────────────────────┘
│ Depends On │ Depends On
┌─────────────────┴───────────────────────────┐ ┌─────────────────┴───────────────────────────┐
OpenHarbor.MCP.Infrastructure │ Svrnty.MCP.Infrastructure │
│ (Implementation + Transport) │ │ (Implementation + Transport) │
│ │ │ │
│ McpServer, ToolRegistry, StdioTransport │ │ McpServer, ToolRegistry, StdioTransport │
@ -61,7 +61,7 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
└─────────────────┬───────────────────────────┘ └─────────────────┬───────────────────────────┘
│ Depends On │ Depends On
┌─────────────────┴───────────────────────────┐ ┌─────────────────┴───────────────────────────┐
OpenHarbor.MCP.AspNetCore │ Svrnty.MCP.AspNetCore │
│ (ASP.NET Core Integration) │ │ (ASP.NET Core Integration) │
│ │ │ │
│ ServiceCollectionExtensions │ │ ServiceCollectionExtensions │
@ -70,7 +70,7 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
└─────────────────────────────────────────────┘ └─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐ ┌─────────────────────────────────────────────┐
OpenHarbor.MCP.Cli │ Svrnty.MCP.Cli │
│ (Standalone CLI Runner) │ │ (Standalone CLI Runner) │
│ │ │ │
│ Program.cs (Entry Point) │ │ Program.cs (Entry Point) │
@ -114,8 +114,8 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
## Project Structure ## Project Structure
``` ```
/home/svrnty/codex/OpenHarbor.MCP/ /home/svrnty/codex/Svrnty.MCP/
├── OpenHarbor.MCP.sln ├── Svrnty.MCP.sln
├── README.md ├── README.md
├── AGENT-PRIMER.md # AI-assisted configuration ├── AGENT-PRIMER.md # AI-assisted configuration
├── LICENSE # MIT ├── LICENSE # MIT
@ -123,7 +123,7 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
├── .editorconfig ├── .editorconfig
├── src/ ├── src/
│ ├── OpenHarbor.MCP.Core/ │ ├── Svrnty.MCP.Core/
│ │ ├── Abstractions/ │ │ ├── Abstractions/
│ │ │ ├── IMcpServer.cs │ │ │ ├── IMcpServer.cs
│ │ │ ├── IMcpTool.cs │ │ │ ├── IMcpTool.cs
@ -142,9 +142,9 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
│ │ │ ├── PermissionDeniedException.cs │ │ │ ├── PermissionDeniedException.cs
│ │ │ ├── RateLimitExceededException.cs │ │ │ ├── RateLimitExceededException.cs
│ │ │ └── ToolNotFoundException.cs │ │ │ └── ToolNotFoundException.cs
│ │ └── OpenHarbor.MCP.Core.csproj │ │ └── Svrnty.MCP.Core.csproj
│ │ │ │
│ ├── OpenHarbor.MCP.Infrastructure/ │ ├── Svrnty.MCP.Infrastructure/
│ │ ├── Server/ │ │ ├── Server/
│ │ │ ├── McpServer.cs │ │ │ ├── McpServer.cs
│ │ │ ├── ToolRegistry.cs │ │ │ ├── ToolRegistry.cs
@ -156,9 +156,9 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
│ │ ├── Transport/ │ │ ├── Transport/
│ │ │ ├── StdioTransport.cs │ │ │ ├── StdioTransport.cs
│ │ │ └── HttpTransport.cs │ │ │ └── HttpTransport.cs
│ │ └── OpenHarbor.MCP.Infrastructure.csproj │ │ └── Svrnty.MCP.Infrastructure.csproj
│ │ │ │
│ ├── OpenHarbor.MCP.AspNetCore/ │ ├── Svrnty.MCP.AspNetCore/
│ │ ├── Extensions/ │ │ ├── Extensions/
│ │ │ └── ServiceCollectionExtensions.cs │ │ │ └── ServiceCollectionExtensions.cs
│ │ ├── Middleware/ │ │ ├── Middleware/
@ -166,22 +166,22 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
│ │ │ └── AuditMiddleware.cs │ │ │ └── AuditMiddleware.cs
│ │ ├── Configuration/ │ │ ├── Configuration/
│ │ │ └── McpOptions.cs │ │ │ └── McpOptions.cs
│ │ └── OpenHarbor.MCP.AspNetCore.csproj │ │ └── Svrnty.MCP.AspNetCore.csproj
│ │ │ │
│ └── OpenHarbor.MCP.Cli/ │ └── Svrnty.MCP.Cli/
│ ├── Program.cs │ ├── Program.cs
│ └── OpenHarbor.MCP.Cli.csproj │ └── Svrnty.MCP.Cli.csproj
├── tests/ ├── tests/
│ ├── OpenHarbor.MCP.Core.Tests/ │ ├── Svrnty.MCP.Core.Tests/
│ │ ├── Abstractions/ │ │ ├── Abstractions/
│ │ ├── Models/ │ │ ├── Models/
│ │ └── Exceptions/ │ │ └── Exceptions/
│ ├── OpenHarbor.MCP.Infrastructure.Tests/ │ ├── Svrnty.MCP.Infrastructure.Tests/
│ │ ├── Server/ │ │ ├── Server/
│ │ ├── Security/ │ │ ├── Security/
│ │ └── Transport/ │ │ └── Transport/
│ └── OpenHarbor.MCP.Integration.Tests/ │ └── Svrnty.MCP.Integration.Tests/
│ ├── EndToEnd/ │ ├── EndToEnd/
│ └── Scenarios/ │ └── Scenarios/
@ -228,14 +228,14 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
**TDD:** Not applicable (infrastructure setup) **TDD:** Not applicable (infrastructure setup)
**Tasks:** **Tasks:**
- Create solution: `dotnet new sln -n OpenHarbor.MCP` - Create solution: `dotnet new sln -n Svrnty.MCP`
- Create Core project: `dotnet new classlib -n OpenHarbor.MCP.Core --framework net8.0` - Create Core project: `dotnet new classlib -n Svrnty.MCP.Core --framework net8.0`
- Configure: Enable nullable, ImplicitUsings - Configure: Enable nullable, ImplicitUsings
- Add to solution - Add to solution
**Deliverables:** **Deliverables:**
- OpenHarbor.MCP.sln - Svrnty.MCP.sln
- OpenHarbor.MCP.Core.csproj - Svrnty.MCP.Core.csproj
- .editorconfig (C# formatting) - .editorconfig (C# formatting)
#### Step 1.2: Core Interfaces (2 hours) #### Step 1.2: Core Interfaces (2 hours)
@ -243,7 +243,7 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
**Tests FIRST:** **Tests FIRST:**
```csharp ```csharp
// OpenHarbor.MCP.Core.Tests/Abstractions/IMcpServerTests.cs // Svrnty.MCP.Core.Tests/Abstractions/IMcpServerTests.cs
[Fact] [Fact]
public async Task RegisterTool_WithValidTool_AddsToRegistry() public async Task RegisterTool_WithValidTool_AddsToRegistry()
{ {
@ -261,7 +261,7 @@ public async Task RegisterTool_WithValidTool_AddsToRegistry()
**Implementation:** **Implementation:**
```csharp ```csharp
// OpenHarbor.MCP.Core/Abstractions/IMcpServer.cs // Svrnty.MCP.Core/Abstractions/IMcpServer.cs
public interface IMcpServer public interface IMcpServer
{ {
Task RegisterTool(IMcpTool tool); Task RegisterTool(IMcpTool tool);
@ -271,7 +271,7 @@ public interface IMcpServer
Task Stop(); Task Stop();
} }
// OpenHarbor.MCP.Core/Abstractions/IMcpTool.cs // Svrnty.MCP.Core/Abstractions/IMcpTool.cs
public interface IMcpTool public interface IMcpTool
{ {
string Name { get; } string Name { get; }
@ -280,14 +280,14 @@ public interface IMcpTool
Task<McpResponse> Execute(McpRequest request); Task<McpResponse> Execute(McpRequest request);
} }
// OpenHarbor.MCP.Core/Abstractions/IPermissionProvider.cs // Svrnty.MCP.Core/Abstractions/IPermissionProvider.cs
public interface IPermissionProvider public interface IPermissionProvider
{ {
Task<bool> HasPermission(string agentId, string action, string? resource = null); Task<bool> HasPermission(string agentId, string action, string? resource = null);
Task<IEnumerable<string>> GetPermissions(string agentId); Task<IEnumerable<string>> GetPermissions(string agentId);
} }
// OpenHarbor.MCP.Core/Abstractions/IRateLimiter.cs // Svrnty.MCP.Core/Abstractions/IRateLimiter.cs
public interface IRateLimiter public interface IRateLimiter
{ {
Task<bool> TryAcquire(string agentId); Task<bool> TryAcquire(string agentId);
@ -322,7 +322,7 @@ public void McpRequest_WithValidData_Serializes()
**Implementation:** **Implementation:**
```csharp ```csharp
// OpenHarbor.MCP.Core/Models/McpRequest.cs // Svrnty.MCP.Core/Models/McpRequest.cs
public record McpRequest public record McpRequest
{ {
public string Method { get; init; } = string.Empty; public string Method { get; init; } = string.Empty;
@ -330,7 +330,7 @@ public record McpRequest
public string? Id { get; init; } public string? Id { get; init; }
} }
// OpenHarbor.MCP.Core/Models/McpResponse.cs // Svrnty.MCP.Core/Models/McpResponse.cs
public record McpResponse public record McpResponse
{ {
public object? Result { get; init; } public object? Result { get; init; }
@ -338,7 +338,7 @@ public record McpResponse
public string? Id { get; init; } public string? Id { get; init; }
} }
// OpenHarbor.MCP.Core/Models/McpTool.cs // Svrnty.MCP.Core/Models/McpTool.cs
public record McpTool public record McpTool
{ {
public string Name { get; init; } = string.Empty; public string Name { get; init; } = string.Empty;
@ -663,15 +663,15 @@ public static IServiceCollection AddMcpServer(
``` ```
tests/ tests/
├── OpenHarbor.MCP.Core.Tests/ ├── Svrnty.MCP.Core.Tests/
│ ├── Abstractions/ # Interface behavior tests │ ├── Abstractions/ # Interface behavior tests
│ ├── Models/ # Model validation tests │ ├── Models/ # Model validation tests
│ └── Exceptions/ # Exception tests │ └── Exceptions/ # Exception tests
├── OpenHarbor.MCP.Infrastructure.Tests/ ├── Svrnty.MCP.Infrastructure.Tests/
│ ├── Server/ # Server logic tests │ ├── Server/ # Server logic tests
│ ├── Security/ # Permission & rate limit tests │ ├── Security/ # Permission & rate limit tests
│ └── Transport/ # Transport tests │ └── Transport/ # Transport tests
└── OpenHarbor.MCP.Integration.Tests/ └── Svrnty.MCP.Integration.Tests/
└── EndToEnd/ # Full MCP server scenarios └── EndToEnd/ # Full MCP server scenarios
``` ```
@ -694,7 +694,7 @@ tests/
### Purpose ### Purpose
Enable AI agents to automatically configure OpenHarbor.MCP for any target system by: Enable AI agents to automatically configure Svrnty.MCP for any target system by:
1. Analyzing the system 1. Analyzing the system
2. Generating configuration 2. Generating configuration
3. Creating sample tools 3. Creating sample tools
@ -703,9 +703,9 @@ Enable AI agents to automatically configure OpenHarbor.MCP for any target system
### Structure ### Structure
```markdown ```markdown
# OpenHarbor.MCP Agent Primer # Svrnty.MCP Agent Primer
**For AI Agents:** This file guides automated setup of OpenHarbor.MCP. **For AI Agents:** This file guides automated setup of Svrnty.MCP.
## Step 1: System Analysis ## Step 1: System Analysis
@ -825,12 +825,12 @@ The AGENT-PRIMER.md will include:
**Option 1: NuGet Package (Production)** **Option 1: NuGet Package (Production)**
```bash ```bash
dotnet add package OpenHarbor.MCP.AspNetCore dotnet add package Svrnty.MCP.AspNetCore
``` ```
**Option 2: Project Reference (Development)** **Option 2: Project Reference (Development)**
```bash ```bash
dotnet add reference ../OpenHarbor.MCP/src/OpenHarbor.MCP.AspNetCore/OpenHarbor.MCP.AspNetCore.csproj dotnet add reference ../Svrnty.MCP/src/Svrnty.MCP.AspNetCore/Svrnty.MCP.AspNetCore.csproj
``` ```
### CODEX MCP Server Structure ### CODEX MCP Server Structure
@ -854,7 +854,7 @@ src/Codex.Mcp/
### Sample Tool Implementation ### Sample Tool Implementation
```csharp ```csharp
using OpenHarbor.MCP.Core.Abstractions; using Svrnty.MCP.Core.Abstractions;
public class SearchCodexTool : IMcpTool public class SearchCodexTool : IMcpTool
{ {
@ -958,7 +958,7 @@ All new dependencies must be:
**Documentation:** **Documentation:**
- [x] Updated future-mcp-integration-plan.md - [x] Updated future-mcp-integration-plan.md
- [x] Completion notes in registry.json - [x] Completion notes in registry.json
- [x] CODEX_INDEX.md references OpenHarbor.MCP - [x] CODEX_INDEX.md references Svrnty.MCP
--- ---
@ -988,7 +988,7 @@ All new dependencies must be:
## Next Steps ## Next Steps
1. **Get approval for this plan** 1. **Get approval for this plan**
2. **Create folder structure:** `/home/svrnty/codex/OpenHarbor.MCP/` 2. **Create folder structure:** `/home/svrnty/codex/Svrnty.MCP/`
3. **Write AGENT-PRIMER.md** 3. **Write AGENT-PRIMER.md**
4. **Begin Phase 1:** Core abstractions with TDD 4. **Begin Phase 1:** Core abstractions with TDD
5. **Track progress:** Use TodoWrite for each phase 5. **Track progress:** Use TodoWrite for each phase

View File

@ -1,4 +1,4 @@
# OpenHarbor.MCP - Reusable Module Design # Svrnty.MCP - Reusable Module Design
**Document Type:** Architecture and Design Specification **Document Type:** Architecture and Design Specification
**Created:** 2025-10-19 **Created:** 2025-10-19
@ -9,7 +9,7 @@
## Overview ## Overview
OpenHarbor.MCP is a **standalone, modular, scalable MCP library** that can be extracted and reused across multiple projects. While CODEX will be the first implementation, the module is designed for general-purpose use. Svrnty.MCP is a **standalone, modular, scalable MCP library** that can be extracted and reused across multiple projects. While CODEX will be the first implementation, the module is designed for general-purpose use.
**Key Design Principles:** **Key Design Principles:**
- Zero CODEX dependencies - Pure .NET library - Zero CODEX dependencies - Pure .NET library
@ -24,11 +24,11 @@ OpenHarbor.MCP is a **standalone, modular, scalable MCP library** that can be ex
**Standalone folder (NOT in CODEX codebase):** **Standalone folder (NOT in CODEX codebase):**
``` ```
/home/svrnty/codex/OpenHarbor.MCP/ # Separate from CODEX /home/svrnty/codex/Svrnty.MCP/ # Separate from CODEX
├── README.md # Usage documentation ├── README.md # Usage documentation
├── AGENT-PRIMER.md # AI-automated configuration ├── AGENT-PRIMER.md # AI-automated configuration
├── LICENSE # MIT license ├── LICENSE # MIT license
├── OpenHarbor.MCP.sln # Solution file ├── Svrnty.MCP.sln # Solution file
├── src/ # Source code ├── src/ # Source code
├── tests/ # Unit + integration tests ├── tests/ # Unit + integration tests
├── samples/CodexMcpServer/ # CODEX example ├── samples/CodexMcpServer/ # CODEX example
@ -47,26 +47,26 @@ OpenHarbor.MCP is a **standalone, modular, scalable MCP library** that can be ex
**Clean Architecture Layers:** **Clean Architecture Layers:**
### 1. OpenHarbor.MCP.Core - Pure Abstractions ### 1. Svrnty.MCP.Core - Pure Abstractions
- `IMcpServer` - Server interface - `IMcpServer` - Server interface
- `IMcpTool` - Tool interface - `IMcpTool` - Tool interface
- `IPermissionProvider` - Permission abstraction - `IPermissionProvider` - Permission abstraction
- `IRateLimiter` - Rate limiting abstraction - `IRateLimiter` - Rate limiting abstraction
- Zero dependencies - Zero dependencies
### 2. OpenHarbor.MCP.Infrastructure - Implementation ### 2. Svrnty.MCP.Infrastructure - Implementation
- `McpServer` - Server implementation - `McpServer` - Server implementation
- `ToolRegistry` - Dynamic tool registration - `ToolRegistry` - Dynamic tool registration
- `StdioTransport` - Process communication - `StdioTransport` - Process communication
- `PermissionProvider` - Access control - `PermissionProvider` - Access control
- `TokenBucketRateLimiter` - Rate limiting - `TokenBucketRateLimiter` - Rate limiting
### 3. OpenHarbor.MCP.AspNetCore - Integration ### 3. Svrnty.MCP.AspNetCore - Integration
- ServiceCollectionExtensions - DI - ServiceCollectionExtensions - DI
- McpMiddleware - HTTP transport - McpMiddleware - HTTP transport
- McpOptions - Configuration - McpOptions - Configuration
### 4. OpenHarbor.MCP.Cli - CLI Runner ### 4. Svrnty.MCP.Cli - CLI Runner
- HTTP transport runner - HTTP transport runner
- Configuration loading - Configuration loading
@ -83,7 +83,7 @@ OpenHarbor.MCP is a **standalone, modular, scalable MCP library** that can be ex
**AI Agent Workflow:** **AI Agent Workflow:**
``` ```
User: "Copy OpenHarbor.MCP to my project" User: "Copy Svrnty.MCP to my project"
AI reads AGENT-PRIMER.md AI reads AGENT-PRIMER.md
@ -108,17 +108,17 @@ User validates and runs
**Option 1: NuGet Package (Production)** **Option 1: NuGet Package (Production)**
```xml ```xml
<PackageReference Include="OpenHarbor.MCP.AspNetCore" Version="1.0.0" /> <PackageReference Include="Svrnty.MCP.AspNetCore" Version="1.0.0" />
``` ```
**Option 2: Local Project Reference (Development)** **Option 2: Local Project Reference (Development)**
```xml ```xml
<ProjectReference Include="../OpenHarbor.MCP/src/OpenHarbor.MCP.AspNetCore/OpenHarbor.MCP.AspNetCore.csproj" /> <ProjectReference Include="../Svrnty.MCP/src/Svrnty.MCP.AspNetCore/Svrnty.MCP.AspNetCore.csproj" />
``` ```
**CODEX MCP Server Location:** **CODEX MCP Server Location:**
``` ```
src/Codex.Mcp/ # Uses OpenHarbor.MCP library src/Codex.Mcp/ # Uses Svrnty.MCP library
├── Program.cs # CLI entry point ├── Program.cs # CLI entry point
├── CodexMcpServer.cs # Server configuration ├── CodexMcpServer.cs # Server configuration
├── Tools/ ├── Tools/
@ -135,7 +135,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
## Implementation Phases ## Implementation Phases
### Phase 1: Core Module Development (Week 1-2, 6-8 hours) ### Phase 1: Core Module Development (Week 1-2, 6-8 hours)
- Location: `/home/svrnty/codex/OpenHarbor.MCP/src/` - Location: `/home/svrnty/codex/Svrnty.MCP/src/`
- Deliverables: - Deliverables:
- Core abstractions (Core project) - Core abstractions (Core project)
- Server implementation (Infrastructure project) - Server implementation (Infrastructure project)
@ -146,7 +146,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
- Testing: TDD approach (tests first, all phases) - Testing: TDD approach (tests first, all phases)
### Phase 2: CODEX Integration Example (Week 2-3, 4-6 hours) ### Phase 2: CODEX Integration Example (Week 2-3, 4-6 hours)
- Location: `/home/svrnty/codex/OpenHarbor.MCP/samples/CodexMcpServer/` - Location: `/home/svrnty/codex/Svrnty.MCP/samples/CodexMcpServer/`
- Deliverables: - Deliverables:
- Sample implementation with 6 CODEX tools - Sample implementation with 6 CODEX tools
- Permission configuration - Permission configuration
@ -154,7 +154,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
- Integration tests with CODEX API - Integration tests with CODEX API
### Phase 3: Documentation & Reusability (Week 3, 4-6 hours) ### Phase 3: Documentation & Reusability (Week 3, 4-6 hours)
- Location: `/home/svrnty/codex/OpenHarbor.MCP/docs/` - Location: `/home/svrnty/codex/Svrnty.MCP/docs/`
- Deliverables: - Deliverables:
- Complete README.md - Complete README.md
- Architecture documentation - Architecture documentation
@ -163,7 +163,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
- Migration guide (copy to new projects) - Migration guide (copy to new projects)
### Phase 4: CODEX Production Integration (Week 3-4, 2-4 hours) ### Phase 4: CODEX Production Integration (Week 3-4, 2-4 hours)
- Location: CODEX references OpenHarbor.MCP - Location: CODEX references Svrnty.MCP
- Deliverables: - Deliverables:
- Update CODEX to use library - Update CODEX to use library
- Production deployment configuration - Production deployment configuration
@ -192,7 +192,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
## Reusability Features ## Reusability Features
### 1. Folder Portability ### 1. Folder Portability
- Copy `/home/svrnty/codex/OpenHarbor.MCP/` to any project - Copy `/home/svrnty/codex/Svrnty.MCP/` to any project
- Self-contained with all documentation - Self-contained with all documentation
- No external CODEX dependencies - No external CODEX dependencies
@ -248,7 +248,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
## Related Documentation ## Related Documentation
**OpenHarbor.MCP Documentation:** **Svrnty.MCP Documentation:**
- [README.md](../README.md) - Project overview and quick start - [README.md](../README.md) - Project overview and quick start
- [AGENT-PRIMER.md](../AGENT-PRIMER.md) - AI-automated configuration guide - [AGENT-PRIMER.md](../AGENT-PRIMER.md) - AI-automated configuration guide
- [Implementation Plan](implementation-plan.md) - Detailed TDD implementation strategy - [Implementation Plan](implementation-plan.md) - Detailed TDD implementation strategy

View File

@ -1,8 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Core\OpenHarbor.MCP.Core.csproj" /> <ProjectReference Include="..\..\src\Svrnty.MCP.Core\Svrnty.MCP.Core.csproj" />
<ProjectReference Include="..\..\src\OpenHarbor.MCP.AspNetCore\OpenHarbor.MCP.AspNetCore.csproj" /> <ProjectReference Include="..\..\src\Svrnty.MCP.AspNetCore\Svrnty.MCP.AspNetCore.csproj" />
</ItemGroup> </ItemGroup>
<PropertyGroup> <PropertyGroup>

View File

@ -5,8 +5,8 @@ using CodexMcpServer.Tools;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using OpenHarbor.MCP.AspNetCore.Extensions; using Svrnty.MCP.AspNetCore.Extensions;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
namespace CodexMcpServer; namespace CodexMcpServer;

View File

@ -2,7 +2,7 @@ using System;
using System.Net.Http; using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
namespace CodexMcpServer.Tools; namespace CodexMcpServer.Tools;

View File

@ -2,7 +2,7 @@ using System;
using System.Net.Http; using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
namespace CodexMcpServer.Tools; namespace CodexMcpServer.Tools;

View File

@ -4,7 +4,7 @@ using System.Linq;
using System.Net.Http; using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
namespace CodexMcpServer.Tools; namespace CodexMcpServer.Tools;

View File

@ -2,7 +2,7 @@ using System;
using System.Net.Http; using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
namespace CodexMcpServer.Tools; namespace CodexMcpServer.Tools;

View File

@ -2,7 +2,7 @@ using System;
using System.Net.Http; using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
namespace CodexMcpServer.Tools; namespace CodexMcpServer.Tools;

View File

@ -3,7 +3,7 @@ using System.Net.Http;
using System.Text; using System.Text;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
namespace CodexMcpServer.Tools; namespace CodexMcpServer.Tools;

View File

@ -5,9 +5,9 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
namespace OpenHarbor.MCP.AspNetCore.Extensions; namespace Svrnty.MCP.AspNetCore.Extensions;
/// <summary> /// <summary>
/// Implements JSON-RPC 2.0 transport over HTTP. /// Implements JSON-RPC 2.0 transport over HTTP.

View File

@ -11,7 +11,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\OpenHarbor.MCP.Core\OpenHarbor.MCP.Core.csproj" /> <ProjectReference Include="..\Svrnty.MCP.Core\Svrnty.MCP.Core.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,7 +1,7 @@
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace OpenHarbor.MCP.Core; namespace Svrnty.MCP.Core;
/// <summary> /// <summary>
/// Core abstraction for an MCP (Model Context Protocol) tool. /// Core abstraction for an MCP (Model Context Protocol) tool.

View File

@ -3,7 +3,7 @@ using System.Linq;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace OpenHarbor.MCP.Core; namespace Svrnty.MCP.Core;
/// <summary> /// <summary>
/// MCP Server that orchestrates tool execution and handles JSON-RPC 2.0 protocol methods. /// MCP Server that orchestrates tool execution and handles JSON-RPC 2.0 protocol methods.

View File

@ -1,7 +1,7 @@
using System.Text.Json; using System.Text.Json;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace OpenHarbor.MCP.Core; namespace Svrnty.MCP.Core;
/// <summary> /// <summary>
/// Represents a JSON-RPC 2.0 error object. /// Represents a JSON-RPC 2.0 error object.

View File

@ -1,7 +1,7 @@
using System.Text.Json; using System.Text.Json;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace OpenHarbor.MCP.Core; namespace Svrnty.MCP.Core;
/// <summary> /// <summary>
/// Represents a JSON-RPC 2.0 request from Claude Desktop to MCP Server. /// Represents a JSON-RPC 2.0 request from Claude Desktop to MCP Server.

View File

@ -1,7 +1,7 @@
using System.Text.Json; using System.Text.Json;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace OpenHarbor.MCP.Core; namespace Svrnty.MCP.Core;
/// <summary> /// <summary>
/// Represents a JSON-RPC 2.0 response from MCP Server to Claude Desktop. /// Represents a JSON-RPC 2.0 response from MCP Server to Claude Desktop.

View File

@ -1,4 +1,4 @@
namespace OpenHarbor.MCP.Core.Models; namespace Svrnty.MCP.Core.Models;
/// <summary> /// <summary>
/// Context information for routing decisions. /// Context information for routing decisions.

View File

@ -1,4 +1,4 @@
namespace OpenHarbor.MCP.Core.Models; namespace Svrnty.MCP.Core.Models;
/// <summary> /// <summary>
/// Configuration for an MCP server registration. /// Configuration for an MCP server registration.

View File

@ -1,4 +1,4 @@
namespace OpenHarbor.MCP.Core.Models; namespace Svrnty.MCP.Core.Models;
/// <summary> /// <summary>
/// Represents the health status of an MCP server. /// Represents the health status of an MCP server.

View File

@ -1,4 +1,4 @@
namespace OpenHarbor.MCP.Core.Models; namespace Svrnty.MCP.Core.Models;
/// <summary> /// <summary>
/// Represents metadata about a registered MCP server. /// Represents metadata about a registered MCP server.

View File

@ -4,7 +4,7 @@ using System.Text;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace OpenHarbor.MCP.Core; namespace Svrnty.MCP.Core;
/// <summary> /// <summary>
/// Implements JSON-RPC 2.0 transport over stdin/stdout. /// Implements JSON-RPC 2.0 transport over stdin/stdout.

View File

@ -2,7 +2,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
namespace OpenHarbor.MCP.Core; namespace Svrnty.MCP.Core;
/// <summary> /// <summary>
/// Registry for managing MCP tools. /// Registry for managing MCP tools.

View File

@ -23,7 +23,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\samples\CodexMcpServer\CodexMcpServer.csproj" /> <ProjectReference Include="..\..\samples\CodexMcpServer\CodexMcpServer.csproj" />
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Core\OpenHarbor.MCP.Core.csproj" /> <ProjectReference Include="..\..\src\Svrnty.MCP.Core\Svrnty.MCP.Core.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -6,7 +6,7 @@ using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
using CodexMcpServer.Tools; using CodexMcpServer.Tools;
namespace CodexMcpServer.Tests; namespace CodexMcpServer.Tests;

View File

@ -6,7 +6,7 @@ using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
using CodexMcpServer.Tools; using CodexMcpServer.Tools;
namespace CodexMcpServer.Tests; namespace CodexMcpServer.Tests;

View File

@ -6,7 +6,7 @@ using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
using CodexMcpServer.Tools; using CodexMcpServer.Tools;
namespace CodexMcpServer.Tests; namespace CodexMcpServer.Tests;

View File

@ -6,7 +6,7 @@ using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
using CodexMcpServer.Tools; using CodexMcpServer.Tools;
namespace CodexMcpServer.Tests; namespace CodexMcpServer.Tests;

View File

@ -6,7 +6,7 @@ using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
using CodexMcpServer.Tools; using CodexMcpServer.Tools;
namespace CodexMcpServer.Tests; namespace CodexMcpServer.Tests;

View File

@ -6,7 +6,7 @@ using System.Net.Http;
using System.Text.Json; using System.Text.Json;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenHarbor.MCP.Core; using Svrnty.MCP.Core;
using CodexMcpServer.Tools; using CodexMcpServer.Tools;
namespace CodexMcpServer.Tests; namespace CodexMcpServer.Tests;

View File

@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.TestHost; using Microsoft.AspNetCore.TestHost;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using OpenHarbor.MCP.AspNetCore.Extensions; using Svrnty.MCP.AspNetCore.Extensions;
using System; using System;
using System.Net; using System.Net;
using System.Net.Http; using System.Net.Http;
@ -12,7 +12,7 @@ using System.Text;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace OpenHarbor.MCP.Core.Tests; namespace Svrnty.MCP.Core.Tests;
/// <summary> /// <summary>
/// Unit tests for HttpTransport following TDD approach. /// Unit tests for HttpTransport following TDD approach.

View File

@ -3,7 +3,7 @@ using Moq;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Text.Json; using System.Text.Json;
namespace OpenHarbor.MCP.Core.Tests; namespace Svrnty.MCP.Core.Tests;
/// <summary> /// <summary>
/// Unit tests for IMcpTool interface following TDD approach. /// Unit tests for IMcpTool interface following TDD approach.

View File

@ -1,7 +1,7 @@
using Xunit; using Xunit;
using System.Text.Json; using System.Text.Json;
namespace OpenHarbor.MCP.Core.Tests; namespace Svrnty.MCP.Core.Tests;
/// <summary> /// <summary>
/// Unit tests for MCP request/response models following TDD approach. /// Unit tests for MCP request/response models following TDD approach.

View File

@ -3,7 +3,7 @@ using Moq;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace OpenHarbor.MCP.Core.Tests; namespace Svrnty.MCP.Core.Tests;
/// <summary> /// <summary>
/// Unit tests for McpServer following TDD approach. /// Unit tests for McpServer following TDD approach.

View File

@ -1,7 +1,7 @@
using Xunit; using Xunit;
using OpenHarbor.MCP.Core.Models; using Svrnty.MCP.Core.Models;
namespace OpenHarbor.MCP.Core.Tests.Models; namespace Svrnty.MCP.Core.Tests.Models;
/// <summary> /// <summary>
/// Unit tests for RoutingContext model following TDD approach. /// Unit tests for RoutingContext model following TDD approach.

View File

@ -1,7 +1,7 @@
using Xunit; using Xunit;
using OpenHarbor.MCP.Core.Models; using Svrnty.MCP.Core.Models;
namespace OpenHarbor.MCP.Core.Tests.Models; namespace Svrnty.MCP.Core.Tests.Models;
/// <summary> /// <summary>
/// Unit tests for ServerConfig model following TDD approach. /// Unit tests for ServerConfig model following TDD approach.

View File

@ -1,7 +1,7 @@
using Xunit; using Xunit;
using OpenHarbor.MCP.Core.Models; using Svrnty.MCP.Core.Models;
namespace OpenHarbor.MCP.Core.Tests.Models; namespace Svrnty.MCP.Core.Tests.Models;
/// <summary> /// <summary>
/// Unit tests for ServerHealthStatus model following TDD approach. /// Unit tests for ServerHealthStatus model following TDD approach.

View File

@ -1,7 +1,7 @@
using Xunit; using Xunit;
using OpenHarbor.MCP.Core.Models; using Svrnty.MCP.Core.Models;
namespace OpenHarbor.MCP.Core.Tests.Models; namespace Svrnty.MCP.Core.Tests.Models;
/// <summary> /// <summary>
/// Unit tests for ServerInfo model following TDD approach. /// Unit tests for ServerInfo model following TDD approach.

View File

@ -6,7 +6,7 @@ using System.Text;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace OpenHarbor.MCP.Core.Tests; namespace Svrnty.MCP.Core.Tests;
/// <summary> /// <summary>
/// Unit tests for StdioTransport following TDD approach. /// Unit tests for StdioTransport following TDD approach.

View File

@ -23,8 +23,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Core\OpenHarbor.MCP.Core.csproj" /> <ProjectReference Include="..\..\src\Svrnty.MCP.Core\Svrnty.MCP.Core.csproj" />
<ProjectReference Include="..\..\src\OpenHarbor.MCP.AspNetCore\OpenHarbor.MCP.AspNetCore.csproj" /> <ProjectReference Include="..\..\src\Svrnty.MCP.AspNetCore\Svrnty.MCP.AspNetCore.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -4,7 +4,7 @@ using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Linq; using System.Linq;
namespace OpenHarbor.MCP.Core.Tests; namespace Svrnty.MCP.Core.Tests;
/// <summary> /// <summary>
/// Unit tests for ToolRegistry following TDD approach. /// Unit tests for ToolRegistry following TDD approach.