+
# ⚠️ ACTIVE DEVELOPMENT - WORK IN PROGRESS ⚠️
> **WARNING**: This repository is under active development. Expect frequent updates and breaking changes as we improve functionality and refine APIs. We recommend pinning to specific versions for production use. Star the repository to track our progress!
@@ -7,114 +9,156 @@
# MCP Gateway Registry
-This application provides a web interface and API for registering and managing backend services that can be proxied through a gateway (like Nginx). It allows viewing service status, descriptions, and toggling their availability (currently simulated).
+This application provides a web interface and API for registering and managing backend MCP (Meta-Computation Protocol) services. It acts as a central registry, health monitor, and dynamic reverse proxy configuration generator for Nginx.
+
+## Features
+
+* **Service Registration:** Register MCP services via JSON files or the web UI/API.
+* **Web UI:** Manage services, view status, and monitor health through a web interface.
+* **Authentication:** Secure login system for the web UI and API access.
+* **Health Checks:**
+ * Periodic background checks for enabled services (checks `/sse` endpoint).
+ * Manual refresh trigger via UI button or API endpoint.
+* **Real-time UI Updates:** Uses WebSockets to push health status, tool counts, and last-checked times to all connected clients.
+* **Dynamic Nginx Configuration:** Generates an Nginx reverse proxy configuration file (`registry/nginx_mcp_revproxy.conf`) based on registered services and their enabled/disabled state.
+* **MCP Tool Discovery:** Automatically fetches and displays the list of tools (name, description, schema) for healthy services using the MCP client library.
+* **Service Management:**
+ * Enable/Disable services directly from the UI.
+ * Edit service details (name, description, URL, tags, etc.).
+* **Filtering & Statistics:** Filter the service list in the UI (All, Enabled, Disabled, Issues) and view basic statistics.
+* **UI Customization:**
+ * Dark/Light theme toggle (persisted in local storage).
+ * Collapsible sidebar (state persisted in local storage).
+* **State Persistence:** Enabled/Disabled state is saved to `registry/server_state.json` (and ignored by Git).
## Prerequisites
-* Python 3.12+
-* [uv](https://github.com/astral-sh/uv) (or `pip`) for package management.
+* Python 3.11+ (or compatible version supporting FastAPI and MCP Client)
+* [uv](https://github.com/astral-sh/uv) (recommended) or `pip` for package management.
+* Nginx (or another reverse proxy) installed and configured to use the generated configuration file.
## Installation
-1. **Clone the repository (if you haven't already):**
+1. **Clone the repository:**
```bash
git clone
MCP Gateway