Skip to main content

VS Code

Configure Visual Studio Code extensions to access your Netdata infrastructure through MCP.

Available Extensions​

The most popular open-source AI code assistant with MCP support.

Cline​

Autonomous coding agent that can use MCP tools.

Transport Support​

VS Code extensions typically support stdio-based MCP servers:

TransportSupportNetdata VersionUse Case
stdio (via nd-mcp bridge)✅ Fully Supportedv2.6.0+Local bridge to WebSocket
stdio (via npx mcp-remote)✅ Fully Supportedv2.7.2+Alternative bridge with HTTP/SSE support
Streamable HTTP⚠️ Varies by Extensionv2.7.2+Check extension documentation
SSE (Server-Sent Events)⚠️ Varies by Extensionv2.7.2+Check extension documentation
WebSocket❌ Not Supported-Use nd-mcp bridge

Note: Most VS Code extensions support stdio-based MCP servers. For HTTP/SSE connections to Netdata v2.7.2+, you can use npx mcp-remote bridge. For older Netdata versions (v2.6.0 - v2.7.1), use the nd-mcp bridge with WebSocket.

Prerequisites​

  1. VS Code installed - Download VS Code
  2. MCP-compatible extension - Install from VS Code Marketplace
  3. Netdata v2.6.0 or later with MCP support - Prefer a Netdata Parent to get infrastructure level visibility. Your AI Client (running on your desktop or laptop) needs to have direct network access to the Netdata IP and port (usually 19999).
    • v2.6.0 - v2.7.1: Only WebSocket transport available, requires nd-mcp bridge
    • v2.7.2+: Can use npx mcp-remote bridge for HTTP/SSE support
  4. Bridge required: Choose one:
    • nd-mcp bridge - The stdio-to-websocket bridge for all Netdata versions. Find its absolute path
    • npx mcp-remote@latest - Official MCP remote client supporting HTTP/SSE (requires Netdata v2.7.2+)
  5. Netdata MCP API key exported before launching VS Code - keep secrets out of config files by setting:
    export ND_MCP_BEARER_TOKEN="$(cat /var/lib/netdata/mcp_dev_preview_api_key)"
    Each Netdata Agent or Parent has its own unique API key for MCP - Find your Netdata MCP API key

Netdata Cloud MCP​

Connect to your entire Netdata Cloud infrastructure through a single endpoint — no local setup, bridges, or firewall changes needed.

Prerequisites:

  • Netdata Cloud account with a Paid plan
  • Nodes claimed to Netdata Cloud
  • API token with scope:mcp (create one)

Continue Extension​

Add to .continue/mcpServers/netdata-cloud.yaml:

name: Netdata Cloud
version: 0.0.1
schema: v1
mcpServers:
- name: netdata-cloud
type: streamable-http
url: https://app.netdata.cloud/api/v1/mcp
requestOptions:
headers:
Authorization: Bearer YOUR_NETDATA_CLOUD_API_TOKEN

Cline Extension​

Cline only supports stdio and SSE transports. Since Netdata Cloud MCP uses Streamable HTTP, you need the mcp-remote bridge to convert stdio to HTTP:

{
"mcpServers": {
"netdata-cloud": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://app.netdata.cloud/api/v1/mcp",
"--header",
"Authorization: Bearer YOUR_NETDATA_CLOUD_API_TOKEN"
],
"alwaysAllow": [],
"disabled": false
}
}
}

Replace YOUR_NETDATA_CLOUD_API_TOKEN with your Netdata Cloud API token (must have scope:mcp). For more details, see Netdata Cloud MCP.

Local Agent or Parent​

The following methods connect directly to a Netdata Agent or Parent on your network.

Continue Extension​

Installation​

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X)
  3. Search for "Continue"
  4. Install the Continue extension
  5. Reload VS Code

Configuration​

Step 1: Add Claude Model​
  1. Click "Select model" dropdown at the bottom (next to Chat dropdown)
  2. Click "+ Add Chat model"
  3. In the configuration screen:
    • Provider: Change to "Anthropic"
    • Model: Select Claude-3.5-Sonnet
    • API key: Enter your Anthropic API key
    • Click "Connect"
Step 2: Add Netdata MCP Server​

Continue stores MCP definitions as YAML or JSON blocks. The recommended flow is:

  1. Click "MCP" in the Continue toolbar
  2. Click "+ Add MCP Servers" to scaffold .continue/mcpServers/<name>.yaml
  3. Replace the contents with one of the configurations below

Continue's reference guide documents the type field (stdio, sse, or streamable-http) and block syntax (https://docs.continue.dev/customize/deep-dives/mcp).

Method 1: stdio launcher (all Netdata versions)

name: Netdata (nd-mcp)
version: 0.0.1
schema: v1
mcpServers:
- name: netdata
type: stdio
command: /usr/sbin/nd-mcp
args:
- ws://YOUR_NETDATA_IP:19999/mcp

Export ND_MCP_BEARER_TOKEN before launching Continue so nd-mcp can authenticate without embedding secrets in YAML.

Method 2: Direct SSE (Netdata v2.7.2+)

