Unlocking Agentic AI for Enterprise BI: Announcing Looker’s Managed MCP Server in Preview

As business intelligence enters the agentic era, we are seeing a fundamental shift in how teams interact with data. Today, we are announcing Looker’s fully managed Model Context Protocol (MCP) server in Preview. This introduction bridges the gap between enterprise-grade semantic data and the rapidly expanding ecosystem of AI agents, making Looker the plug-and-play semantic brain for any data-driven application.

The Evolution of the Looker MCP Ecosystem

Over the last year we have seen strong demand for the Looker MCP server through adoption of the open-source MCP Toolbox for Databases. Through collaboration with members of our BI Customer Council and early adopters, we saw how powerful it is to give AI agents access to Looker’s trusted semantic model.

Customers built incredible proofs of concept, most notably using AI to automatically generate and tweak complex dashboards on the fly from simple natural language prompts. However, running a local or self-hosted middleware server can create friction for enterprise adoption, as it requires dedicated developer resources to provision infrastructure, manage API keys, and maintain servers. Our new managed MCP server removes this friction. By embedding the MCP server directly into the Looker platform, we have turned multi-hour infrastructure configuration into a secure, zero-config connection that can take seconds.

Why Integrated MCP Matters for the Enterprise

By hosting the MCP server directly within Looker’s infrastructure, we unlock a secure and highly governed AI-ready data stack.

  • No deployment overhead: Hosted customers do not need to deploy containers or manage middleware. The MCP endpoint is natively exposed directly via your existing Looker instance URL.

  • Inherited security and VPC-SC compliance: The managed endpoint respects your existing VPC Service Controls and regional data footprints as long as your Looker instance is deployed within your boundary.

  • Seamless, multi-user identity: The managed MCP server maps agent actions to actual Looker users through standard OAuth2 flows. It works with your existing Looker SSO setup, whether you use Google Auth or a third-party identity provider.

  • Enterprise governance and auditing: Administrators gain full visibility. All queries executed via MCP will appear in Looker’s System Activity explores as API queries associated with the user whose credentials are used by the MCP server.

Driving Real-World Value: Enterprise AI-BI Use Cases

By exposing Looker’s semantic layer to LLMs, organizations can build custom agents while bypassing classic pitfalls of AI-driven data analysis, including hallucinated metrics or insecure database access.

Here is how the managed MCP server can deliver tangible business value:

  • Customized chat agents: Business users can securely chat with data directly from within their preferred AI assistant.

  • Dashboard Generation & Customization: Agents can programmatically generate and edit Looker dashboard tiles based on natural language commands.

  • Agentic Development & Semantic Modeling: Developers can integrate AI-assisted coding environments directly with Looker’s modeling layer to accelerate LookML development.

Get Started Today

Looker’s new fully managed MCP server is available for all Looker-hosted instances. Review our public documentation to learn more about how you can extend the power of Looker’s semantic layer to agents throughout your organization.

5 Likes

Hello - really excited about this release! I’m trying to setup the MCP on a Claude Code client and am experiencing auth issues.

Subject: MCP endpoint returns nginx 400 “plain HTTP request sent to HTTPS port” on EU-hosted instance


Instance: EU-hosted, Looker-managed

Feature: Looker-managed MCP server (Preview)

Client: Claude Code v2.1.160 (VS Code extension)


Issue

The /mcp endpoint returns HTTP 400 with the nginx error body "The plain HTTP request was sent to HTTPS port" for all HTTP clients. The MCP connection cannot be established.

Steps to reproduce

  1. Configure Claude Code with the following .mcp.json:
{
  "mcpServers": {
    "looker-toolbox": {
      "type": "http",
      "url": "https://*******.eu.looker.com/mcp",
      "oauth": {
        "clientId": "********",
        "callbackPort": 8080
      }
    }
  }
}

  1. Register an OAuth app via the API Explorer with redirect_uri: http://localhost:8080/callback

  2. Authenticate via Claude Code — OAuth flow completes successfully, token issued (TLSv1.3, valid for 3600s)

  3. Claude Code attempts POST https://*******.eu.looker.com/mcp with Bearer token → receives 400

Response received (all clients)

HTTP/1.1 400 Bad Request
Server: nginx/1.29.6

<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body><center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx/1.29.6</center></body>
</html>

Diagnostics performed

  • TLS to port 443 negotiates successfully (TLSv1.3, cipher TLS_AES_256_GCM_SHA384) — confirmed via Node.js tls.connect

  • Same 400 response on port 19999

  • Same 400 response from Node.js, .NET (PowerShell WebClient), and curl — this is not client-specific

  • OAuth endpoints work correctly over HTTPS — the error is specific to /mcp

  • MCP admin panel shows 26/41 tools enabled

Assessment

TLS from the client to the nginx front-end is functioning correctly. The error indicates that nginx’s proxy_pass routing for the /mcp location is forwarding to a backend that expects HTTPS but is receiving plain HTTP — or the /mcp location is not configured in the SSL server block. This appears to be a server-side nginx misconfiguration specific to the EU-hosted instance.

Expected behaviour: POST /mcp with a valid Bearer token returns a JSON-RPC initialize response.

4 Likes

Hi Grant, thank you for the detailed analysis and explanation.

Our engineering team is investigating this now, and we’ll report back when we have more info. Thanks again!

2 Likes

I am also experiencing the same thing, we are trying to implement this today and keep getting:
⎿ Got new credentials, but looker-toolbox rejected them on reconnect. Try

 re-authenticating, or restart Claude Code if it persists.
2 Likes

We’re also facing same issue

1 Like

Hi everyone,

We’ve identified a networking issue causing the /mcp path to fail for certain Looker instances.

If you experience this issue, please send us an email at looker-mcp-support-external@google.com with your instance URL.

Thank you,

Victor

4 Likes

This is great but on Claude Desktop we are facing the current issue:

Your account was authorized, but Looker MCP returned an error when connecting. You can try again, or check that the server is working. If this persists, share this reference with support:

we use Looker cloud, I tried everything to no avail. Any hints of what I could check?

1 Like

I shared an email with our instance in case you guys can take a look. ty!

1 Like