This is documentation for the next version of Grafana documentation. For the latest stable release, go to the latest version.

Enterprise Open source

Windsurf

This guide helps you set up the mcp-grafana server for Windsurf.

Prerequisites

  • Windsurf IDE installed
  • Grafana 9.0+ with a service account token
  • mcp-grafana binary in your PATH

Configuration

Configuration file location:

OSPath
macOS/Linux~/.codeium/windsurf/mcp_config.json
Windows%USERPROFILE%\.codeium\windsurf\mcp_config.json

Add using the UI

  1. Open Windsurf Settings (Cmd+Shift+P -> Open Windsurf Settings)
  2. Scroll to Cascade section
  3. Click Add Server or View raw config

Manual configuration

Create or edit ~/.codeium/windsurf/mcp_config.json:

JSON
{
  "mcpServers": {
    "grafana": {
      "command": "mcp-grafana",
      "args": [],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your-token>"
      }
    }
  }
}

Docker configuration

JSON
{
  "mcpServers": {
    "grafana": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "GRAFANA_URL",
        "-e",
        "GRAFANA_SERVICE_ACCOUNT_TOKEN",
        "grafana/mcp-grafana",
        "-t",
        "stdio"
      ],
      "env": {
        "GRAFANA_URL": "http://host.docker.internal:3000",
        "GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your-token>"
      }
    }
  }
}

Debug mode

JSON
{
  "mcpServers": {
    "grafana": {
      "command": "mcp-grafana",
      "args": ["-debug"],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your-token>"
      }
    }
  }
}

Verify configuration

  1. Click the refresh button after adding the server
  2. Open Cascade view
  3. Click the hammer icon (MCP servers)
  4. Grafana should show green status
  5. Ask: “List my Grafana dashboards”

Tool limit

Windsurf limits total MCP tools to 100. If you hit the limit:

  1. Go to Windsurf Settings -> Manage plugins
  2. Disable unused servers
  3. Toggle off individual tools you don’t need

Troubleshooting

Server not connecting:

  • Press refresh button in Cascade settings
  • Check JSON syntax
  • Verify binary exists: which mcp-grafana

SSE transport (remote server):

If you need HTTP-based connection instead of stdio:

Bash
mcp-grafana --transport streamable-http --address localhost:8000

Then configure with serverUrl:

JSON
{
  "mcpServers": {
    "grafana": {
      "serverUrl": "http://localhost:8000/mcp"
    }
  }
}

Read-only mode

JSON
{
  "mcpServers": {
    "grafana": {
      "command": "mcp-grafana",
      "args": ["--disable-write"],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your-token>"
      }
    }
  }
}

Next steps