name: Netdata (SSE)
version: 0.0.1
schema: v1
mcpServers:
- name: netdata
type: sse
url: https://YOUR_NETDATA_IP:19999/mcp
requestOptions:
headers:
Authorization: Bearer ${NETDATA_MCP_API_KEY}

Method 3: Streamable HTTP (Netdata v2.7.2+)

name: Netdata (HTTP)
version: 0.0.1
schema: v1
mcpServers:
- name: netdata
type: streamable-http
url: https://YOUR_NETDATA_IP:19999/mcp
requestOptions:
headers:
Authorization: Bearer ${NETDATA_MCP_API_KEY}

Continue expands environment placeholders such as ${NETDATA_MCP_API_KEY} so you can keep API keys out of source control. After saving, reload the window to pick up the new server.

Usage​

Press Ctrl+L to open Continue chat, then:

@netdata what's the current CPU usage?
@netdata show me memory trends for the last hour
@netdata are there any anomalies in the database servers?

Cline Extension​

Installation​

  1. Search for "Cline" in Extensions
  2. Install and reload VS Code

Configuration​

Cline's official docs describe two workflows (https://docs.cline.bot/mcp/configuring-mcp-servers):

  • UI configuration – Click the MCP Servers icon → Configure tab → add/update servers, restart, toggle, and set timeouts.
  • JSON configuration – Click Configure MCP Servers to open cline_mcp_settings.json and edit the underlying JSON.
JSON examples​

Stdio (nd-mcp)

{
"mcpServers": {
"netdata": {
"command": "/usr/sbin/nd-mcp",
"args": [
"ws://YOUR_NETDATA_IP:19999/mcp"
],
"alwaysAllow": [],
"disabled": false
}
}
}

SSE for Netdata v2.7.2+

{
"mcpServers": {
"netdata": {
"url": "https://YOUR_NETDATA_IP:19999/mcp",
"headers": {
"Authorization": "Bearer NETDATA_MCP_API_KEY"
},
"alwaysAllow": [],
"disabled": false
}
}
}

Optional fields such as networkTimeout, alwaysAllow, and env map directly to Cline's UI controls. SSE and stdio are the two transports Cline supports today; pick the one that matches your Netdata deployment.

Usage​

  1. Open Cline (Ctrl+Shift+P → "Cline: Open Chat")
  2. Cline can autonomously:
    • Analyze performance issues
    • Create monitoring scripts
    • Debug based on metrics

Example:

Create a Python script that checks Netdata for high CPU usage and sends an alert

Multiple Environments​

Workspace-Specific Configuration​

Create a YAML file in your project's .continue/mcpServers/ directory (e.g., netdata-prod.yaml):

name: Netdata Production
version: 0.0.1
schema: v1
mcpServers:
- name: netdata-prod
type: stdio
command: /usr/sbin/nd-mcp
args:
- ws://prod-parent:19999/mcp

Environment Switching​

Different projects can have different Netdata connections:

  • ~/projects/frontend/.continue/mcpServers/netdata.yaml → Frontend servers
  • ~/projects/backend/.continue/mcpServers/netdata.yaml → Backend servers
  • ~/projects/infrastructure/.continue/mcpServers/netdata.yaml → All servers

ℹ️ Export ND_MCP_BEARER_TOKEN with the appropriate key before opening VS Code so the bridge picks up credentials without storing them in the YAML files.

Advanced Usage​

Custom Commands​

Create custom VS Code commands that query Netdata:

{
"commands": [
{
"command": "netdata.checkHealth",
"title": "Netdata: Check System Health"
}
]
}

Task Integration​

Add Netdata checks to tasks.json:

{
"version": "2.0.0",
"tasks": [
{
"label": "Check Production Metrics",
"type": "shell",
"command": "continue",
"args": [
"--ask",
"@netdata show current system status"
]
}
]
}

Snippets with Metrics​

Create snippets that include metric checks:

{
"Check Performance": {
"prefix": "perf",
"body": [
"// @netdata: Current ${1:CPU} usage?",
"$0"
]
}
}

Extension Comparison​

FeatureContinueClineCodeiumCopilot Chat
MCP Support✅ Full✅ Full❓ Check❓ Future
Autonomous Actions❌✅❌❌
Multiple Models✅✅❌❌
Free Tier❌❌✅❌
Open Source✅✅❌❌

Troubleshooting​

Extension Not Finding MCP​

  • Restart VS Code after configuration
  • Check extension logs (Output → Continue/Cline)
  • Verify JSON syntax in settings

Connection Issues​

  • Test Netdata: curl http://YOUR_NETDATA_IP:19999/api/v3/info
  • Check bridge is executable
  • Verify network access from VS Code

No Netdata Option​

  • Ensure @netdata is typed correctly
  • Check MCP server is configured
  • Try reloading the window (Ctrl+R)

Performance Problems​

  • Use local Netdata Parent for faster response
  • Check extension memory usage
  • Disable unused extensions

Best Practices​

Development Workflow​

  1. Start coding with infrastructure context
  2. Check metrics before optimization
  3. Validate changes against production data
  4. Monitor impact of deployments

Team Collaboration​

Share Netdata configurations:

  • Commit .vscode/settings.json for project-specific configs
  • Document which Netdata Parent to use
  • Create team snippets for common queries

Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.