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
516e1479c6
commit
0c27de4162
@ -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.
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
## 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:**
|
||||
1. System analysis (detect .NET version, project type, dependencies)
|
||||
@ -98,20 +98,20 @@ grep -r "DbContext\|AddDbContext" --include="*.cs"
|
||||
```xml
|
||||
<ItemGroup>
|
||||
<!-- 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 -->
|
||||
<!-- <PackageReference Include="OpenHarbor.MCP.AspNetCore" Version="1.0.0" /> -->
|
||||
<!-- <PackageReference Include="Svrnty.MCP.AspNetCore" Version="1.0.0" /> -->
|
||||
</ItemGroup>
|
||||
```
|
||||
|
||||
**Installation command**:
|
||||
```bash
|
||||
# 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)
|
||||
# dotnet add package OpenHarbor.MCP.AspNetCore
|
||||
# dotnet add package Svrnty.MCP.AspNetCore
|
||||
```
|
||||
|
||||
### 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:
|
||||
```csharp
|
||||
using OpenHarbor.MCP.AspNetCore;
|
||||
using Svrnty.MCP.AspNetCore;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
@ -222,7 +222,7 @@ app.Run();
|
||||
```csharp
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using OpenHarbor.MCP.Infrastructure;
|
||||
using Svrnty.MCP.Infrastructure;
|
||||
|
||||
var host = Host.CreateDefaultBuilder(args)
|
||||
.ConfigureServices((context, services) =>
|
||||
@ -252,8 +252,8 @@ await host.RunAsync();
|
||||
|
||||
**Basic tool structure**:
|
||||
```csharp
|
||||
using OpenHarbor.MCP.Core.Abstractions;
|
||||
using OpenHarbor.MCP.Core.Models;
|
||||
using Svrnty.MCP.Core.Abstractions;
|
||||
using Svrnty.MCP.Core.Models;
|
||||
|
||||
namespace YourApp.Mcp.Tools;
|
||||
|
||||
@ -434,7 +434,7 @@ public class ListEndpointsTool : IMcpTool
|
||||
|
||||
## 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)
|
||||
|
||||
@ -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:
|
||||
```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
|
||||
@ -603,10 +603,10 @@ find . -name "*.csproj" | head -5
|
||||
|
||||
### Step 2: Generate Configuration
|
||||
|
||||
**Created** `samples/CodexMcpServer/` in OpenHarbor.MCP:
|
||||
**Created** `samples/CodexMcpServer/` in Svrnty.MCP:
|
||||
```
|
||||
samples/CodexMcpServer/
|
||||
├── CodexMcpServer.csproj # References OpenHarbor.MCP.AspNetCore
|
||||
├── CodexMcpServer.csproj # References Svrnty.MCP.AspNetCore
|
||||
├── Program.cs # MCP server setup with CODEX API client
|
||||
├── appsettings.json # CODEX-specific MCP config
|
||||
├── Tools/
|
||||
@ -730,7 +730,7 @@ echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | dotnet run
|
||||
"mcpServers": {
|
||||
"codex": {
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@ -743,7 +743,7 @@ echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | dotnet run
|
||||
|
||||
## 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**
|
||||
- [ ] .NET 8.0 SDK detected
|
||||
@ -812,7 +812,7 @@ Use this checklist when assisting a developer with OpenHarbor.MCP integration:
|
||||
|
||||
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
|
||||
3. **Secure Production**: Review permission model, enable HTTPS for HTTP transport
|
||||
4. **Optimize Performance**: Add caching, connection pooling, batch operations
|
||||
@ -822,10 +822,10 @@ After successful setup:
|
||||
|
||||
## References
|
||||
|
||||
- **OpenHarbor.MCP Documentation**: `/docs/` folder in this repository
|
||||
- **Svrnty.MCP Documentation**: `/docs/` folder in this repository
|
||||
- **MCP Specification**: https://spec.modelcontextprotocol.io
|
||||
- **CODEX Integration Example**: `samples/CodexMcpServer/`
|
||||
- **Test Examples**: `tests/OpenHarbor.MCP.Integration.Tests/`
|
||||
- **Test Examples**: `tests/Svrnty.MCP.Integration.Tests/`
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -6,14 +6,14 @@ This guide shows how to integrate the CODEX MCP Server with Claude Code CLI (in
|
||||
|
||||
- .NET 8.0 SDK installed
|
||||
- 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
|
||||
|
||||
### 1. Build the CODEX MCP Server
|
||||
|
||||
```bash
|
||||
cd /home/svrnty/codex/OpenHarbor.MCP.Server
|
||||
cd /home/svrnty/codex/Svrnty.MCP.Server
|
||||
dotnet build samples/CodexMcpServer/CodexMcpServer.csproj
|
||||
```
|
||||
|
||||
@ -22,7 +22,7 @@ dotnet build samples/CodexMcpServer/CodexMcpServer.csproj
|
||||
```bash
|
||||
# Add CODEX MCP server with HTTP transport
|
||||
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:**
|
||||
@ -45,7 +45,7 @@ claude mcp get codex
|
||||
```
|
||||
codex:
|
||||
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
|
||||
Scope: user
|
||||
```
|
||||
@ -96,7 +96,7 @@ The CODEX MCP server exposes 6 tools:
|
||||
```bash
|
||||
# Test the server manually
|
||||
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
|
||||
@ -131,7 +131,7 @@ claude mcp list
|
||||
Run the test script to verify everything works:
|
||||
|
||||
```bash
|
||||
cd /home/svrnty/codex/OpenHarbor.MCP.Server
|
||||
cd /home/svrnty/codex/Svrnty.MCP.Server
|
||||
python3 test_mcp_server.py
|
||||
```
|
||||
|
||||
@ -149,7 +149,7 @@ python3 test_mcp_server.py
|
||||
# Change scope
|
||||
claude mcp remove 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
|
||||
@ -158,7 +158,7 @@ For reliability, use absolute paths:
|
||||
|
||||
```bash
|
||||
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
|
||||
@ -184,5 +184,5 @@ claude mcp add --transport stdio --scope user codex \
|
||||
|
||||
- [Claude Code CLI Documentation](https://docs.claude.com/en/docs/claude-code)
|
||||
- [Model Context Protocol Spec](https://modelcontextprotocol.io)
|
||||
- [OpenHarbor.MCP README](README.md)
|
||||
- [Svrnty.MCP README](README.md)
|
||||
- [CODEX Documentation](../CODEX/README.md)
|
||||
|
||||
@ -11,7 +11,7 @@ dotnet run --project src/Codex.Api
|
||||
# Listens on http://localhost:5099
|
||||
|
||||
# 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
|
||||
# Listens on http://localhost:5050
|
||||
|
||||
@ -130,17 +130,17 @@ cd /home/svrnty/codex/CODEX
|
||||
dotnet run --project src/Codex.Api
|
||||
|
||||
# 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
|
||||
|
||||
# Terminal 3: Start MCP Gateway
|
||||
cd /home/svrnty/codex/OpenHarbor.MCP.Gateway
|
||||
cd /home/svrnty/codex/Svrnty.MCP.Gateway
|
||||
dotnet run --project samples/CodexMcpGateway
|
||||
# Gateway listens on http://localhost:8080
|
||||
# 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
|
||||
|
||||
@ -215,7 +215,7 @@ Edit `samples/CodexMcpServer/appsettings.json`:
|
||||
|
||||
1. **Full integration guide:** See [INTEGRATION-GUIDE.md](INTEGRATION-GUIDE.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)
|
||||
|
||||
---
|
||||
@ -238,7 +238,7 @@ dotnet run --project samples/CodexMcpServer -- --stdio
|
||||
"args": [
|
||||
"run",
|
||||
"--project",
|
||||
"/home/svrnty/codex/OpenHarbor.MCP.Server/samples/CodexMcpServer/CodexMcpServer.csproj",
|
||||
"/home/svrnty/codex/Svrnty.MCP.Server/samples/CodexMcpServer/CodexMcpServer.csproj",
|
||||
"--",
|
||||
"--stdio"
|
||||
],
|
||||
@ -263,6 +263,6 @@ dotnet run --project samples/CodexMcpServer -- --stdio
|
||||
|
||||
## 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)
|
||||
- HTTP Transport Guide: See `HTTP-TRANSPORT-STANDARDIZATION.md`
|
||||
|
||||
62
README.md
62
README.md
@ -1,4 +1,4 @@
|
||||
# OpenHarbor.MCP
|
||||
# Svrnty.MCP
|
||||
|
||||
**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.
|
||||
|
||||
@ -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.
|
||||
|
||||
**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**:
|
||||
- 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:
|
||||
|
||||
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
|
||||
|
||||
### Option 2: Manual Setup
|
||||
@ -62,10 +62,10 @@ If you have access to Claude or another AI assistant:
|
||||
|
||||
```bash
|
||||
# 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)
|
||||
# dotnet add package OpenHarbor.MCP.AspNetCore
|
||||
# dotnet add package Svrnty.MCP.AspNetCore
|
||||
```
|
||||
|
||||
#### Step 2: Configure appsettings.json
|
||||
@ -99,7 +99,7 @@ Add MCP configuration:
|
||||
#### Step 3: Update Program.cs
|
||||
|
||||
```csharp
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
@ -132,8 +132,8 @@ await app.RunAsync();
|
||||
#### Step 4: Create Your First Tool
|
||||
|
||||
```csharp
|
||||
using OpenHarbor.MCP.Core.Abstractions;
|
||||
using OpenHarbor.MCP.Core.Models;
|
||||
using Svrnty.MCP.Core.Abstractions;
|
||||
using Svrnty.MCP.Core.Models;
|
||||
|
||||
public class MyCustomTool : IMcpTool
|
||||
{
|
||||
@ -203,17 +203,17 @@ echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | dotnet run -- --stdio
|
||||
|
||||
## 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 │ │ │ │
|
||||
│ │ │ │ - IMcpTool │ │ │ │
|
||||
│ │ │ │ - IPermissionProvider │ │ │ │
|
||||
@ -228,10 +228,10 @@ OpenHarbor.MCP follows **Clean Architecture** principles:
|
||||
|
||||
| Project | Purpose | Dependencies |
|
||||
|---------|---------|--------------|
|
||||
| **OpenHarbor.MCP.Core** | Abstractions, interfaces, models | None |
|
||||
| **OpenHarbor.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 |
|
||||
| **OpenHarbor.MCP.Cli** | Standalone CLI executable | All above |
|
||||
| **Svrnty.MCP.Core** | Abstractions, interfaces, models | None |
|
||||
| **Svrnty.MCP.Infrastructure** | MCP server implementation, transports, security | Core, System.Text.Json |
|
||||
| **Svrnty.MCP.AspNetCore** | ASP.NET Core integration, DI extensions | Core, Infrastructure, ASP.NET Core |
|
||||
| **Svrnty.MCP.Cli** | Standalone CLI executable | All above |
|
||||
|
||||
See [Architecture Documentation](docs/architecture.md) for detailed design.
|
||||
|
||||
@ -257,12 +257,12 @@ samples/CodexMcpServer/
|
||||
**Usage with MCP Gateway** (Recommended for Production):
|
||||
```bash
|
||||
# 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
|
||||
# Server listens on http://localhost:5050
|
||||
|
||||
# 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):
|
||||
@ -339,7 +339,7 @@ public class ProcessDocumentTool : IMcpTool
|
||||
|
||||
## Security
|
||||
|
||||
OpenHarbor.MCP implements defense-in-depth security:
|
||||
Svrnty.MCP implements defense-in-depth security:
|
||||
|
||||
### 1. Permission-Based Access Control
|
||||
|
||||
@ -397,7 +397,7 @@ All tool parameters are validated against schema before execution.
|
||||
|
||||
## Testing
|
||||
|
||||
OpenHarbor.MCP is built with **Test-Driven Development (TDD)**:
|
||||
Svrnty.MCP is built with **Test-Driven Development (TDD)**:
|
||||
|
||||
```bash
|
||||
# Run all tests
|
||||
@ -413,9 +413,9 @@ dotnet test --filter Category=Integration
|
||||
**Test Structure**:
|
||||
```
|
||||
tests/
|
||||
├── OpenHarbor.MCP.Core.Tests/ # Unit tests (abstractions, models)
|
||||
├── OpenHarbor.MCP.Infrastructure.Tests/ # Unit tests (server, transports, security)
|
||||
└── OpenHarbor.MCP.Integration.Tests/ # End-to-end integration tests
|
||||
├── Svrnty.MCP.Core.Tests/ # Unit tests (abstractions, models)
|
||||
├── Svrnty.MCP.Infrastructure.Tests/ # Unit tests (server, transports, security)
|
||||
└── Svrnty.MCP.Integration.Tests/ # End-to-end integration tests
|
||||
```
|
||||
|
||||
**Example Test** (TDD style):
|
||||
@ -442,13 +442,13 @@ See [TDD Guide](docs/tdd-guide.md) for complete examples.
|
||||
|
||||
### 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:**
|
||||
- **Lines**: 344 of 810 covered (42.46%)
|
||||
- **Branches**: 72 of 144 covered (50.00%)
|
||||
- **Test Projects**: 2
|
||||
- OpenHarbor.MCP.Core.Tests: 82 tests
|
||||
- Svrnty.MCP.Core.Tests: 82 tests
|
||||
- CodexMcpServer.Tests: 59 tests
|
||||
|
||||
**Analysis:**
|
||||
@ -558,7 +558,7 @@ Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for gu
|
||||
**Development Setup**:
|
||||
```bash
|
||||
# Clone repository
|
||||
git clone https://github.com/yourusername/OpenHarbor.MCP.git
|
||||
git clone https://github.com/yourusername/Svrnty.MCP.git
|
||||
|
||||
# Restore dependencies
|
||||
dotnet restore
|
||||
@ -596,7 +596,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
||||
|
||||
- **Documentation**: [docs/](docs/)
|
||||
- **Examples**: [samples/](samples/)
|
||||
- **Issues**: [GitHub Issues](https://github.com/yourusername/OpenHarbor.MCP/issues)
|
||||
- **Issues**: [GitHub Issues](https://github.com/yourusername/Svrnty.MCP/issues)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -5,11 +5,11 @@ VisualStudioVersion = 17.0.31903.59
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{78F02CB6-4914-4B68-901E-B00546F7985E}"
|
||||
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
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{B419E78A-FF41-452F-9450-59D7E559D175}"
|
||||
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
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{8430E1E0-6DC8-458D-A0AA-80D8F202264E}"
|
||||
EndProject
|
||||
@ -17,7 +17,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexMcpServer", "samples\C
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexMcpServer.Tests", "tests\CodexMcpServer.Tests\CodexMcpServer.Tests.csproj", "{7287EB04-9B7D-450C-87FF-21FB1FD9949E}"
|
||||
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
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# OpenHarbor.MCP.Server - API Reference
|
||||
# Svrnty.MCP.Server - API Reference
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Last Updated:** 2025-10-19
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
### IMcpServer
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Core.Abstractions`
|
||||
**Namespace:** `Svrnty.MCP.Core.Abstractions`
|
||||
|
||||
Interface defining the core MCP server contract.
|
||||
|
||||
@ -92,7 +92,7 @@ foreach (var tool in tools)
|
||||
|
||||
### IMcpTool
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Core.Abstractions`
|
||||
**Namespace:** `Svrnty.MCP.Core.Abstractions`
|
||||
|
||||
Interface for implementing MCP tools.
|
||||
|
||||
@ -183,7 +183,7 @@ public class SearchTool : IMcpTool
|
||||
|
||||
### McpServer
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Infrastructure`
|
||||
**Namespace:** `Svrnty.MCP.Infrastructure`
|
||||
|
||||
Default implementation of `IMcpServer`.
|
||||
|
||||
@ -227,7 +227,7 @@ Gracefully stops the server.
|
||||
|
||||
### HttpTransport
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.AspNetCore.Extensions`
|
||||
**Namespace:** `Svrnty.MCP.AspNetCore.Extensions`
|
||||
|
||||
HTTP transport implementation for MCP protocol.
|
||||
|
||||
@ -295,7 +295,7 @@ Health check endpoint.
|
||||
|
||||
### McpToolSchema
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Core.Models`
|
||||
**Namespace:** `Svrnty.MCP.Core.Models`
|
||||
|
||||
JSON Schema representation for tool parameters.
|
||||
|
||||
@ -347,7 +347,7 @@ var schema = new McpToolSchema
|
||||
|
||||
### McpToolResult
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.Core.Models`
|
||||
**Namespace:** `Svrnty.MCP.Core.Models`
|
||||
|
||||
Represents the result of a tool execution.
|
||||
|
||||
@ -401,7 +401,7 @@ return McpToolResult.Error("Document not found", 404);
|
||||
|
||||
### Service Extensions
|
||||
|
||||
**Namespace:** `OpenHarbor.MCP.AspNetCore`
|
||||
**Namespace:** `Svrnty.MCP.AspNetCore`
|
||||
|
||||
#### AddMcpServer
|
||||
|
||||
@ -549,8 +549,8 @@ Executes a tool.
|
||||
### Creating an MCP Server
|
||||
|
||||
```csharp
|
||||
using OpenHarbor.MCP.Core;
|
||||
using OpenHarbor.MCP.Core.Abstractions;
|
||||
using Svrnty.MCP.Core;
|
||||
using Svrnty.MCP.Core.Abstractions;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
|
||||
// 1. Create tools
|
||||
|
||||
@ -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
|
||||
**Audience**: DevOps engineers, system administrators
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
## 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:**
|
||||
- Encrypted communication (prevents eavesdropping)
|
||||
@ -101,7 +101,7 @@ Create or update `appsettings.Development.json` in the Server project:
|
||||
**Step 3: Run Server with HTTPS**
|
||||
|
||||
```bash
|
||||
cd OpenHarbor.MCP.Server/samples/CodexMcpServer
|
||||
cd Svrnty.MCP.Server/samples/CodexMcpServer
|
||||
dotnet run --environment Development
|
||||
|
||||
# Server will listen on:
|
||||
@ -134,7 +134,7 @@ curl -k -X POST https://localhost:5051/mcp/invoke \
|
||||
|
||||
```bash
|
||||
# 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
|
||||
openssl genrsa -out certs/localhost.key 2048
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# OpenHarbor.MCP - Detailed Implementation Plan
|
||||
# Svrnty.MCP - Detailed Implementation Plan
|
||||
|
||||
**Project:** Standalone, Reusable MCP Library for .NET
|
||||
**Status:** Planned (Not Yet Started)
|
||||
@ -10,7 +10,7 @@
|
||||
|
||||
## 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
|
||||
- **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) │
|
||||
│ │
|
||||
│ IMcpServer, IMcpTool, IMcpResource │
|
||||
@ -52,7 +52,7 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
|
||||
└─────────────────┬───────────────────────────┘
|
||||
│ Depends On
|
||||
┌─────────────────┴───────────────────────────┐
|
||||
│ OpenHarbor.MCP.Infrastructure │
|
||||
│ Svrnty.MCP.Infrastructure │
|
||||
│ (Implementation + Transport) │
|
||||
│ │
|
||||
│ McpServer, ToolRegistry, StdioTransport │
|
||||
@ -61,7 +61,7 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
|
||||
└─────────────────┬───────────────────────────┘
|
||||
│ Depends On
|
||||
┌─────────────────┴───────────────────────────┐
|
||||
│ OpenHarbor.MCP.AspNetCore │
|
||||
│ Svrnty.MCP.AspNetCore │
|
||||
│ (ASP.NET Core Integration) │
|
||||
│ │
|
||||
│ 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) │
|
||||
│ │
|
||||
│ Program.cs (Entry Point) │
|
||||
@ -114,8 +114,8 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
/home/svrnty/codex/OpenHarbor.MCP/
|
||||
├── OpenHarbor.MCP.sln
|
||||
/home/svrnty/codex/Svrnty.MCP/
|
||||
├── Svrnty.MCP.sln
|
||||
├── README.md
|
||||
├── AGENT-PRIMER.md # AI-assisted configuration
|
||||
├── LICENSE # MIT
|
||||
@ -123,7 +123,7 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
|
||||
├── .editorconfig
|
||||
│
|
||||
├── src/
|
||||
│ ├── OpenHarbor.MCP.Core/
|
||||
│ ├── Svrnty.MCP.Core/
|
||||
│ │ ├── Abstractions/
|
||||
│ │ │ ├── IMcpServer.cs
|
||||
│ │ │ ├── IMcpTool.cs
|
||||
@ -142,9 +142,9 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
|
||||
│ │ │ ├── PermissionDeniedException.cs
|
||||
│ │ │ ├── RateLimitExceededException.cs
|
||||
│ │ │ └── ToolNotFoundException.cs
|
||||
│ │ └── OpenHarbor.MCP.Core.csproj
|
||||
│ │ └── Svrnty.MCP.Core.csproj
|
||||
│ │
|
||||
│ ├── OpenHarbor.MCP.Infrastructure/
|
||||
│ ├── Svrnty.MCP.Infrastructure/
|
||||
│ │ ├── Server/
|
||||
│ │ │ ├── McpServer.cs
|
||||
│ │ │ ├── ToolRegistry.cs
|
||||
@ -156,9 +156,9 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
|
||||
│ │ ├── Transport/
|
||||
│ │ │ ├── StdioTransport.cs
|
||||
│ │ │ └── HttpTransport.cs
|
||||
│ │ └── OpenHarbor.MCP.Infrastructure.csproj
|
||||
│ │ └── Svrnty.MCP.Infrastructure.csproj
|
||||
│ │
|
||||
│ ├── OpenHarbor.MCP.AspNetCore/
|
||||
│ ├── Svrnty.MCP.AspNetCore/
|
||||
│ │ ├── Extensions/
|
||||
│ │ │ └── ServiceCollectionExtensions.cs
|
||||
│ │ ├── Middleware/
|
||||
@ -166,22 +166,22 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
|
||||
│ │ │ └── AuditMiddleware.cs
|
||||
│ │ ├── Configuration/
|
||||
│ │ │ └── McpOptions.cs
|
||||
│ │ └── OpenHarbor.MCP.AspNetCore.csproj
|
||||
│ │ └── Svrnty.MCP.AspNetCore.csproj
|
||||
│ │
|
||||
│ └── OpenHarbor.MCP.Cli/
|
||||
│ └── Svrnty.MCP.Cli/
|
||||
│ ├── Program.cs
|
||||
│ └── OpenHarbor.MCP.Cli.csproj
|
||||
│ └── Svrnty.MCP.Cli.csproj
|
||||
│
|
||||
├── tests/
|
||||
│ ├── OpenHarbor.MCP.Core.Tests/
|
||||
│ ├── Svrnty.MCP.Core.Tests/
|
||||
│ │ ├── Abstractions/
|
||||
│ │ ├── Models/
|
||||
│ │ └── Exceptions/
|
||||
│ ├── OpenHarbor.MCP.Infrastructure.Tests/
|
||||
│ ├── Svrnty.MCP.Infrastructure.Tests/
|
||||
│ │ ├── Server/
|
||||
│ │ ├── Security/
|
||||
│ │ └── Transport/
|
||||
│ └── OpenHarbor.MCP.Integration.Tests/
|
||||
│ └── Svrnty.MCP.Integration.Tests/
|
||||
│ ├── EndToEnd/
|
||||
│ └── Scenarios/
|
||||
│
|
||||
@ -228,14 +228,14 @@ OpenHarbor.MCP is a **standalone .NET library** implementing the Model Context P
|
||||
**TDD:** Not applicable (infrastructure setup)
|
||||
|
||||
**Tasks:**
|
||||
- Create solution: `dotnet new sln -n OpenHarbor.MCP`
|
||||
- Create Core project: `dotnet new classlib -n OpenHarbor.MCP.Core --framework net8.0`
|
||||
- Create solution: `dotnet new sln -n Svrnty.MCP`
|
||||
- Create Core project: `dotnet new classlib -n Svrnty.MCP.Core --framework net8.0`
|
||||
- Configure: Enable nullable, ImplicitUsings
|
||||
- Add to solution
|
||||
|
||||
**Deliverables:**
|
||||
- OpenHarbor.MCP.sln
|
||||
- OpenHarbor.MCP.Core.csproj
|
||||
- Svrnty.MCP.sln
|
||||
- Svrnty.MCP.Core.csproj
|
||||
- .editorconfig (C# formatting)
|
||||
|
||||
#### 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:**
|
||||
```csharp
|
||||
// OpenHarbor.MCP.Core.Tests/Abstractions/IMcpServerTests.cs
|
||||
// Svrnty.MCP.Core.Tests/Abstractions/IMcpServerTests.cs
|
||||
[Fact]
|
||||
public async Task RegisterTool_WithValidTool_AddsToRegistry()
|
||||
{
|
||||
@ -261,7 +261,7 @@ public async Task RegisterTool_WithValidTool_AddsToRegistry()
|
||||
|
||||
**Implementation:**
|
||||
```csharp
|
||||
// OpenHarbor.MCP.Core/Abstractions/IMcpServer.cs
|
||||
// Svrnty.MCP.Core/Abstractions/IMcpServer.cs
|
||||
public interface IMcpServer
|
||||
{
|
||||
Task RegisterTool(IMcpTool tool);
|
||||
@ -271,7 +271,7 @@ public interface IMcpServer
|
||||
Task Stop();
|
||||
}
|
||||
|
||||
// OpenHarbor.MCP.Core/Abstractions/IMcpTool.cs
|
||||
// Svrnty.MCP.Core/Abstractions/IMcpTool.cs
|
||||
public interface IMcpTool
|
||||
{
|
||||
string Name { get; }
|
||||
@ -280,14 +280,14 @@ public interface IMcpTool
|
||||
Task<McpResponse> Execute(McpRequest request);
|
||||
}
|
||||
|
||||
// OpenHarbor.MCP.Core/Abstractions/IPermissionProvider.cs
|
||||
// Svrnty.MCP.Core/Abstractions/IPermissionProvider.cs
|
||||
public interface IPermissionProvider
|
||||
{
|
||||
Task<bool> HasPermission(string agentId, string action, string? resource = null);
|
||||
Task<IEnumerable<string>> GetPermissions(string agentId);
|
||||
}
|
||||
|
||||
// OpenHarbor.MCP.Core/Abstractions/IRateLimiter.cs
|
||||
// Svrnty.MCP.Core/Abstractions/IRateLimiter.cs
|
||||
public interface IRateLimiter
|
||||
{
|
||||
Task<bool> TryAcquire(string agentId);
|
||||
@ -322,7 +322,7 @@ public void McpRequest_WithValidData_Serializes()
|
||||
|
||||
**Implementation:**
|
||||
```csharp
|
||||
// OpenHarbor.MCP.Core/Models/McpRequest.cs
|
||||
// Svrnty.MCP.Core/Models/McpRequest.cs
|
||||
public record McpRequest
|
||||
{
|
||||
public string Method { get; init; } = string.Empty;
|
||||
@ -330,7 +330,7 @@ public record McpRequest
|
||||
public string? Id { get; init; }
|
||||
}
|
||||
|
||||
// OpenHarbor.MCP.Core/Models/McpResponse.cs
|
||||
// Svrnty.MCP.Core/Models/McpResponse.cs
|
||||
public record McpResponse
|
||||
{
|
||||
public object? Result { get; init; }
|
||||
@ -338,7 +338,7 @@ public record McpResponse
|
||||
public string? Id { get; init; }
|
||||
}
|
||||
|
||||
// OpenHarbor.MCP.Core/Models/McpTool.cs
|
||||
// Svrnty.MCP.Core/Models/McpTool.cs
|
||||
public record McpTool
|
||||
{
|
||||
public string Name { get; init; } = string.Empty;
|
||||
@ -663,15 +663,15 @@ public static IServiceCollection AddMcpServer(
|
||||
|
||||
```
|
||||
tests/
|
||||
├── OpenHarbor.MCP.Core.Tests/
|
||||
├── Svrnty.MCP.Core.Tests/
|
||||
│ ├── Abstractions/ # Interface behavior tests
|
||||
│ ├── Models/ # Model validation tests
|
||||
│ └── Exceptions/ # Exception tests
|
||||
├── OpenHarbor.MCP.Infrastructure.Tests/
|
||||
├── Svrnty.MCP.Infrastructure.Tests/
|
||||
│ ├── Server/ # Server logic tests
|
||||
│ ├── Security/ # Permission & rate limit tests
|
||||
│ └── Transport/ # Transport tests
|
||||
└── OpenHarbor.MCP.Integration.Tests/
|
||||
└── Svrnty.MCP.Integration.Tests/
|
||||
└── EndToEnd/ # Full MCP server scenarios
|
||||
```
|
||||
|
||||
@ -694,7 +694,7 @@ tests/
|
||||
|
||||
### 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
|
||||
2. Generating configuration
|
||||
3. Creating sample tools
|
||||
@ -703,9 +703,9 @@ Enable AI agents to automatically configure OpenHarbor.MCP for any target system
|
||||
### Structure
|
||||
|
||||
```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
|
||||
|
||||
@ -825,12 +825,12 @@ The AGENT-PRIMER.md will include:
|
||||
|
||||
**Option 1: NuGet Package (Production)**
|
||||
```bash
|
||||
dotnet add package OpenHarbor.MCP.AspNetCore
|
||||
dotnet add package Svrnty.MCP.AspNetCore
|
||||
```
|
||||
|
||||
**Option 2: Project Reference (Development)**
|
||||
```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
|
||||
@ -854,7 +854,7 @@ src/Codex.Mcp/
|
||||
### Sample Tool Implementation
|
||||
|
||||
```csharp
|
||||
using OpenHarbor.MCP.Core.Abstractions;
|
||||
using Svrnty.MCP.Core.Abstractions;
|
||||
|
||||
public class SearchCodexTool : IMcpTool
|
||||
{
|
||||
@ -958,7 +958,7 @@ All new dependencies must be:
|
||||
**Documentation:**
|
||||
- [x] Updated future-mcp-integration-plan.md
|
||||
- [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
|
||||
|
||||
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**
|
||||
4. **Begin Phase 1:** Core abstractions with TDD
|
||||
5. **Track progress:** Use TodoWrite for each phase
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# OpenHarbor.MCP - Reusable Module Design
|
||||
# Svrnty.MCP - Reusable Module Design
|
||||
|
||||
**Document Type:** Architecture and Design Specification
|
||||
**Created:** 2025-10-19
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
## 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:**
|
||||
- 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):**
|
||||
```
|
||||
/home/svrnty/codex/OpenHarbor.MCP/ # Separate from CODEX
|
||||
/home/svrnty/codex/Svrnty.MCP/ # Separate from CODEX
|
||||
├── README.md # Usage documentation
|
||||
├── AGENT-PRIMER.md # AI-automated configuration
|
||||
├── LICENSE # MIT license
|
||||
├── OpenHarbor.MCP.sln # Solution file
|
||||
├── Svrnty.MCP.sln # Solution file
|
||||
├── src/ # Source code
|
||||
├── tests/ # Unit + integration tests
|
||||
├── samples/CodexMcpServer/ # CODEX example
|
||||
@ -47,26 +47,26 @@ OpenHarbor.MCP is a **standalone, modular, scalable MCP library** that can be ex
|
||||
|
||||
**Clean Architecture Layers:**
|
||||
|
||||
### 1. OpenHarbor.MCP.Core - Pure Abstractions
|
||||
### 1. Svrnty.MCP.Core - Pure Abstractions
|
||||
- `IMcpServer` - Server interface
|
||||
- `IMcpTool` - Tool interface
|
||||
- `IPermissionProvider` - Permission abstraction
|
||||
- `IRateLimiter` - Rate limiting abstraction
|
||||
- Zero dependencies
|
||||
|
||||
### 2. OpenHarbor.MCP.Infrastructure - Implementation
|
||||
### 2. Svrnty.MCP.Infrastructure - Implementation
|
||||
- `McpServer` - Server implementation
|
||||
- `ToolRegistry` - Dynamic tool registration
|
||||
- `StdioTransport` - Process communication
|
||||
- `PermissionProvider` - Access control
|
||||
- `TokenBucketRateLimiter` - Rate limiting
|
||||
|
||||
### 3. OpenHarbor.MCP.AspNetCore - Integration
|
||||
### 3. Svrnty.MCP.AspNetCore - Integration
|
||||
- ServiceCollectionExtensions - DI
|
||||
- McpMiddleware - HTTP transport
|
||||
- McpOptions - Configuration
|
||||
|
||||
### 4. OpenHarbor.MCP.Cli - CLI Runner
|
||||
### 4. Svrnty.MCP.Cli - CLI Runner
|
||||
- HTTP transport runner
|
||||
- Configuration loading
|
||||
|
||||
@ -83,7 +83,7 @@ OpenHarbor.MCP is a **standalone, modular, scalable MCP library** that can be ex
|
||||
|
||||
**AI Agent Workflow:**
|
||||
```
|
||||
User: "Copy OpenHarbor.MCP to my project"
|
||||
User: "Copy Svrnty.MCP to my project"
|
||||
↓
|
||||
AI reads AGENT-PRIMER.md
|
||||
↓
|
||||
@ -108,17 +108,17 @@ User validates and runs
|
||||
|
||||
**Option 1: NuGet Package (Production)**
|
||||
```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)**
|
||||
```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:**
|
||||
```
|
||||
src/Codex.Mcp/ # Uses OpenHarbor.MCP library
|
||||
src/Codex.Mcp/ # Uses Svrnty.MCP library
|
||||
├── Program.cs # CLI entry point
|
||||
├── CodexMcpServer.cs # Server configuration
|
||||
├── Tools/
|
||||
@ -135,7 +135,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
|
||||
## Implementation Phases
|
||||
|
||||
### 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:
|
||||
- Core abstractions (Core project)
|
||||
- Server implementation (Infrastructure project)
|
||||
@ -146,7 +146,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
|
||||
- Testing: TDD approach (tests first, all phases)
|
||||
|
||||
### 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:
|
||||
- Sample implementation with 6 CODEX tools
|
||||
- Permission configuration
|
||||
@ -154,7 +154,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
|
||||
- Integration tests with CODEX API
|
||||
|
||||
### Phase 3: Documentation & Reusability (Week 3, 4-6 hours)
|
||||
- Location: `/home/svrnty/codex/OpenHarbor.MCP/docs/`
|
||||
- Location: `/home/svrnty/codex/Svrnty.MCP/docs/`
|
||||
- Deliverables:
|
||||
- Complete README.md
|
||||
- Architecture documentation
|
||||
@ -163,7 +163,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
|
||||
- Migration guide (copy to new projects)
|
||||
|
||||
### Phase 4: CODEX Production Integration (Week 3-4, 2-4 hours)
|
||||
- Location: CODEX references OpenHarbor.MCP
|
||||
- Location: CODEX references Svrnty.MCP
|
||||
- Deliverables:
|
||||
- Update CODEX to use library
|
||||
- Production deployment configuration
|
||||
@ -192,7 +192,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
|
||||
## Reusability Features
|
||||
|
||||
### 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
|
||||
- No external CODEX dependencies
|
||||
|
||||
@ -248,7 +248,7 @@ src/Codex.Mcp/ # Uses OpenHarbor.MCP library
|
||||
|
||||
## Related Documentation
|
||||
|
||||
**OpenHarbor.MCP Documentation:**
|
||||
**Svrnty.MCP Documentation:**
|
||||
- [README.md](../README.md) - Project overview and quick start
|
||||
- [AGENT-PRIMER.md](../AGENT-PRIMER.md) - AI-automated configuration guide
|
||||
- [Implementation Plan](implementation-plan.md) - Detailed TDD implementation strategy
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Core\OpenHarbor.MCP.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.AspNetCore\OpenHarbor.MCP.AspNetCore.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Core\Svrnty.MCP.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.AspNetCore\Svrnty.MCP.AspNetCore.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
@ -5,8 +5,8 @@ using CodexMcpServer.Tools;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using OpenHarbor.MCP.AspNetCore.Extensions;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.AspNetCore.Extensions;
|
||||
using Svrnty.MCP.Core;
|
||||
|
||||
namespace CodexMcpServer;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ using System;
|
||||
using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
|
||||
namespace CodexMcpServer.Tools;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ using System;
|
||||
using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
|
||||
namespace CodexMcpServer.Tools;
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
|
||||
namespace CodexMcpServer.Tools;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ using System;
|
||||
using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
|
||||
namespace CodexMcpServer.Tools;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ using System;
|
||||
using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
|
||||
namespace CodexMcpServer.Tools;
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
|
||||
namespace CodexMcpServer.Tools;
|
||||
|
||||
|
||||
@ -5,9 +5,9 @@ using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Routing;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
|
||||
namespace OpenHarbor.MCP.AspNetCore.Extensions;
|
||||
namespace Svrnty.MCP.AspNetCore.Extensions;
|
||||
|
||||
/// <summary>
|
||||
/// Implements JSON-RPC 2.0 transport over HTTP.
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenHarbor.MCP.Core\OpenHarbor.MCP.Core.csproj" />
|
||||
<ProjectReference Include="..\Svrnty.MCP.Core\Svrnty.MCP.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenHarbor.MCP.Core;
|
||||
namespace Svrnty.MCP.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Core abstraction for an MCP (Model Context Protocol) tool.
|
||||
|
||||
@ -3,7 +3,7 @@ using System.Linq;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenHarbor.MCP.Core;
|
||||
namespace Svrnty.MCP.Core;
|
||||
|
||||
/// <summary>
|
||||
/// MCP Server that orchestrates tool execution and handles JSON-RPC 2.0 protocol methods.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OpenHarbor.MCP.Core;
|
||||
namespace Svrnty.MCP.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a JSON-RPC 2.0 error object.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OpenHarbor.MCP.Core;
|
||||
namespace Svrnty.MCP.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a JSON-RPC 2.0 request from Claude Desktop to MCP Server.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OpenHarbor.MCP.Core;
|
||||
namespace Svrnty.MCP.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a JSON-RPC 2.0 response from MCP Server to Claude Desktop.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Core.Models;
|
||||
namespace Svrnty.MCP.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Context information for routing decisions.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Core.Models;
|
||||
namespace Svrnty.MCP.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for an MCP server registration.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Core.Models;
|
||||
namespace Svrnty.MCP.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Represents the health status of an MCP server.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
namespace OpenHarbor.MCP.Core.Models;
|
||||
namespace Svrnty.MCP.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Represents metadata about a registered MCP server.
|
||||
|
||||
@ -4,7 +4,7 @@ using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenHarbor.MCP.Core;
|
||||
namespace Svrnty.MCP.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Implements JSON-RPC 2.0 transport over stdin/stdout.
|
||||
|
||||
@ -2,7 +2,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace OpenHarbor.MCP.Core;
|
||||
namespace Svrnty.MCP.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Registry for managing MCP tools.
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<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>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -6,7 +6,7 @@ using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
using CodexMcpServer.Tools;
|
||||
|
||||
namespace CodexMcpServer.Tests;
|
||||
|
||||
@ -6,7 +6,7 @@ using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
using CodexMcpServer.Tools;
|
||||
|
||||
namespace CodexMcpServer.Tests;
|
||||
|
||||
@ -6,7 +6,7 @@ using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
using CodexMcpServer.Tools;
|
||||
|
||||
namespace CodexMcpServer.Tests;
|
||||
|
||||
@ -6,7 +6,7 @@ using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
using CodexMcpServer.Tools;
|
||||
|
||||
namespace CodexMcpServer.Tests;
|
||||
|
||||
@ -6,7 +6,7 @@ using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
using CodexMcpServer.Tools;
|
||||
|
||||
namespace CodexMcpServer.Tests;
|
||||
|
||||
@ -6,7 +6,7 @@ using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using OpenHarbor.MCP.Core;
|
||||
using Svrnty.MCP.Core;
|
||||
using CodexMcpServer.Tools;
|
||||
|
||||
namespace CodexMcpServer.Tests;
|
||||
|
||||
@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.TestHost;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using OpenHarbor.MCP.AspNetCore.Extensions;
|
||||
using Svrnty.MCP.AspNetCore.Extensions;
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
@ -12,7 +12,7 @@ using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenHarbor.MCP.Core.Tests;
|
||||
namespace Svrnty.MCP.Core.Tests;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for HttpTransport following TDD approach.
|
||||
|
||||
@ -3,7 +3,7 @@ using Moq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace OpenHarbor.MCP.Core.Tests;
|
||||
namespace Svrnty.MCP.Core.Tests;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for IMcpTool interface following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
using Xunit;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace OpenHarbor.MCP.Core.Tests;
|
||||
namespace Svrnty.MCP.Core.Tests;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for MCP request/response models following TDD approach.
|
||||
|
||||
@ -3,7 +3,7 @@ using Moq;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenHarbor.MCP.Core.Tests;
|
||||
namespace Svrnty.MCP.Core.Tests;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for McpServer following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for RoutingContext model following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for ServerConfig model following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for ServerHealthStatus model following TDD approach.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
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>
|
||||
/// Unit tests for ServerInfo model following TDD approach.
|
||||
|
||||
@ -6,7 +6,7 @@ using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenHarbor.MCP.Core.Tests;
|
||||
namespace Svrnty.MCP.Core.Tests;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for StdioTransport following TDD approach.
|
||||
|
||||
@ -23,8 +23,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.Core\OpenHarbor.MCP.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\OpenHarbor.MCP.AspNetCore\OpenHarbor.MCP.AspNetCore.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.Core\Svrnty.MCP.Core.csproj" />
|
||||
<ProjectReference Include="..\..\src\Svrnty.MCP.AspNetCore\Svrnty.MCP.AspNetCore.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -4,7 +4,7 @@ using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using System.Linq;
|
||||
|
||||
namespace OpenHarbor.MCP.Core.Tests;
|
||||
namespace Svrnty.MCP.Core.Tests;
|
||||
|
||||
/// <summary>
|
||||
/// Unit tests for ToolRegistry following TDD approach.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user