Skip to content

Commit 891c583

Browse files
authored
Remote MCP support (streamable http and sse) (#21036)
* prepare for multiple mcp headends * fixed last * updated todo list * updated todo list * Add HTTP and SSE adapters for MCP * Select MCP SSE via Accept header * MCP: add HTTP/SSE transport support and fix chunked responses * MCP test client: await HTTP/SSE responses and harden SSE parsing * docs: drop completed MCP Phase 1/2 tasks from TODO * docs: renumber remaining MCP phases * docs: document HTTP/SSE MCP transports and remote-mcp usage * updated docs for mcp changes * bearer token in mcp-test-client * MCP authorization via http header
1 parent 8c9e5c5 commit 891c583

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+4505
-1245
lines changed

CMakeLists.txt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1814,6 +1814,13 @@ set(WEB_PLUGIN_FILES
18141814
src/web/api/v3/api_v3_stream_path.c
18151815
src/web/mcp/adapters/mcp-websocket.c
18161816
src/web/mcp/adapters/mcp-websocket.h
1817+
src/web/mcp/adapters/mcp-http.c
1818+
src/web/mcp/adapters/mcp-http.h
1819+
src/web/mcp/adapters/mcp-http-common.h
1820+
src/web/mcp/adapters/mcp-sse.c
1821+
src/web/mcp/adapters/mcp-sse.h
1822+
src/web/mcp/mcp-jsonrpc.c
1823+
src/web/mcp/mcp-jsonrpc.h
18171824
src/web/mcp/mcp-initialize.c
18181825
src/web/mcp/mcp-initialize.h
18191826
src/web/mcp/mcp-prompts.c
@@ -1839,16 +1846,14 @@ set(WEB_PLUGIN_FILES
18391846
src/web/mcp/mcp-tools-configured-alerts.h
18401847
src/web/mcp/mcp-params.c
18411848
src/web/mcp/mcp-params.h
1842-
src/web/mcp/mcp-request-id.c
1843-
src/web/mcp/mcp-request-id.h
18441849
src/web/mcp/mcp-ping.c
18451850
src/web/mcp/mcp-ping.h
18461851
src/web/mcp/mcp-logging.c
18471852
src/web/mcp/mcp-logging.h
18481853
src/web/mcp/mcp-completion.c
18491854
src/web/mcp/mcp-completion.h
1850-
src/web/mcp/mcp-api-key.c
1851-
src/web/mcp/mcp-api-key.h
1855+
src/web/api/mcp_auth.c
1856+
src/web/api/mcp_auth.h
18521857
src/web/mcp/mcp.c
18531858
src/web/mcp/mcp.h
18541859
src/web/server/static/static-threaded.c

docs/.map/map.csv

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,10 @@ https://github.com/netdata/netdata/edit/master/docs/ml-ai/ai-chat-netdata/jetbra
190190
https://github.com/netdata/netdata/edit/master/docs/ml-ai/ai-chat-netdata/netdata-web-client.md,Netdata Web Client,Published,Netdata AI/MCP/MCP Clients,
191191
https://github.com/netdata/netdata/edit/master/docs/ml-ai/ai-devops-copilot/claude-code.md,Claude Code,Published,Netdata AI/MCP/MCP Clients,
192192
https://github.com/netdata/netdata/edit/master/docs/ml-ai/ai-devops-copilot/gemini-cli.md,Gemini CLI,Published,Netdata AI/MCP/MCP Clients,
193+
https://github.com/netdata/netdata/edit/master/docs/ml-ai/ai-devops-copilot/codex-cli.md,OpenAI Codex CLI,Published,Netdata AI/MCP/MCP Clients,
194+
https://github.com/netdata/netdata/edit/master/docs/ml-ai/ai-devops-copilot/crush.md,Crush,Published,Netdata AI/MCP/MCP Clients,
195+
https://github.com/netdata/netdata/edit/master/docs/ml-ai/ai-devops-copilot/opencode.md,OpenCode,Published,Netdata AI/MCP/MCP Clients,
196+
,,,
193197
https://github.com/netdata/netdata/edit/master/docs/netdata-assistant.md,AI powered troubleshooting assistant,Unpublished,AI and Machine Learning,
194198
https://github.com/netdata/netdata/edit/master/src/ml/README.md,ML models and anomaly detection,Unpublished,AI and Machine Learning,This is an in-depth look at how Netdata uses ML to detect anomalies.
195199
,,,,

docs/learn/mcp.md

Lines changed: 125 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,46 @@ All Netdata Agents and Parents are Model Context Protocol (MCP) servers, enablin
44

55
Every Netdata Agent and Parent includes an MCP server that:
66

7-
- Implements the protocol as WebSocket for transport
7+
- Implements the protocol with multiple transport options: WebSocket, HTTP streamable, and SSE (Server-Sent Events)
88
- Provides read-only access to metrics, logs, alerts, and live system information
99
- Requires no additional installation - it's part of Netdata
1010

11+
## Transport Options
12+
13+
Netdata MCP supports three transport mechanisms:
14+
15+
| Transport | Endpoint | Use Case |
16+
|-----------|----------|----------|
17+
| **WebSocket** | `ws://YOUR_IP:19999/mcp` | Original transport, requires nd-mcp bridge for stdio clients |
18+
| **HTTP Streamable** | `http://YOUR_IP:19999/mcp` | Direct connection from AI clients supporting HTTP |
19+
| **SSE** | `http://YOUR_IP:19999/mcp?transport=sse` | Server-Sent Events for real-time streaming |
20+
21+
### Direct Connection vs Bridge
22+
23+
With the new HTTP and SSE transports, many AI clients can now connect directly to Netdata without needing the nd-mcp bridge:
24+
25+
- **Direct Connection**: AI clients that support HTTP or SSE transports can connect directly to Netdata
26+
- **Bridge Required**: AI clients that only support stdio (like some desktop apps) still need the nd-mcp bridge or the official MCP remote client
27+
28+
### Official MCP Remote Client
29+
30+
If your AI client doesn't support HTTP/SSE directly and you don't want to use nd-mcp, you can use the official MCP remote client:
31+
32+
```bash
33+
# Export your MCP key once per shell
34+
export NETDATA_MCP_API_KEY="$(cat /var/lib/netdata/mcp_dev_preview_api_key)"
35+
36+
# For SSE transport
37+
npx mcp-remote@latest --sse http://YOUR_NETDATA_IP:19999/mcp \
38+
--allow-http \
39+
--header "Authorization: Bearer $NETDATA_MCP_API_KEY"
40+
41+
# For HTTP transport
42+
npx mcp-remote@latest --http http://YOUR_NETDATA_IP:19999/mcp \
43+
--allow-http \
44+
--header "Authorization: Bearer $NETDATA_MCP_API_KEY"
45+
```
46+
1147
## Visibility Scope
1248

1349
Netdata provides comprehensive access to all available observability data through MCP, including complete metadata:
@@ -22,7 +58,7 @@ Netdata provides comprehensive access to all available observability data throug
2258
- **Function Execution** - Execute Netdata functions on any connected node (requires Netdata Parent)
2359
- **Log Exploration** - Access logs from any connected node (requires Netdata Parent)
2460

25-
For sensitive features currently protected by Netdata Cloud SSO, a temporary MCP API key is generated on each Netdata instance. When included in the MCP connection string, this key unlocks access to sensitive data and protected functions (like `systemd-journal`, `windows-events` and `processes`). This temporary API key mechanism will eventually be replaced with a new authentication system integrated with Netdata Cloud.
61+
For sensitive features currently protected by Netdata Cloud SSO, a temporary MCP API key is generated on each Netdata instance. When presented via the `Authorization: Bearer` header, this key unlocks access to sensitive data and protected functions (like `systemd-journal`, `windows-events` and `processes`). This temporary API key mechanism will eventually be replaced with a new authentication system integrated with Netdata Cloud.
2662

2763
AI assistants have different visibility depending on where they connect:
2864

@@ -32,6 +68,13 @@ AI assistants have different visibility depending on where they connect:
3268

3369
## Finding the nd-mcp Bridge
3470

71+
> **Note**: With the new HTTP and SSE transports, many AI clients can now connect directly to Netdata without nd-mcp. Check your AI client's documentation to see if it supports direct HTTP or SSE connections.
72+
73+
The nd-mcp bridge is only needed for AI clients that:
74+
- Only support `stdio` communication (like some desktop applications)
75+
- Cannot use HTTP or SSE transports directly
76+
- Cannot use `npx mcp-remote@latest`
77+
3578
AI clients like Claude Desktop run locally on your computer and use `stdio` communication. Since your Netdata runs remotely on a server, you need a bridge to convert `stdio` to WebSocket communication.
3679

3780
The `nd-mcp` bridge needs to be available on your desktop or laptop where your AI client runs. Since most users run Netdata on remote servers rather than their local machines, you have two options:
@@ -201,15 +244,74 @@ If the file doesn't exist:
201244

202245
## AI Client Configuration
203246

204-
Most AI clients use a similar configuration format:
247+
AI clients can connect to Netdata MCP in different ways depending on their transport support:
248+
249+
### Direct Connection (HTTP/SSE)
250+
251+
For AI clients that support HTTP or SSE transports:
252+
253+
```json
254+
{
255+
"mcpServers": {
256+
"netdata": {
257+
"type": "http",
258+
"url": "http://IP_OF_YOUR_NETDATA:19999/mcp",
259+
"headers": [
260+
"Authorization: Bearer YOUR_API_KEY"
261+
]
262+
}
263+
}
264+
}
265+
```
266+
267+
Or for SSE:
268+
269+
```json
270+
{
271+
"mcpServers": {
272+
"netdata": {
273+
"type": "sse",
274+
"url": "http://IP_OF_YOUR_NETDATA:19999/mcp?transport=sse",
275+
"headers": [
276+
"Authorization: Bearer YOUR_API_KEY"
277+
]
278+
}
279+
}
280+
}
281+
```
282+
283+
### Using nd-mcp Bridge (stdio)
284+
285+
For AI clients that only support stdio:
205286

206287
```json
207288
{
208289
"mcpServers": {
209290
"netdata": {
210291
"command": "/usr/sbin/nd-mcp",
211292
"args": [
212-
"ws://IP_OF_YOUR_NETDATA:19999/mcp?api_key=YOUR_API_KEY"
293+
"--bearer",
294+
"YOUR_API_KEY",
295+
"ws://IP_OF_YOUR_NETDATA:19999/mcp"
296+
]
297+
}
298+
}
299+
}
300+
```
301+
302+
### Using Official MCP Remote Client
303+
304+
```json
305+
{
306+
"mcpServers": {
307+
"netdata": {
308+
"command": "npx",
309+
"args": [
310+
"mcp-remote@latest",
311+
"--http",
312+
"http://IP_OF_YOUR_NETDATA:19999/mcp",
313+
"--header",
314+
"Authorization: Bearer YOUR_API_KEY"
213315
]
214316
}
215317
}
@@ -218,9 +320,9 @@ Most AI clients use a similar configuration format:
218320

219321
Replace:
220322

221-
- `/usr/sbin/nd-mcp` - With your actual nd-mcp path
222323
- `IP_OF_YOUR_NETDATA`: Your Netdata instance IP/hostname
223324
- `YOUR_API_KEY`: The API key from the file mentioned above
325+
- `/usr/sbin/nd-mcp`: With your actual nd-mcp path (if using the bridge)
224326

225327
### Multiple MCP Servers
226328

@@ -231,14 +333,30 @@ You can configure multiple Netdata instances:
231333
"mcpServers": {
232334
"netdata-production": {
233335
"command": "/usr/sbin/nd-mcp",
234-
"args": ["ws://prod-parent:19999/mcp?api_key=PROD_KEY"]
336+
"args": ["--bearer", "PROD_KEY", "ws://prod-parent:19999/mcp"]
235337
},
236338
"netdata-testing": {
237339
"command": "/usr/sbin/nd-mcp",
238-
"args": ["ws://test-parent:19999/mcp?api_key=TEST_KEY"]
340+
"args": ["--bearer", "TEST_KEY", "ws://test-parent:19999/mcp"]
239341
}
240342
}
241343
}
242344
```
243345

244346
Note: Most AI clients have difficulty choosing between multiple MCP servers. You may need to enable/disable them manually.
347+
348+
### Legacy Query String Support
349+
350+
For compatibility with older tooling, Netdata still accepts the `?api_key=YOUR_API_KEY` query parameter on the `/mcp` endpoints. New integrations should prefer the `Authorization: Bearer YOUR_API_KEY` header, but the query-string form remains available if you are migrating gradually.
351+
352+
## AI Client Specific Documentation
353+
354+
For detailed configuration instructions for specific AI clients, see:
355+
356+
- [Claude Code](/docs/ml-ai/ai-devops-copilot/claude-code.md) - Anthropic's CLI for Claude
357+
- [Gemini CLI](/docs/ml-ai/ai-devops-copilot/gemini-cli.md) - Google's Gemini CLI
358+
- [OpenAI Codex CLI](/docs/ml-ai/ai-devops-copilot/codex-cli.md) - OpenAI's Codex CLI
359+
- [Crush](/docs/ml-ai/ai-devops-copilot/crush.md) - Charmbracelet's glamorous terminal AI
360+
- [OpenCode](/docs/ml-ai/ai-devops-copilot/opencode.md) - SST's terminal-based AI assistant
361+
362+
Each guide includes specific transport support matrices and configuration examples optimized for that client.

docs/ml-ai/ai-chat-netdata/claude-desktop.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ Configure Claude Desktop to access your Netdata infrastructure through MCP.
77
1. **Claude Desktop installed** - Download from [claude.ai/download](https://claude.ai/download)
88
2. **The IP and port (usually 19999) of a running Netdata Agent** - Prefer a Netdata Parent to get infrastructure level visibility. Currently the latest nightly version of Netdata has MCP support (not released to the stable channel yet). Your AI Client (running on your desktop or laptop) needs to have direct network access to this IP and port.
99
3. **`nd-mcp` program available on your desktop or laptop** - This is the bridge that translates `stdio` to `websocket`, connecting your AI Client to your Netdata Agent or Parent. [Find its absolute path](/docs/learn/mcp.md#finding-the-nd-mcp-bridge)
10-
4. **Optionally, the Netdata MCP API key** that unlocks full access to sensitive observability data (protected functions, full access to logs) on your Netdata. Each Netdata Agent or Parent has its own unique API key for MCP - [Find your Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key)
10+
4. **Netdata MCP API key loaded into the environment** (recommended) - export it before launching Claude Code to avoid exposing it in config files:
11+
```bash
12+
export ND_MCP_BEARER_TOKEN="$(cat /var/lib/netdata/mcp_dev_preview_api_key)"
13+
```
14+
Each Netdata Agent or Parent has its own unique API key for MCP - [Find your Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key)
1115

1216
## Platform-Specific Installation
1317

@@ -37,7 +41,7 @@ Use the community AppImage project:
3741
"netdata": {
3842
"command": "/usr/sbin/nd-mcp",
3943
"args": [
40-
"ws://YOUR_NETDATA_IP:19999/mcp?api_key=NETDATA_MCP_API_KEY"
44+
"ws://YOUR_NETDATA_IP:19999/mcp"
4145
]
4246
}
4347
}
@@ -48,7 +52,7 @@ Replace:
4852

4953
- `/usr/sbin/nd-mcp` - With your [actual nd-mcp path](/docs/learn/mcp.md#finding-the-nd-mcp-bridge)
5054
- `YOUR_NETDATA_IP` - IP address or hostname of your Netdata Agent/Parent
51-
- `NETDATA_MCP_API_KEY` - Your [Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key)
55+
- `ND_MCP_BEARER_TOKEN` - Export this environment variable with your [Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key) before launching Claude Desktop
5256

5357
5. Save the configuration
5458
6. **Restart Claude Desktop** (required for changes to take effect)
@@ -84,18 +88,20 @@ Add multiple configurations and enable/disable as needed:
8488
"mcpServers": {
8589
"netdata-production": {
8690
"command": "/usr/sbin/nd-mcp",
87-
"args": ["ws://prod-parent:19999/mcp?api_key=PROD_KEY"]
91+
"args": ["ws://prod-parent:19999/mcp"]
8892
},
8993
"netdata-staging": {
9094
"command": "/usr/sbin/nd-mcp",
91-
"args": ["ws://stage-parent:19999/mcp?api_key=STAGE_KEY"]
95+
"args": ["ws://stage-parent:19999/mcp"]
9296
}
9397
}
9498
}
9599
```
96100

97101
Use the toggle switch in settings to enable only one at a time.
98102

103+
> ℹ️ Set `ND_MCP_BEARER_TOKEN` to the appropriate key before switching between environments to avoid storing secrets in the configuration file.
104+
99105
### Option 2: Single Parent
100106

101107
Connect to your main Netdata Parent that has visibility across all environments.

docs/ml-ai/ai-chat-netdata/cursor.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ Configure Cursor IDE to access your Netdata infrastructure through MCP.
77
1. **Cursor installed** - Download from [cursor.com](https://www.cursor.com)
88
2. **The IP and port (usually 19999) of a running Netdata Agent** - Prefer a Netdata Parent to get infrastructure level visibility. Currently the latest nightly version of Netdata has MCP support (not released to the stable channel yet). Your AI Client (running on your desktop or laptop) needs to have direct network access to this IP and port.
99
3. **`nd-mcp` program available on your desktop or laptop** - This is the bridge that translates `stdio` to `websocket`, connecting your AI Client to your Netdata Agent or Parent. [Find its absolute path](/docs/learn/mcp.md#finding-the-nd-mcp-bridge)
10-
4. **Optionally, the Netdata MCP API key** that unlocks full access to sensitive observability data (protected functions, full access to logs) on your Netdata. Each Netdata Agent or Parent has its own unique API key for MCP - [Find your Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key)
10+
4. **Netdata MCP API key loaded into the environment** (recommended) - export it before launching Cursor:
11+
```bash
12+
export ND_MCP_BEARER_TOKEN="$(cat /var/lib/netdata/mcp_dev_preview_api_key)"
13+
```
14+
Each Netdata Agent or Parent has its own unique API key for MCP - [Find your Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key)
1115

1216
## Configuration
1317

@@ -26,7 +30,7 @@ The configuration format:
2630
"netdata": {
2731
"command": "/usr/sbin/nd-mcp",
2832
"args": [
29-
"ws://YOUR_NETDATA_IP:19999/mcp?api_key=NETDATA_MCP_API_KEY"
33+
"ws://YOUR_NETDATA_IP:19999/mcp"
3034
]
3135
}
3236
}
@@ -80,18 +84,20 @@ Cursor allows multiple MCP servers but requires manual toggling:
8084
"mcpServers": {
8185
"netdata-prod": {
8286
"command": "/usr/sbin/nd-mcp",
83-
"args": ["ws://prod-parent:19999/mcp?api_key=PROD_KEY"]
87+
"args": ["ws://prod-parent:19999/mcp"]
8488
},
8589
"netdata-dev": {
8690
"command": "/usr/sbin/nd-mcp",
87-
"args": ["ws://dev-parent:19999/mcp?api_key=DEV_KEY"]
91+
"args": ["ws://dev-parent:19999/mcp"]
8892
}
8993
}
9094
}
9195
```
9296

9397
Use the toggle in settings to enable only the environment you need.
9498

99+
> ℹ️ Before switching environments, set `ND_MCP_BEARER_TOKEN` to the matching key so the bridge picks up the correct credentials without embedding them in the config file.
100+
95101
## Best Practices
96102

97103
### Infrastructure-Aware Development

docs/ml-ai/ai-chat-netdata/jetbrains-ides.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ Configure JetBrains IDEs to access your Netdata infrastructure through MCP.
2020
2. **AI Assistant plugin** - Install from IDE marketplace
2121
3. **The IP and port (usually 19999) of a running Netdata Agent** - Prefer a Netdata Parent to get infrastructure level visibility. Currently the latest nightly version of Netdata has MCP support (not released to the stable channel yet). Your AI Client (running on your desktop or laptop) needs to have direct network access to this IP and port.
2222
4. **`nd-mcp` program available on your desktop or laptop** - This is the bridge that translates `stdio` to `websocket`, connecting your AI Client to your Netdata Agent or Parent. [Find its absolute path](/docs/learn/mcp.md#finding-the-nd-mcp-bridge)
23-
5. **Optionally, the Netdata MCP API key** that unlocks full access to sensitive observability data (protected functions, full access to logs) on your Netdata. Each Netdata Agent or Parent has its own unique API key for MCP - [Find your Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key)
23+
5. **Netdata MCP API key exported before launching the IDE**:
24+
```bash
25+
export ND_MCP_BEARER_TOKEN="$(cat /var/lib/netdata/mcp_dev_preview_api_key)"
26+
```
27+
Each Netdata Agent or Parent has its own unique API key for MCP - [Find your Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key)
2428

2529
## Installing AI Assistant
2630

@@ -48,7 +52,7 @@ MCP support in JetBrains IDEs may require additional plugins or configuration. C
4852
"name": "netdata",
4953
"command": "/usr/sbin/nd-mcp",
5054
"args": [
51-
"ws://YOUR_NETDATA_IP:19999/mcp?api_key=NETDATA_MCP_API_KEY"
55+
"ws://YOUR_NETDATA_IP:19999/mcp"
5256
]
5357
}
5458
```
@@ -62,13 +66,13 @@ If direct MCP support is not available, configure as an External Tool:
6266
3. Configure:
6367
- **Name**: Netdata MCP
6468
- **Program**: `/usr/sbin/nd-mcp`
65-
- **Arguments**: `ws://YOUR_NETDATA_IP:19999/mcp?api_key=NETDATA_MCP_API_KEY`
69+
- **Arguments**: `ws://YOUR_NETDATA_IP:19999/mcp`
6670

6771
Replace:
6872

6973
- `/usr/sbin/nd-mcp` - With your [actual nd-mcp path](/docs/learn/mcp.md#finding-the-nd-mcp-bridge)
7074
- `YOUR_NETDATA_IP` - IP address or hostname of your Netdata Agent/Parent
71-
- `NETDATA_MCP_API_KEY` - Your [Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key)
75+
- `ND_MCP_BEARER_TOKEN` - Export with your [Netdata MCP API key](/docs/learn/mcp.md#finding-your-api-key) before launching the IDE
7276

7377
## Usage in Different IDEs
7478

0 commit comments

Comments
 (0)