<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.1/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.1/developer-resources/mcp/clients/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Desktop</title><link>https://grafana.com/docs/grafana/v13.1/developer-resources/mcp/clients/claude-desktop/</link><pubDate>Fri, 21 Aug 2026 10:19:21 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.1/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-desktop-extension-mcpb&#34;&gt;Option 1: Desktop extension (.mcpb)&lt;/h3&gt;
&lt;p&gt;Download &lt;code&gt;mcp-grafana_&amp;lt;version&amp;gt;.mcpb&lt;/code&gt; 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 open it with Claude Desktop. The bundle carries the server binary for every supported platform, and Claude Desktop prompts you for your Grafana URL and credentials, so you do not need to edit any configuration file. Skip the rest of this page if you install this way.&lt;/p&gt;
&lt;p&gt;Bundles are not code-signed, and the copy listed in Claude Desktop&amp;rsquo;s extension directory may lag behind the latest release.&lt;/p&gt;
&lt;h3 id=&#34;option-2-go-install&#34;&gt;Option 2: 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-3-download-binary&#34;&gt;Option 3: 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-4-docker&#34;&gt;Option 4: 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-desktop-extension-mcpb">Option 1: Desktop extension (.mcpb)&lt;/h3>
&lt;p>Download &lt;code>mcp-grafana_&amp;lt;version&amp;gt;.mcpb&lt;/code> from &lt;a href="https://github.com/grafana/mcp-grafana/releases" target="_blank" rel="noopener noreferrer">GitHub Releases&lt;/a> and open it with Claude Desktop. The bundle carries the server binary for every supported platform, and Claude Desktop prompts you for your Grafana URL and credentials, so you do not need to edit any configuration file. Skip the rest of this page if you install this way.&lt;/p></description></item><item><title>Cursor</title><link>https://grafana.com/docs/grafana/v13.1/developer-resources/mcp/clients/cursor/</link><pubDate>Wed, 29 Jul 2026 17:47:59 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.1/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.1/developer-resources/mcp/clients/codex/</link><pubDate>Wed, 29 Jul 2026 17:47:59 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.1/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.1/developer-resources/mcp/clients/vscode-copilot/</link><pubDate>Wed, 29 Jul 2026 17:47:59 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.1/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.1/developer-resources/mcp/clients/claude-code/</link><pubDate>Wed, 29 Jul 2026 17:47:59 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.1/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.1/developer-resources/mcp/clients/gemini-cli/</link><pubDate>Wed, 29 Jul 2026 17:47:59 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.1/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.1/developer-resources/mcp/clients/windsurf/</link><pubDate>Wed, 29 Jul 2026 17:47:59 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.1/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.1/developer-resources/mcp/clients/zed/</link><pubDate>Wed, 29 Jul 2026 17:47:59 +0200</pubDate><guid>https://grafana.com/docs/grafana/v13.1/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>