Skip to content

Commit c9664c9

Browse files
committed
streamable http readme
1 parent f629788 commit c9664c9

File tree

6 files changed

+27
-8
lines changed

6 files changed

+27
-8
lines changed

docs/docs/architecture/adr/003-expose-multi-transport-endpoints.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ The gateway will support the following built-in transports:
2323
- **HTTP JSON-RPC** (primary RPC interface)
2424
- **WebSocket** (bidirectional messaging)
2525
- **SSE (Server-Sent Events)** (for push-only event streaming)
26+
- **Streamable HTTP** (bidirectional, resumable streams, efficient MCP transport over HTTP)
2627
- **STDIO** (optional local CLI / subprocess transport)
2728

2829
Transport selection is dynamic, based on environment (`TRANSPORT_TYPE`) and route grouping. All transports share the same service layer and authentication mechanisms.

docs/docs/architecture/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This gateway:
66

77
- Wraps REST/MCP tools and resources under JSON-RPC and streaming protocols
88
- Offers a pluggable backend (cache, auth, storage)
9-
- Exposes multiple transports (HTTP, WS, SSE, stdio)
9+
- Exposes multiple transports (HTTP, WS, SSE, StreamableHttp, stdio)
1010
- Automatically discovers and merges federated peers
1111

1212
## System Architecture

docs/docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ A flexible FastAPI-based gateway and router for **Model Context Protocol (MCP)**
2525

2626
## Key Features
2727

28-
- **Multi-Transport**: HTTP, WebSocket, SSE, and stdio with auto-negotiation
28+
- **Multi-Transport**: HTTP, WebSocket, SSE, Streamable HTTP and stdio with auto-negotiation
2929
- **Federation & Health Checks**: Auto-discovery (mDNS or static), syncing, monitoring
3030
- **Admin UI**: Real-time management (HTMX + Tailwind)
3131
- **Tool Wrapping**: REST / CLI / local functions with JSON-Schema validation

docs/docs/overview/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This section introduces what the Gateway is, how it fits into the MCP ecosystem,
1515
- Protocol enforcement, health monitoring, and registry centralization
1616
- A visual Admin UI to manage everything in real time
1717

18-
Whether you're integrating REST APIs, local functions, or full LLM agents, MCP Gateway standardizes access and transport — over HTTP, WebSockets, SSE, or stdio.
18+
Whether you're integrating REST APIs, local functions, or full LLM agents, MCP Gateway standardizes access and transport — over HTTP, WebSockets, SSE, StreamableHttp or stdio.
1919

2020
---
2121

docs/docs/using/clients/copilot.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,26 @@ HTTP or require local stdio, you can insert the bundled **`mcpgateway.wrapper`**
4747
python -m mcpgateway.utils.create_jwt_token -u admin --exp 10080 --secret my-test-key
4848
```
4949

50+
## 🔗 Option 2 · Streamable HTTP (best for prod / remote)
51+
52+
### 2 · Create `.vscode/mcp.json`
53+
54+
```json
55+
{
56+
"servers": {
57+
"mcp-gateway": {
58+
"type": "http",
59+
"url": "https://mcpgateway.example.com/servers/1/mcp/",
60+
"headers": {
61+
"Authorization": "Bearer <YOUR_JWT_TOKEN>"
62+
}
63+
}
64+
}
65+
}
66+
5067
---
5168

52-
## 🔗 Option 2 · Local stdio bridge (`mcpgateway.wrapper`)
69+
## 🔗 Option 3 · Local stdio bridge (`mcpgateway.wrapper`)
5370

5471
Perfect when:
5572

docs/docs/using/clients/mcp-inspector.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ Point it at any MCP-compliant endpoint &mdash; a live Gateway **SSE** stream or
2020
2121
| Use-case | One-liner | What happens |
2222
|----------|-----------|--------------|
23-
| **Connect to Gateway (SSE)** |<br/>```bash<br/>npx @modelcontextprotocol/inspector \\<br/> --url http://localhost:4444/servers/1/sse \\<br/> --header "Authorization: Bearer $MCPGATEWAY_BEARER_TOKEN"<br/>``` | Inspector opens `http://localhost:5173` and attaches **directly** to the gateway stream. |
24-
| **2 · Spin up the stdio wrapper in-process** |<br/>```bash<br/>export MCP_AUTH_TOKEN=$MCPGATEWAY_BEARER_TOKEN<br/>export MCP_SERVER_CATALOG_URLS=http://localhost:4444/servers/1<br/><br/>npx @modelcontextprotocol/inspector \\<br/> python -m mcpgateway.wrapper<br/>``` | Inspector forks `python -m mcpgateway.wrapper`, then connects to its stdio port automatically. |
25-
| **3 · Same, but via uv / uvenv** |<br/>```bash<br/>npx @modelcontextprotocol/inspector \\<br/> uvenv run python -m mcpgateway.wrapper<br/>``` | Uses the super-fast **uv** virtual-env if you prefer. |
26-
| **4 · Wrapper already running** | Launch the wrapper in another shell, then:<br/>```bash<br/>npx @modelcontextprotocol/inspector --stdio<br/>``` | Inspector only opens the GUI and binds to the running stdio server on stdin/stdout. |
23+
| **1. Connect to Gateway (SSE)** |<br/>```bash<br/>npx @modelcontextprotocol/inspector \\<br/> --url http://localhost:4444/servers/1/sse \\<br/> --header "Authorization: Bearer $MCPGATEWAY_BEARER_TOKEN"<br/>``` | Inspector opens `http://localhost:5173` and attaches **directly** to the gateway stream. |
24+
| **2. Connect to Gateway (Streamable HTTP)** |<br/>```bash<br/>npx @modelcontextprotocol/inspector \\<br/> --url http://localhost:4444/servers/1/mcp/ \\<br/> --header "Authorization: Bearer $MCPGATEWAY_BEARER_TOKEN"<br/>``` | Inspector opens `http://localhost:5173` and attaches **directly** to the gateway stream. |
25+
| **3 · Spin up the stdio wrapper in-process** |<br/>```bash<br/>export MCP_AUTH_TOKEN=$MCPGATEWAY_BEARER_TOKEN<br/>export MCP_SERVER_CATALOG_URLS=http://localhost:4444/servers/1<br/><br/>npx @modelcontextprotocol/inspector \\<br/> python -m mcpgateway.wrapper<br/>``` | Inspector forks `python -m mcpgateway.wrapper`, then connects to its stdio port automatically. |
26+
| **4 · Same, but via uv / uvenv** |<br/>```bash<br/>npx @modelcontextprotocol/inspector \\<br/> uvenv run python -m mcpgateway.wrapper<br/>``` | Uses the super-fast **uv** virtual-env if you prefer. |
27+
| **5 · Wrapper already running** | Launch the wrapper in another shell, then:<br/>```bash<br/>npx @modelcontextprotocol/inspector --stdio<br/>``` | Inspector only opens the GUI and binds to the running stdio server on stdin/stdout. |
2728

2829
---
2930

0 commit comments

Comments
 (0)