<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Set up by client on Grafana Labs</title><link>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/</link><description>Recent content in Set up by client on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v13.0/developer-resources/mcp/clients/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Desktop</title><link>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/claude-desktop/</link><pubDate>Thu, 23 Apr 2026 10:03:11 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/claude-desktop/</guid><content><![CDATA[&lt;h1 id=&#34;claude-desktop&#34;&gt;Claude Desktop&lt;/h1&gt;
&lt;p&gt;This guide helps you set up the &lt;code&gt;mcp-grafana&lt;/code&gt; server for Claude Desktop.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Claude Desktop installed&lt;/li&gt;
&lt;li&gt;Grafana 9.0&#43; with a service account token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-grafana&lt;/code&gt; binary in your PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;h3 id=&#34;option-1-go-install&#34;&gt;Option 1: Go install&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;GOBIN=&amp;#34;$HOME/go/bin&amp;#34; go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;option-2-download-binary&#34;&gt;Option 2: Download binary&lt;/h3&gt;
&lt;p&gt;Get the latest release from &lt;a href=&#34;https://github.com/grafana/mcp-grafana/releases&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;GitHub Releases&lt;/a&gt; and add to your PATH.&lt;/p&gt;
&lt;h3 id=&#34;option-3-docker&#34;&gt;Option 3: Docker&lt;/h3&gt;
&lt;p&gt;No installation needed – use Docker in the configuration below.&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;Edit your Claude Desktop configuration file:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;OS&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Path&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;macOS&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Windows&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;%APPDATA%\Claude\claude_desktop_config.json&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Linux&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;~/.config/Claude/claude_desktop_config.json&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;binary-configuration&#34;&gt;Binary configuration&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you get &lt;code&gt;ENOENT&lt;/code&gt;, use the full path:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;/Users/yourname/go/bin/mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;docker-configuration&#34;&gt;Docker configuration&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;docker&amp;#34;,
      &amp;#34;args&amp;#34;: [
        &amp;#34;run&amp;#34;,
        &amp;#34;--rm&amp;#34;,
        &amp;#34;-i&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_URL&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;,
        &amp;#34;grafana/mcp-grafana&amp;#34;,
        &amp;#34;-t&amp;#34;,
        &amp;#34;stdio&amp;#34;
      ],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://host.docker.internal:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;debug-mode&#34;&gt;Debug mode&lt;/h2&gt;
&lt;p&gt;Add &lt;code&gt;-debug&lt;/code&gt; to args for verbose logging:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;-debug&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;verify-configuration&#34;&gt;Verify configuration&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Fully quit Claude Desktop (Cmd&#43;Q on macOS)&lt;/li&gt;
&lt;li&gt;Restart Claude Desktop&lt;/li&gt;
&lt;li&gt;Open a new conversation&lt;/li&gt;
&lt;li&gt;Ask: &amp;ldquo;List my Grafana dashboards&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If it works, you&amp;rsquo;ll see dashboard names. If not, check logs at &lt;code&gt;~/Library/Logs/Claude/mcp*.log&lt;/code&gt; (macOS).&lt;/p&gt;
&lt;h2 id=&#34;read-only-mode&#34;&gt;Read-only mode&lt;/h2&gt;
&lt;p&gt;Prevent accidental modifications:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;--disable-write&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;tls-client-certificates&#34;&gt;TLS client certificates&lt;/h2&gt;
&lt;p&gt;For Grafana instances requiring mTLS:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [
        &amp;#34;--tls-cert-file&amp;#34;,
        &amp;#34;/path/to/client.crt&amp;#34;,
        &amp;#34;--tls-key-file&amp;#34;,
        &amp;#34;/path/to/client.key&amp;#34;,
        &amp;#34;--tls-ca-file&amp;#34;,
        &amp;#34;/path/to/ca.crt&amp;#34;
      ],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;https://secure-grafana.example.com&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../set-up/&#34;&gt;Set up&lt;/a&gt; for other install options (uvx, Helm).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/authentication/&#34;&gt;Configure authentication&lt;/a&gt; for Grafana credentials.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="claude-desktop">Claude Desktop&lt;/h1>
&lt;p>This guide helps you set up the &lt;code>mcp-grafana&lt;/code> server for Claude Desktop.&lt;/p>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>Claude Desktop installed&lt;/li>
&lt;li>Grafana 9.0+ with a service account token&lt;/li>
&lt;li>&lt;code>mcp-grafana&lt;/code> binary in your PATH&lt;/li>
&lt;/ul>
&lt;h2 id="installation">Installation&lt;/h2>
&lt;h3 id="option-1-go-install">Option 1: Go install&lt;/h3>
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">Bash&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-bash">GOBIN=&amp;#34;$HOME/go/bin&amp;#34; go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;h3 id="option-2-download-binary">Option 2: Download binary&lt;/h3>
&lt;p>Get the latest release from &lt;a href="https://github.com/grafana/mcp-grafana/releases" target="_blank" rel="noopener noreferrer">GitHub Releases&lt;/a> and add to your PATH.&lt;/p></description></item><item><title>Cursor</title><link>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/cursor/</link><pubDate>Thu, 23 Apr 2026 10:03:11 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/cursor/</guid><content><![CDATA[&lt;h1 id=&#34;cursor&#34;&gt;Cursor&lt;/h1&gt;
&lt;p&gt;This guide helps you set up the &lt;code&gt;mcp-grafana&lt;/code&gt; server for Cursor.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Cursor IDE installed&lt;/li&gt;
&lt;li&gt;Grafana 9.0&#43; with a service account token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-grafana&lt;/code&gt; binary in your PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;Two options for configuration location:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Scope&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Path&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Global (all projects)&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;~/.cursor/mcp.json&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Project-specific&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;.cursor/mcp.json&lt;/code&gt; in project root&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;add-using-the-ui&#34;&gt;Add using the UI&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open Cursor Settings -&amp;gt; &lt;strong&gt;Tools &amp;amp; Integrations&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;New MCP Server&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;This opens &lt;code&gt;~/.cursor/mcp.json&lt;/code&gt; for editing&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;manual-configuration&#34;&gt;Manual configuration&lt;/h3&gt;
&lt;p&gt;Create or edit &lt;code&gt;~/.cursor/mcp.json&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;docker-configuration&#34;&gt;Docker configuration&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;docker&amp;#34;,
      &amp;#34;args&amp;#34;: [
        &amp;#34;run&amp;#34;,
        &amp;#34;--rm&amp;#34;,
        &amp;#34;-i&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_URL&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;,
        &amp;#34;grafana/mcp-grafana&amp;#34;,
        &amp;#34;-t&amp;#34;,
        &amp;#34;stdio&amp;#34;
      ],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://host.docker.internal:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;debug-mode&#34;&gt;Debug mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;-debug&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;verify-configuration&#34;&gt;Verify configuration&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Go to Cursor Settings -&amp;gt; &lt;strong&gt;Tools &amp;amp; Integrations&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Find &lt;strong&gt;grafana&lt;/strong&gt; in the MCP servers list&lt;/li&gt;
&lt;li&gt;Click the refresh button if needed&lt;/li&gt;
&lt;li&gt;Green indicator = server running&lt;/li&gt;
&lt;li&gt;Open Composer and ask: &amp;ldquo;List my Grafana dashboards&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Server not appearing:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Check JSON syntax (trailing commas break it)&lt;/li&gt;
&lt;li&gt;Restart Cursor&lt;/li&gt;
&lt;li&gt;Verify binary path: &lt;code&gt;which mcp-grafana&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tools not working:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Click refresh button in MCP settings&lt;/li&gt;
&lt;li&gt;Check Grafana token permissions&lt;/li&gt;
&lt;li&gt;Enable &lt;code&gt;-debug&lt;/code&gt; flag and check output&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;read-only-mode&#34;&gt;Read-only mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;--disable-write&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../set-up/&#34;&gt;Set up&lt;/a&gt; for other install options (uvx, Helm).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/authentication/&#34;&gt;Configure authentication&lt;/a&gt; for Grafana credentials.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="cursor">Cursor&lt;/h1>
&lt;p>This guide helps you set up the &lt;code>mcp-grafana&lt;/code> server for Cursor.&lt;/p>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>Cursor IDE installed&lt;/li>
&lt;li>Grafana 9.0+ with a service account token&lt;/li>
&lt;li>&lt;code>mcp-grafana&lt;/code> binary in your PATH&lt;/li>
&lt;/ul>
&lt;h2 id="configuration">Configuration&lt;/h2>
&lt;p>Two options for configuration location:&lt;/p></description></item><item><title>Codex CLI</title><link>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/codex/</link><pubDate>Thu, 23 Apr 2026 10:03:11 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/codex/</guid><content><![CDATA[&lt;h1 id=&#34;codex-cli&#34;&gt;Codex CLI&lt;/h1&gt;
&lt;p&gt;This guide helps you set up the &lt;code&gt;mcp-grafana&lt;/code&gt; server for the OpenAI Codex CLI.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Codex CLI installed (&lt;code&gt;npm install -g @openai/codex&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Grafana 9.0&#43; with a service account token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-grafana&lt;/code&gt; binary in your PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;important-toml-format&#34;&gt;Important: TOML format&lt;/h2&gt;
&lt;p&gt;Codex uses &lt;strong&gt;TOML&lt;/strong&gt; configuration, not JSON. Configuration file: &lt;code&gt;~/.codex/config.toml&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;h3 id=&#34;cli-setup-recommended&#34;&gt;CLI setup (recommended)&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;codex mcp add grafana -- mcp-grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Add environment variables:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;codex mcp add grafana \
  --env GRAFANA_URL=http://localhost:3000 \
  --env GRAFANA_SERVICE_ACCOUNT_TOKEN=&amp;lt;your-token&amp;gt; \
  -- mcp-grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;manual-configuration&#34;&gt;Manual configuration&lt;/h3&gt;
&lt;p&gt;Create or edit &lt;code&gt;~/.codex/config.toml&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;toml&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-toml&#34;&gt;[mcp_servers.grafana]
command = &amp;#34;mcp-grafana&amp;#34;
args = []
env = { GRAFANA_URL = &amp;#34;http://localhost:3000&amp;#34;, GRAFANA_SERVICE_ACCOUNT_TOKEN = &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34; }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Use &lt;code&gt;mcp_servers&lt;/code&gt; (underscore, not hyphen).&lt;/p&gt;
&lt;h2 id=&#34;debug-mode&#34;&gt;Debug mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;toml&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-toml&#34;&gt;[mcp_servers.grafana]
command = &amp;#34;mcp-grafana&amp;#34;
args = [&amp;#34;-debug&amp;#34;]
env = { GRAFANA_URL = &amp;#34;http://localhost:3000&amp;#34;, GRAFANA_SERVICE_ACCOUNT_TOKEN = &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34; }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;docker-setup&#34;&gt;Docker setup&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;toml&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-toml&#34;&gt;[mcp_servers.grafana]
command = &amp;#34;docker&amp;#34;
args = [&amp;#34;run&amp;#34;, &amp;#34;--rm&amp;#34;, &amp;#34;-i&amp;#34;, &amp;#34;-e&amp;#34;, &amp;#34;GRAFANA_URL&amp;#34;, &amp;#34;-e&amp;#34;, &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;, &amp;#34;grafana/mcp-grafana&amp;#34;, &amp;#34;-t&amp;#34;, &amp;#34;stdio&amp;#34;]
env = { GRAFANA_URL = &amp;#34;http://host.docker.internal:3000&amp;#34;, GRAFANA_SERVICE_ACCOUNT_TOKEN = &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34; }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;verify-configuration&#34;&gt;Verify configuration&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;# List configured servers
codex mcp list

# Show specific server config
codex mcp get grafana

# Start Codex and test
codex&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Then ask: &amp;ldquo;List my Grafana dashboards&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;timeout-settings&#34;&gt;Timeout settings&lt;/h2&gt;
&lt;p&gt;If Grafana operations take time, increase timeout:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;toml&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-toml&#34;&gt;[mcp_servers.grafana]
command = &amp;#34;mcp-grafana&amp;#34;
args = []
env = { GRAFANA_URL = &amp;#34;http://localhost:3000&amp;#34;, GRAFANA_SERVICE_ACCOUNT_TOKEN = &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34; }
startup_timeout_ms = 20000
tool_timeout_ms = 120000&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Server not found in Codex:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Verify TOML syntax (no trailing commas, use &lt;code&gt;=&lt;/code&gt; not &lt;code&gt;:&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Check key is &lt;code&gt;mcp_servers&lt;/code&gt; not &lt;code&gt;mcp-servers&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Restart Codex after configuration changes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Config shared across CLI and IDE:&lt;/strong&gt; Codex CLI and VS Code extension share &lt;code&gt;~/.codex/config.toml&lt;/code&gt;. A syntax error breaks both.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Common TOML mistakes:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;toml&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-toml&#34;&gt;# Wrong - JSON-style
env = {&amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;}

# Correct - TOML-style
env = { GRAFANA_URL = &amp;#34;http://localhost:3000&amp;#34; }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;read-only-mode&#34;&gt;Read-only mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;toml&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-toml&#34;&gt;[mcp_servers.grafana]
command = &amp;#34;mcp-grafana&amp;#34;
args = [&amp;#34;--disable-write&amp;#34;]
env = { GRAFANA_URL = &amp;#34;http://localhost:3000&amp;#34;, GRAFANA_SERVICE_ACCOUNT_TOKEN = &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34; }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../set-up/&#34;&gt;Set up&lt;/a&gt; for other install options.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/authentication/&#34;&gt;Configure authentication&lt;/a&gt; for Grafana credentials.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="codex-cli">Codex CLI&lt;/h1>
&lt;p>This guide helps you set up the &lt;code>mcp-grafana&lt;/code> server for the OpenAI Codex CLI.&lt;/p>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>Codex CLI installed (&lt;code>npm install -g @openai/codex&lt;/code>)&lt;/li>
&lt;li>Grafana 9.0+ with a service account token&lt;/li>
&lt;li>&lt;code>mcp-grafana&lt;/code> binary in your PATH&lt;/li>
&lt;/ul>
&lt;h2 id="important-toml-format">Important: TOML format&lt;/h2>
&lt;p>Codex uses &lt;strong>TOML&lt;/strong> configuration, not JSON. Configuration file: &lt;code>~/.codex/config.toml&lt;/code>&lt;/p></description></item><item><title>VS Code and GitHub Copilot</title><link>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/vscode-copilot/</link><pubDate>Thu, 23 Apr 2026 10:03:11 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/vscode-copilot/</guid><content><![CDATA[&lt;h1 id=&#34;vs-code-and-github-copilot&#34;&gt;VS Code and GitHub Copilot&lt;/h1&gt;
&lt;p&gt;This guide helps you set up the &lt;code&gt;mcp-grafana&lt;/code&gt; server for VS Code with GitHub Copilot agent mode.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;VS Code with GitHub Copilot extension&lt;/li&gt;
&lt;li&gt;Grafana 9.0&#43; with a service account token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-grafana&lt;/code&gt; binary installed&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;important&#34;&gt;Important&lt;/h2&gt;
&lt;p&gt;GitHub Copilot in VS Code uses &lt;strong&gt;SSE transport&lt;/strong&gt;, not stdio. You need to run &lt;code&gt;mcp-grafana&lt;/code&gt; as an HTTP server.&lt;/p&gt;
&lt;h2 id=&#34;setup&#34;&gt;Setup&lt;/h2&gt;
&lt;h3 id=&#34;1-start-the-mcp-server&#34;&gt;1. Start the MCP server&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;export GRAFANA_URL=&amp;#34;http://localhost:3000&amp;#34;
export GRAFANA_SERVICE_ACCOUNT_TOKEN=&amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
mcp-grafana --transport sse --address localhost:8000&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Or with Docker:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;docker run --rm -p 8000:8000 \
  -e GRAFANA_URL=http://host.docker.internal:3000 \
  -e GRAFANA_SERVICE_ACCOUNT_TOKEN=&amp;lt;your-token&amp;gt; \
  grafana/mcp-grafana --transport sse --address :8000&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;2-configure-vs-code&#34;&gt;2. Configure VS Code&lt;/h3&gt;
&lt;p&gt;Add to your VS Code settings (&lt;code&gt;settings.json&lt;/code&gt;):&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;github.copilot.chat.mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;url&amp;#34;: &amp;#34;http://localhost:8000/sse&amp;#34;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Or use workspace settings (&lt;code&gt;.vscode/settings.json&lt;/code&gt;) for project-specific config.&lt;/p&gt;
&lt;h2 id=&#34;debug-mode&#34;&gt;Debug mode&lt;/h2&gt;
&lt;p&gt;Start the server with debug logging:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;mcp-grafana --transport sse --address localhost:8000 -debug&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;verify-configuration&#34;&gt;Verify configuration&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Restart VS Code after configuration changes&lt;/li&gt;
&lt;li&gt;Open Copilot Chat (Ctrl&#43;Shift&#43;I)&lt;/li&gt;
&lt;li&gt;Type: &lt;code&gt;@grafana list dashboards&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If tools are available, Copilot will query Grafana&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Server not connecting:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Verify server is running: &lt;code&gt;curl http://localhost:8000/sse&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Check firewall allows port 8000&lt;/li&gt;
&lt;li&gt;Restart VS Code after configuration changes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tools not appearing:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Copilot agent mode required (may need Copilot Chat enabled)&lt;/li&gt;
&lt;li&gt;Check VS Code output panel for MCP errors&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;running-as-a-service&#34;&gt;Running as a service&lt;/h2&gt;
&lt;p&gt;For persistent server, create a systemd unit or launchd plist.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Linux systemd&lt;/strong&gt; (&lt;code&gt;~/.config/systemd/user/mcp-grafana.service&lt;/code&gt;):&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[Unit]
Description=Grafana MCP Server
After=network.target

[Service]
ExecStart=/path/to/mcp-grafana --transport sse --address localhost:8000
Environment=GRAFANA_URL=http://localhost:3000
Environment=GRAFANA_SERVICE_ACCOUNT_TOKEN=&amp;lt;your-token&amp;gt;
Restart=always

[Install]
WantedBy=default.target&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Enable with:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;systemctl --user enable --now mcp-grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;read-only-mode&#34;&gt;Read-only mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;mcp-grafana --transport sse --address localhost:8000 --disable-write&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/transports-and-addresses/&#34;&gt;Transports and addresses&lt;/a&gt; for SSE details.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/authentication/&#34;&gt;Configure authentication&lt;/a&gt; for Grafana credentials.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="vs-code-and-github-copilot">VS Code and GitHub Copilot&lt;/h1>
&lt;p>This guide helps you set up the &lt;code>mcp-grafana&lt;/code> server for VS Code with GitHub Copilot agent mode.&lt;/p>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>VS Code with GitHub Copilot extension&lt;/li>
&lt;li>Grafana 9.0+ with a service account token&lt;/li>
&lt;li>&lt;code>mcp-grafana&lt;/code> binary installed&lt;/li>
&lt;/ul>
&lt;h2 id="important">Important&lt;/h2>
&lt;p>GitHub Copilot in VS Code uses &lt;strong>SSE transport&lt;/strong>, not stdio. You need to run &lt;code>mcp-grafana&lt;/code> as an HTTP server.&lt;/p></description></item><item><title>Claude Code</title><link>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/claude-code/</link><pubDate>Thu, 23 Apr 2026 10:03:11 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/claude-code/</guid><content><![CDATA[&lt;h1 id=&#34;claude-code&#34;&gt;Claude Code&lt;/h1&gt;
&lt;p&gt;This guide helps you set up the &lt;code&gt;mcp-grafana&lt;/code&gt; server for the Claude Code CLI.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Claude Code CLI installed (&lt;code&gt;npm install -g @anthropic-ai/claude-code&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Grafana 9.0&#43; with a service account token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-grafana&lt;/code&gt; binary in your PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;one-command-setup&#34;&gt;One-command setup&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;claude mcp add-json &amp;#34;grafana&amp;#34; &amp;#39;{&amp;#34;command&amp;#34;:&amp;#34;mcp-grafana&amp;#34;,&amp;#34;args&amp;#34;:[],&amp;#34;env&amp;#34;:{&amp;#34;GRAFANA_URL&amp;#34;:&amp;#34;http://localhost:3000&amp;#34;,&amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;:&amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;}}&amp;#39;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;manual-configuration&#34;&gt;Manual configuration&lt;/h2&gt;
&lt;p&gt;Claude Code stores MCP configuration alongside other settings. Use the CLI to manage servers.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;# List configured servers
claude mcp list

# Add a server
claude mcp add grafana -- mcp-grafana

# Remove a server
claude mcp remove grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;scope-options&#34;&gt;Scope options&lt;/h2&gt;
&lt;p&gt;Claude Code supports three scopes for MCP servers:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Scope&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;local&lt;/code&gt; (default)&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Available only to you in current project&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;project&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Shared with team via &lt;code&gt;.mcp.json&lt;/code&gt; file&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;user&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Available to you across all projects&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;# Add for all your projects
claude mcp add grafana --scope user -- mcp-grafana

# Add for current project only (default)
claude mcp add grafana --scope local -- mcp-grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;full-configuration-with-environment-variables&#34;&gt;Full configuration with environment variables&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;claude mcp add-json &amp;#34;grafana&amp;#34; &amp;#39;{
  &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
  &amp;#34;args&amp;#34;: [],
  &amp;#34;env&amp;#34;: {
    &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
    &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
  }
}&amp;#39;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;docker-setup&#34;&gt;Docker setup&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;claude mcp add-json &amp;#34;grafana&amp;#34; &amp;#39;{
  &amp;#34;command&amp;#34;: &amp;#34;docker&amp;#34;,
  &amp;#34;args&amp;#34;: [&amp;#34;run&amp;#34;, &amp;#34;--rm&amp;#34;, &amp;#34;-i&amp;#34;, &amp;#34;-e&amp;#34;, &amp;#34;GRAFANA_URL&amp;#34;, &amp;#34;-e&amp;#34;, &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;, &amp;#34;grafana/mcp-grafana&amp;#34;, &amp;#34;-t&amp;#34;, &amp;#34;stdio&amp;#34;],
  &amp;#34;env&amp;#34;: {
    &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://host.docker.internal:3000&amp;#34;,
    &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
  }
}&amp;#39;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;debug-mode&#34;&gt;Debug mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;claude mcp add-json &amp;#34;grafana&amp;#34; &amp;#39;{
  &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
  &amp;#34;args&amp;#34;: [&amp;#34;-debug&amp;#34;],
  &amp;#34;env&amp;#34;: {
    &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
    &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
  }
}&amp;#39;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Then run Claude Code with debug output:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;claude --debug&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;verify-configuration&#34;&gt;Verify configuration&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Start a new Claude Code session:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;claude&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ask: &amp;ldquo;List my Grafana dashboards&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Claude should use the Grafana MCP tools automatically&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;view-current-configuration&#34;&gt;View current configuration&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;claude mcp list --json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Server not found:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Verify binary path: &lt;code&gt;which mcp-grafana&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use full path in configuration if needed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Permission errors:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Check Grafana service account token&lt;/li&gt;
&lt;li&gt;Verify token has required RBAC permissions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;read-only-mode&#34;&gt;Read-only mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;claude mcp add-json &amp;#34;grafana&amp;#34; &amp;#39;{
  &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
  &amp;#34;args&amp;#34;: [&amp;#34;--disable-write&amp;#34;],
  &amp;#34;env&amp;#34;: {
    &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
    &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
  }
}&amp;#39;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../set-up/&#34;&gt;Set up&lt;/a&gt; for other install options.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/authentication/&#34;&gt;Configure authentication&lt;/a&gt; for Grafana credentials.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="claude-code">Claude Code&lt;/h1>
&lt;p>This guide helps you set up the &lt;code>mcp-grafana&lt;/code> server for the Claude Code CLI.&lt;/p>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>Claude Code CLI installed (&lt;code>npm install -g @anthropic-ai/claude-code&lt;/code>)&lt;/li>
&lt;li>Grafana 9.0+ with a service account token&lt;/li>
&lt;li>&lt;code>mcp-grafana&lt;/code> binary in your PATH&lt;/li>
&lt;/ul>
&lt;h2 id="one-command-setup">One-command setup&lt;/h2>
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">Bash&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-bash">claude mcp add-json &amp;#34;grafana&amp;#34; &amp;#39;{&amp;#34;command&amp;#34;:&amp;#34;mcp-grafana&amp;#34;,&amp;#34;args&amp;#34;:[],&amp;#34;env&amp;#34;:{&amp;#34;GRAFANA_URL&amp;#34;:&amp;#34;http://localhost:3000&amp;#34;,&amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;:&amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;}}&amp;#39;&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;h2 id="manual-configuration">Manual configuration&lt;/h2>
&lt;p>Claude Code stores MCP configuration alongside other settings. Use the CLI to manage servers.&lt;/p></description></item><item><title>Gemini CLI</title><link>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/gemini-cli/</link><pubDate>Thu, 23 Apr 2026 10:03:11 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/gemini-cli/</guid><content><![CDATA[&lt;h1 id=&#34;gemini-cli&#34;&gt;Gemini CLI&lt;/h1&gt;
&lt;p&gt;This guide helps you set up the &lt;code&gt;mcp-grafana&lt;/code&gt; server for the Google Gemini CLI.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Gemini CLI installed (&lt;code&gt;npm install -g @google/gemini-cli&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Grafana 9.0&#43; with a service account token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-grafana&lt;/code&gt; binary in your PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;Gemini CLI stores MCP configuration in &lt;code&gt;~/.gemini/settings.json&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;manual-configuration&#34;&gt;Manual configuration&lt;/h3&gt;
&lt;p&gt;Create or edit &lt;code&gt;~/.gemini/settings.json&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;cli-commands&#34;&gt;CLI commands&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;# List configured servers
gemini mcp list

# Remove a server
gemini mcp remove grafana&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;docker-configuration&#34;&gt;Docker configuration&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;docker&amp;#34;,
      &amp;#34;args&amp;#34;: [
        &amp;#34;run&amp;#34;,
        &amp;#34;--rm&amp;#34;,
        &amp;#34;-i&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_URL&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;,
        &amp;#34;grafana/mcp-grafana&amp;#34;,
        &amp;#34;-t&amp;#34;,
        &amp;#34;stdio&amp;#34;
      ],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://host.docker.internal:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;debug-mode&#34;&gt;Debug mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;-debug&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;verify-configuration&#34;&gt;Verify configuration&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Start Gemini CLI:

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;gemini&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;/mcp&lt;/code&gt; to see available tools&lt;/li&gt;
&lt;li&gt;Ask: &amp;ldquo;List my Grafana dashboards&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;sse-transport-remote-server&#34;&gt;SSE transport (remote server)&lt;/h2&gt;
&lt;p&gt;For HTTP-based connection:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Start &lt;code&gt;mcp-grafana&lt;/code&gt; as an HTTP server:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;export GRAFANA_URL=&amp;#34;http://localhost:3000&amp;#34;
export GRAFANA_SERVICE_ACCOUNT_TOKEN=&amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
mcp-grafana --transport sse --address localhost:8000&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure in &lt;code&gt;settings.json&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;httpUrl&amp;#34;: &amp;#34;http://localhost:8000/sse&amp;#34;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Tools not appearing:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;/mcp&lt;/code&gt; in Gemini CLI to check registered tools&lt;/li&gt;
&lt;li&gt;Verify &lt;code&gt;settings.json&lt;/code&gt; syntax&lt;/li&gt;
&lt;li&gt;Check binary path: &lt;code&gt;which mcp-grafana&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Connection errors:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Verify &lt;code&gt;GRAFANA_URL&lt;/code&gt; is reachable&lt;/li&gt;
&lt;li&gt;Check token permissions in Grafana&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;read-only-mode&#34;&gt;Read-only mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;--disable-write&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../set-up/&#34;&gt;Set up&lt;/a&gt; for other install options.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/authentication/&#34;&gt;Configure authentication&lt;/a&gt; for Grafana credentials.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="gemini-cli">Gemini CLI&lt;/h1>
&lt;p>This guide helps you set up the &lt;code>mcp-grafana&lt;/code> server for the Google Gemini CLI.&lt;/p>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>Gemini CLI installed (&lt;code>npm install -g @google/gemini-cli&lt;/code>)&lt;/li>
&lt;li>Grafana 9.0+ with a service account token&lt;/li>
&lt;li>&lt;code>mcp-grafana&lt;/code> binary in your PATH&lt;/li>
&lt;/ul>
&lt;h2 id="configuration">Configuration&lt;/h2>
&lt;p>Gemini CLI stores MCP configuration in &lt;code>~/.gemini/settings.json&lt;/code>.&lt;/p></description></item><item><title>Windsurf</title><link>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/windsurf/</link><pubDate>Thu, 23 Apr 2026 10:03:11 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/windsurf/</guid><content><![CDATA[&lt;h1 id=&#34;windsurf&#34;&gt;Windsurf&lt;/h1&gt;
&lt;p&gt;This guide helps you set up the &lt;code&gt;mcp-grafana&lt;/code&gt; server for Windsurf.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Windsurf IDE installed&lt;/li&gt;
&lt;li&gt;Grafana 9.0&#43; with a service account token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-grafana&lt;/code&gt; binary in your PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;Configuration file location:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;OS&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Path&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;macOS/Linux&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;~/.codeium/windsurf/mcp_config.json&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Windows&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;%USERPROFILE%\.codeium\windsurf\mcp_config.json&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;add-using-the-ui&#34;&gt;Add using the UI&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open Windsurf Settings (Cmd&#43;Shift&#43;P -&amp;gt; &lt;strong&gt;Open Windsurf Settings&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Scroll to Cascade section&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add Server&lt;/strong&gt; or &lt;strong&gt;View raw config&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;manual-configuration&#34;&gt;Manual configuration&lt;/h3&gt;
&lt;p&gt;Create or edit &lt;code&gt;~/.codeium/windsurf/mcp_config.json&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;docker-configuration&#34;&gt;Docker configuration&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;docker&amp;#34;,
      &amp;#34;args&amp;#34;: [
        &amp;#34;run&amp;#34;,
        &amp;#34;--rm&amp;#34;,
        &amp;#34;-i&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_URL&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;,
        &amp;#34;grafana/mcp-grafana&amp;#34;,
        &amp;#34;-t&amp;#34;,
        &amp;#34;stdio&amp;#34;
      ],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://host.docker.internal:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;debug-mode&#34;&gt;Debug mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;-debug&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;verify-configuration&#34;&gt;Verify configuration&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Click the refresh button after adding the server&lt;/li&gt;
&lt;li&gt;Open Cascade view&lt;/li&gt;
&lt;li&gt;Click the hammer icon (MCP servers)&lt;/li&gt;
&lt;li&gt;Grafana should show green status&lt;/li&gt;
&lt;li&gt;Ask: &amp;ldquo;List my Grafana dashboards&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;tool-limit&#34;&gt;Tool limit&lt;/h2&gt;
&lt;p&gt;Windsurf limits total MCP tools to 100. If you hit the limit:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to Windsurf Settings -&amp;gt; Manage plugins&lt;/li&gt;
&lt;li&gt;Disable unused servers&lt;/li&gt;
&lt;li&gt;Toggle off individual tools you don&amp;rsquo;t need&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Server not connecting:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Press refresh button in Cascade settings&lt;/li&gt;
&lt;li&gt;Check JSON syntax&lt;/li&gt;
&lt;li&gt;Verify binary exists: &lt;code&gt;which mcp-grafana&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;SSE transport (remote server):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you need HTTP-based connection instead of stdio:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;mcp-grafana --transport streamable-http --address localhost:8000&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Then configure with &lt;code&gt;serverUrl&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;serverUrl&amp;#34;: &amp;#34;http://localhost:8000/mcp&amp;#34;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;read-only-mode&#34;&gt;Read-only mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;mcpServers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;--disable-write&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../set-up/&#34;&gt;Set up&lt;/a&gt; for other install options.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/authentication/&#34;&gt;Configure authentication&lt;/a&gt; for Grafana credentials.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="windsurf">Windsurf&lt;/h1>
&lt;p>This guide helps you set up the &lt;code>mcp-grafana&lt;/code> server for Windsurf.&lt;/p>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>Windsurf IDE installed&lt;/li>
&lt;li>Grafana 9.0+ with a service account token&lt;/li>
&lt;li>&lt;code>mcp-grafana&lt;/code> binary in your PATH&lt;/li>
&lt;/ul>
&lt;h2 id="configuration">Configuration&lt;/h2>
&lt;p>Configuration file location:&lt;/p></description></item><item><title>Zed</title><link>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/zed/</link><pubDate>Thu, 23 Apr 2026 10:03:11 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.0/developer-resources/mcp/clients/zed/</guid><content><![CDATA[&lt;h1 id=&#34;zed&#34;&gt;Zed&lt;/h1&gt;
&lt;p&gt;This guide helps you set up the &lt;code&gt;mcp-grafana&lt;/code&gt; server for the Zed editor.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Zed editor installed&lt;/li&gt;
&lt;li&gt;Grafana 9.0&#43; with a service account token&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp-grafana&lt;/code&gt; binary in your PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;Zed uses &lt;code&gt;context_servers&lt;/code&gt; in &lt;code&gt;settings.json&lt;/code&gt;, not &lt;code&gt;mcpServers&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;add-using-the-ui&#34;&gt;Add using the UI&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open Agent Panel (Cmd&#43;Shift&#43;A)&lt;/li&gt;
&lt;li&gt;Click Settings (gear icon)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add Custom Server&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Fill in command and args&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;manual-configuration&#34;&gt;Manual configuration&lt;/h3&gt;
&lt;p&gt;Open Zed settings (Cmd&#43;,) and add:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;context_servers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Zed uses &lt;code&gt;context_servers&lt;/code&gt;, not &lt;code&gt;mcpServers&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;docker-configuration&#34;&gt;Docker configuration&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;context_servers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;docker&amp;#34;,
      &amp;#34;args&amp;#34;: [
        &amp;#34;run&amp;#34;,
        &amp;#34;--rm&amp;#34;,
        &amp;#34;-i&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_URL&amp;#34;,
        &amp;#34;-e&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;,
        &amp;#34;grafana/mcp-grafana&amp;#34;,
        &amp;#34;-t&amp;#34;,
        &amp;#34;stdio&amp;#34;
      ],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://host.docker.internal:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;debug-mode&#34;&gt;Debug mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;context_servers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;-debug&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;verify-configuration&#34;&gt;Verify configuration&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Open Agent Panel settings&lt;/li&gt;
&lt;li&gt;Check indicator next to &lt;strong&gt;grafana&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Green = server active&lt;/li&gt;
&lt;li&gt;Other colors = check tooltip for status&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Open Agent Panel chat&lt;/li&gt;
&lt;li&gt;Ask: &amp;ldquo;List my Grafana dashboards&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; Mention &amp;ldquo;grafana&amp;rdquo; in your prompt to help the model pick the right tools.&lt;/p&gt;
&lt;h2 id=&#34;tool-permissions&#34;&gt;Tool permissions&lt;/h2&gt;
&lt;p&gt;By default, Zed asks permission for each tool call. To auto-allow:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;agent&amp;#34;: {
    &amp;#34;always_allow_tool_actions&amp;#34;: true
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use with caution – this enables all MCP tools without confirmation.&lt;/p&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Server not starting:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Check Zed logs: Cmd&#43;Shift&#43;P -&amp;gt; &lt;strong&gt;zed: open logs&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Verify binary path: &lt;code&gt;which mcp-grafana&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Restart Zed after configuration changes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tools not appearing:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zed supports both stdio and HTTP transports&lt;/li&gt;
&lt;li&gt;For remote servers, use native URL syntax or &lt;code&gt;mcp-remote&lt;/code&gt; shim&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Remote server (native URL syntax):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Zed supports direct URL connections for remote MCP servers:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;context_servers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;url&amp;#34;: &amp;#34;http://localhost:8000/sse&amp;#34;,
      &amp;#34;headers&amp;#34;: {}
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;First start the server:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;mcp-grafana --transport sse --address localhost:8000&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Remote server (mcp-remote fallback):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Alternative using &lt;code&gt;mcp-remote&lt;/code&gt; shim:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;context_servers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;npx&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;mcp-remote&amp;#34;, &amp;#34;http://localhost:8000/sse&amp;#34;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;read-only-mode&#34;&gt;Read-only mode&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;context_servers&amp;#34;: {
    &amp;#34;grafana&amp;#34;: {
      &amp;#34;command&amp;#34;: &amp;#34;mcp-grafana&amp;#34;,
      &amp;#34;args&amp;#34;: [&amp;#34;--disable-write&amp;#34;],
      &amp;#34;env&amp;#34;: {
        &amp;#34;GRAFANA_URL&amp;#34;: &amp;#34;http://localhost:3000&amp;#34;,
        &amp;#34;GRAFANA_SERVICE_ACCOUNT_TOKEN&amp;#34;: &amp;#34;&amp;lt;your-token&amp;gt;&amp;#34;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../set-up/&#34;&gt;Set up&lt;/a&gt; for other install options.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../configure/authentication/&#34;&gt;Configure authentication&lt;/a&gt; for Grafana credentials.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="zed">Zed&lt;/h1>
&lt;p>This guide helps you set up the &lt;code>mcp-grafana&lt;/code> server for the Zed editor.&lt;/p>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;ul>
&lt;li>Zed editor installed&lt;/li>
&lt;li>Grafana 9.0+ with a service account token&lt;/li>
&lt;li>&lt;code>mcp-grafana&lt;/code> binary in your PATH&lt;/li>
&lt;/ul>
&lt;h2 id="configuration">Configuration&lt;/h2>
&lt;p>Zed uses &lt;code>context_servers&lt;/code> in &lt;code>settings.json&lt;/code>, not &lt;code>mcpServers&lt;/code>.&lt;/p></description></item></channel></rss>