Skip to content

Commit d11fa1c

Browse files
committed
Update roadmap, fix mkdocs url
Signed-off-by: Mihai Criveti <[email protected]>
1 parent c3d0b99 commit d11fa1c

File tree

2 files changed

+94
-1
lines changed

2 files changed

+94
-1
lines changed

docs/base.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# DO NOT EDIT, see mkdocs.yml
22

33
# Repository Information
4-
edit_uri: "edit/main/docs"
4+
edit_uri: "edit/main/docs/docs"
55
docs_dir: "docs"
66
site_dir: "site"
77
remote_branch: "gh-pages"

docs/docs/architecture/roadmap.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,3 +236,96 @@ Allow choosing which MCP protocol version each virtual server uses.
236236
**Team-Level Scopes:** As a platform admin, I want to define teams and grant scopes to teams so that I can manage permissions for groups of users.
237237

238238
**Global Scopes:** As a platform admin, I want to set global default scopes so that baseline permissions apply to all users.
239+
240+
241+
Here are the new markdown blocks for the two requested features:
242+
243+
---
244+
245+
## 🛠️ Developer Experience
246+
247+
Absolutely! Here are the two new features in your exact `mkdocs-material` + `admonition` format:
248+
249+
---
250+
251+
### 🧭 Epic: Chrome MCP Plugin Integration
252+
253+
???+ "Browser-Based MCP Management"
254+
**Plugin Accessibility:**
255+
As a developer, I want a Chrome extension to manage MCP configurations, servers, and connections directly from the browser
256+
**So that** I can reduce dependency on local CLI tools and improve accessibility.
257+
258+
```
259+
**Key Features:**
260+
- **Real-Time Session Control:** Monitor and interact with MCP sessions via a browser UI.
261+
- **Cross-Platform Compatibility:** Ensure the plugin works seamlessly across devices and operating systems.
262+
- **Secure API Proxy:** Route requests securely via `mcpgateway.translate` or `mcpgateway.wrapper` for token-based access.
263+
264+
**Implementation Notes:**
265+
- Distributed via the Chrome Web Store.
266+
- Uses JWT tokens stored in extension config or injected from Admin UI.
267+
- Interfaces with public `/servers`, `/tools`, `/resources`, and `/message` endpoints.
268+
```
269+
270+
---
271+
272+
### 🧭 Epic: Transport-Translation Bridge (`mcpgateway.translate`)
273+
274+
???+ "CLI Bridge for Any-to-Any Transport"
275+
**Goal:** As a CLI user or integrator, I want to bridge stdio-only MCP servers to modern transports like SSE, WS, or Streamable HTTP
276+
277+
**So that** I can use legacy binaries in web clients or tunnel remote services locally.
278+
279+
**Scenarios:**
280+
- **Stdio ➜ SSE:**
281+
Expose a local binary (e.g., `uvx mcp-server-git`) at `http://localhost:9000/sse`.
282+
283+
- **SSE ➜ Stdio:**
284+
Tunnel a remote SSE server to `stdin/stdout` so CLI tools can talk to it natively.
285+
286+
- **Health & CORS:**
287+
Add `/healthz` and CORS allowlist for reverse proxies and browser integrations.
288+
289+
- **Dockerized:**
290+
Run the bridge as a standalone container from GHCR with no Python installed.
291+
292+
**Example CLI Usage:**
293+
294+
```bash
295+
mcpgateway.translate \
296+
--stdio "uvx mcp-server-git" \
297+
--port 9000 \
298+
--ssePath /sse \
299+
--messagePath /message \
300+
--healthEndpoint /healthz \
301+
--cors "https://app.example.com"
302+
```
303+
304+
**Design:**
305+
306+
- Uses async pumps between transport pairs (e.g., `Stdio ↔ SSE`, `SSE ↔ WS`).
307+
- Maintains JSON-RPC fidelity and session state.
308+
- Adapts message framing (e.g., Base64 for binary over SSE).
309+
- Secure headers injected via `--header` or `--oauth2Bearer`.
310+
311+
**Docker:**
312+
313+
```bash
314+
docker run --rm -p 9000:9000 \
315+
ghcr.io/ibm/mcp-context-forge:translate
316+
```
317+
318+
**Acceptance Criteria:**
319+
320+
- CLI and Docker bridge exposes `/sse` and `/message` for bidirectional MCP.
321+
- Session ID and keep-alives handled automatically.
322+
- Fully observable (`--logLevel`, Prometheus metrics, JWT headers, etc).
323+
- Invalid flag combinations yield clean error output.
324+
325+
**Security:**
326+
327+
- Honors `MCP_AUTH_TOKEN` and CORS allowlist.
328+
- Redacts tokens in logs.
329+
- Supports TLS verification toggle (`--skipSSLVerify`).
330+
331+
---

0 commit comments

Comments
 (0)