Skip to content

Commit feca27b

Browse files
Copilotdavesbits
andcommitted
Add comprehensive standalone gateway documentation
Co-authored-by: davesbits <46086046+davesbits@users.noreply.github.com>
1 parent df305be commit feca27b

File tree

1 file changed

+205
-0
lines changed

1 file changed

+205
-0
lines changed

STANDALONE-README.md

Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
# Standalone MCP Gateway with Web UI
2+
3+
A complete standalone Model Context Protocol (MCP) gateway with a modern web-based user interface for dynamic server management.
4+
5+
## 🎯 Overview
6+
7+
This standalone gateway provides a user-friendly web interface to manage MCP servers dynamically, generate configuration files for popular MCP clients, and deploy complete MCP solutions with Docker.
8+
9+
![MCP Gateway Manager UI](https://github.com/user-attachments/assets/9264cf08-62ae-4be1-b4ed-f3427b54341e)
10+
11+
## ✨ Key Features
12+
13+
🎛️ **Modern Web Interface**
14+
- Responsive design with intuitive server management
15+
- Real-time server status indicators
16+
- Search and filter capabilities
17+
18+
🔄 **Dynamic Server Management**
19+
- Add/remove servers on the fly
20+
- Complete Docker MCP catalog integration
21+
- Server configuration management
22+
23+
📋 **Configuration Export**
24+
- Claude Desktop (`mcp.json`) generation
25+
- LLM Studio configurations
26+
- Docker Compose deployments
27+
28+
🌐 **Remote Operations**
29+
- Remote gateway connections
30+
- Cross-platform web access
31+
- API-driven management
32+
33+
## 🚀 Quick Start
34+
35+
### Option 1: Docker Compose (Recommended)
36+
37+
```bash
38+
# Clone and start
39+
git clone https://github.com/davesbits/mcp-gateway.git
40+
cd mcp-gateway
41+
docker compose -f compose.standalone.yaml up -d
42+
43+
# Access the UI
44+
open http://localhost:3000
45+
```
46+
47+
### Option 2: Build from Source
48+
49+
```bash
50+
# Prerequisites: Go 1.24+
51+
git clone https://github.com/davesbits/mcp-gateway.git
52+
cd mcp-gateway
53+
go build -o standalone-gateway ./cmd/standalone-gateway
54+
./standalone-gateway
55+
56+
# Access the UI
57+
open http://localhost:3000
58+
```
59+
60+
## 📖 Usage Guide
61+
62+
### Server Management
63+
64+
1. **View Servers**: Browse available MCP servers with status indicators
65+
2. **Add Servers**: Click "Add" on inactive servers to enable them
66+
3. **Remove Servers**: Click "Remove" on active servers to disable them
67+
4. **Configure**: Modify server-specific configurations
68+
5. **Search**: Use the search box to find specific servers
69+
70+
### Configuration Export
71+
72+
#### For Claude Desktop:
73+
1. Go to "Export Config" tab
74+
2. Click "Claude Desktop"
75+
3. Copy the generated JSON to `~/.claude_desktop_config.json`
76+
77+
Example output:
78+
```json
79+
{
80+
"mcpServers": {
81+
"MCP_GATEWAY": {
82+
"command": "docker",
83+
"args": ["mcp", "gateway", "run", "--servers=filesystem,duckduckgo"],
84+
"env": {}
85+
}
86+
}
87+
}
88+
```
89+
90+
#### For LLM Studio:
91+
1. Click "LLM Studio" in Export Config
92+
2. Use the SSE endpoint: `http://localhost:8811/sse`
93+
94+
#### For Docker Deployment:
95+
1. Click "Docker Compose"
96+
2. Save output as `docker-compose.yml`
97+
3. Run: `docker compose up -d`
98+
99+
### Remote Gateway Management
100+
101+
1. Go to "Settings" tab
102+
2. Configure remote host and protocol
103+
3. Click "Connect to Remote"
104+
4. Manage remote MCP gateways through the UI
105+
106+
## 🏗️ Architecture
107+
108+
```
109+
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
110+
│ Web UI │ │ Standalone │ │ MCP Gateway │
111+
│ (Port 3000) │◄───┤ Gateway │◄───┤ (Port 8811) │
112+
│ │ │ HTTP Server │ │ │
113+
└─────────────────┘ └─────────────────┘ └─────────────────┘
114+
│ │
115+
│ ▼
116+
│ ┌─────────────────┐
117+
│ │ Docker │
118+
│ │ MCP Servers │
119+
│ └─────────────────┘
120+
121+
┌─────────────────┐
122+
│ Configuration │
123+
│ Management │
124+
└─────────────────┘
125+
```
126+
127+
## 🔧 API Endpoints
128+
129+
- `GET /api/servers` - List all available servers
130+
- `POST /api/servers/add` - Add a server to the gateway
131+
- `POST /api/servers/remove` - Remove a server from the gateway
132+
- `GET /api/config` - Get gateway configuration
133+
- `POST /api/config` - Update gateway configuration
134+
- `GET /api/export/claude` - Export Claude Desktop configuration
135+
- `GET /api/export/llmstudio` - Export LLM Studio configuration
136+
- `GET /api/export/docker-compose` - Export Docker Compose configuration
137+
138+
## 🛠️ Development
139+
140+
### Building
141+
142+
```bash
143+
# Build standalone gateway
144+
go build -o standalone-gateway ./cmd/standalone-gateway
145+
146+
# Build Docker image
147+
docker build -f Dockerfile.standalone -t mcp-gateway-standalone .
148+
```
149+
150+
### Project Structure
151+
152+
```
153+
cmd/standalone-gateway/
154+
├── main.go # Standalone gateway server
155+
├── ui/ # Embedded web UI files
156+
│ ├── index.html # Main interface
157+
│ └── app.js # JavaScript application
158+
└── README.md # Detailed documentation
159+
160+
ui/ # Source UI files
161+
├── index.html # Web interface
162+
└── app.js # Application logic
163+
164+
compose.standalone.yaml # Docker Compose setup
165+
Dockerfile.standalone # Docker build file
166+
```
167+
168+
## 🌟 Sample Servers
169+
170+
The UI comes pre-configured with sample MCP servers:
171+
172+
- **filesystem**: File operations (read, write, list, create)
173+
- **duckduckgo**: Web search capabilities
174+
- **github**: Repository management (requires GITHUB_TOKEN)
175+
- **postgres**: Database operations (requires connection string)
176+
- **slack**: Messaging integration (requires SLACK_BOT_TOKEN)
177+
178+
## 🔒 Security
179+
180+
- CORS-enabled for cross-origin requests
181+
- Docker socket access for container management
182+
- Environment-based secret management
183+
- Production-ready containerization
184+
185+
## 📚 Related Documentation
186+
187+
- [MCP Gateway Documentation](docs/mcp-gateway.md)
188+
- [Dynamic Server Management](docs/feature-specs/dynamic_servers.md)
189+
- [Docker MCP Catalog](https://hub.docker.com/mcp)
190+
- [Model Context Protocol Specification](https://spec.modelcontextprotocol.io/)
191+
192+
## 🤝 Contributing
193+
194+
1. Fork the repository
195+
2. Create a feature branch
196+
3. Implement changes with tests
197+
4. Submit a pull request
198+
199+
## 📄 License
200+
201+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
202+
203+
---
204+
205+
Built with ❤️ for the MCP community

0 commit comments

Comments
 (0)