saas-and-mcp-architecture · git:20260831.0978e7e · 2026-08-31 · sha256 f1c386c805fc3e8a

saas-and-mcp-architecture git:20260831.0978e7eA

Immutable. This exact content is served forever at /api/v1/blob/f1c386c805fc3e8a.

---
name: saas-and-mcp-architecture
description: >-
  Architectural patterns and implementation guidelines for the SaaS Connector Hub,
  pluggable multi-cloud storage engines, and Model Context Protocol (MCP) tool expansion.
---

# SaaS Connector & Autonomous MCP Architecture Skill

This skill guides AI agents in implementing and extending the enterprise SaaS capabilities of the **GitHub Backup Automation System**, including UI connectors, encrypted secret vaults, multi-cloud storage backends, and Model Context Protocol (MCP) server integrations.

---

## 1. UI Connector Hub & Encrypted Credential Vault

When implementing or modifying connectors:

* **Zero `.env` for Users**: User-provided API keys and connections MUST be stored in the `connectors` database table with AES-256-GCM envelope encryption.
* **OpenRouter Pool**: Support multiple OpenRouter API keys with in-memory round-robin rotation, latency tracking, and automatic failover.
* **Database Connectors**: Provide connection validation and branch selection for Neon, Supabase, and self-hosted PostgreSQL.
* **Health Checks**: Connectors must implement a periodic health check loop (`last_health_check`, `health_status`).

---

## 2. Pluggable Multi-Cloud Storage Engine

When extending backup archiving and storage destinations:

* All storage drivers must implement the Go `StorageProvider` interface:
  ```go
  type StorageProvider interface {
      Upload(ctx context.Context, key string, r io.Reader, size int64) error
      Download(ctx context.Context, key string, w io.Writer) error
      VerifyChecksum(ctx context.Context, key string, expectedSHA256 string) (bool, error)
      Delete(ctx context.Context, key string) error
      List(ctx context.Context, prefix string) ([]ObjectMetadata, error)
  }
  ```
* Providers to support: AWS S3, Cloudflare R2, MinIO, Google Drive (OAuth), Azure Blob, Local Filesystem.
* Streaming uploads should stream directly from memory / pipe to the cloud without requiring massive local disk scratch space.

---

## 3. Model Context Protocol (MCP) Server Integration

When adding new MCP tools to the LangChain / FastAPI agent:

1. **Protocol Adherence**: Connect via standard MCP JSON-RPC protocol over Stdio or SSE.
2. **Human-In-The-Loop (HITL) Enforcement**:
   - Read-only tools (`query_database_state`, `list_backups`, `inspect_container`) execute automatically.
   - Destructive or external actions (`restart_service`, `restore_database_snapshot`, `trigger_incident_alert`, `apply_schema_migration`) MUST trigger the HITL confirmation protocol via SSE event.
3. **Structured Response Synthesis**:
   - All MCP tool outputs must be synthesized concisely in structured Markdown without emojis or conversational filler.

---

## 4. Exposing the Native GitHub Backup MCP Server (`github-backup-mcp`)

When maintaining or extending the native MCP server exposed to external IDEs/agents:

* Implement tools under `github-backup-mcp`:
  - `get_system_health`: Real-time status of services, DB, and latest runs.
  - `trigger_backup_run`: Autonomous run triggers for specified repos.
  - `search_observatory_knowledge`: Hybrid pgvector search across system logs.
  - `verify_archive_integrity`: SHA-256 validation of `.tar.gz` archives.
  - `extract_backup_file`: Surgical extraction from remote S3/R2 backups.
* Expose over both standard stdio transport and HTTP/SSE transport for web-based agents.