Connectors · Observability & analytics
Looker MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Looker and the rest of your systems. It gives your agent 488 Looker actions (240 reads, 178 writes and 70 that wait for a confirmation) and holds the Looker credential itself, so the agent never does. It paces Looker's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "google_looker.all_users", intent: "check which Looker account is connected"}# Get All Users · read · 1 upstream call- 488actionsin one signed file
- 240readlook, never change
- 178writecreate and update
- 70wait for a yesdestructive, confirmed first
Set up
Connect Looker in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Looker.
Session login. actionlake opens the session and renews it when it expires. actionlake stores what you paste write-only, sealed under your tenant's key.
client_idLooker API key client ID (Admin > Users > Edit user > API keys)client_secretLooker API key client secret, shown once when the API key is createdhostWhere your Looker lives: your host
account { op: "connections.requirements", service: "google_looker" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "google_looker.all_users" }# get all users · read · 1 upstream callcheck { action: "google_looker.create_user", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Looker at a glance
- Sign-in
- Session login. actionlake opens the session and renews it when it expires.
- You provide
client_idclient_secret- Setup fields
host- Limits we pace to
- 300 calls a minute, per connection
- API covered
- Looker API 4.0 (4.0.26.20, OpenAPI from github.com/looker-open-source/sdk-codegen), at your Looker instance's API base URL, which you enter when connecting (path /api/4.0)
- Built from
- Looker's documentation, read 23 October 2026OpenAPI spec (GitHub)cloud.google.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 212 of 240 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 2, so ask can line Looker up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Looker.
488 actions in 36 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 240readlook, never change
- 178writecreate and update
- 70destructivewait for a confirmation
Auth
5116 read · 25 write · 10 destructive
Create Acquire cookieless embed session · Add Support Access Allowlist Users · Get All OAuth Client Apps · Get All User Login Lockouts
Users
5022 read · 13 write · 15 destructive
Get All Users · Create User · Get User by Id · Update User
Projects
4320 read · 19 write · 4 destructive
Get All Git Branches · Get All Git Connection Tests · Get All LookML Tests · Get All Project Files
Dashboards
3816 read · 18 write · 4 destructive
Get All Dashboards · Copy Dashboard · Create Dashboard · Create DashboardElement
Connections
3012 read · 12 write · 6 destructive
Get All Connections · Get All Dialect Infos · Get All External OAuth Applications · Get All SSH Servers
Config
2716 read · 11 write · 0 destructive
Get All Legacy Features · Get All Locales · Get All Timezones · Deliver digest email contents
Roles
2413 read · 6 write · 5 destructive
Get All Roles · Create Role · Get Role · Update Role
Conversational analytics
218 read · 9 write · 4 destructive
Get All Conversation Messages · Chat · Create Agent · Create Conversation
28 more areas · 204 actions
- Queries 17
- Boards 16
- Groups 16
- Content 15
- Themes 13
- Folders 12
- Integrations 12
- Scheduled plans 12
- Alerts 11
- Color collections 10
- Looks 10
- Metadata 9
- Artifacts 8
- User attributes 7
- Lookml models 6
- Derived tables 5
- Render tasks 5
- Datagroups 3
- Self service 3
- SQL interface queries 3
- Data actions 2
- Session 2
- Workspaces 2
- API auth 1
- Data uploads 1
- Homepage 1
- Key driver analysis 1
- Reports 1
Top actions
The Looker API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 22 of Looker's 22 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
google_looker.all_usersGet All Users | Get All Users. | read | identity.user.list474 connectors |
google_looker.all_groupsGet All Groups | Get All Groups. | read | identity.group.list262 connectors |
google_looker.create_userCreate User | Create User. | write | identity.user.create262 connectors |
google_looker.create_groupCreate Group | Create Group. | write | identity.group.create205 connectors |
google_looker.delete_userDelete User | Delete User. | destructive | identity.user.delete253 connectors |
google_looker.all_rolesGet All Roles | Get All Roles. | read | identity.role.list184 connectors |
google_looker.meGet Current User | Get Current User. | read | identity.current_user.get307 connectors |
google_looker.create_roleCreate Role | Create Role. | write | identity.role.create105 connectors |
google_looker.all_group_usersGet All Users in Group | Get All Users in Group. | read | identity.group_member.list103 connectors |
google_looker.create_service_accountCreate Service Account | Create Service Account. | write | identity.service_account.create32 connectors |
google_looker.add_group_userAdd a User to Group | Add a User to Group. | write | identity.group_member.add72 connectors |
google_looker.run_lookRun Look | Run Look. | read | this connector |
Try it
Prompts to paste into Claude.
Each one names the Looker actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Who has access in Looker? List every user and their role.
calls
google_looker.all_users - Writewrite
Create User in Looker. Show me exactly what you will send before you save it.
calls
google_looker.create_user
Governance for Looker
Destructive actions wait for a yes.
70 Looker actions are destructive. The first 10:
- Delete User
google_looker.delete_user - Delete Group
google_looker.delete_group - Delete Role
google_looker.delete_role - Remove a User from Group
google_looker.delete_group_user - Kill Running Query
google_looker.kill_query - Delete Look
google_looker.delete_look - Delete an alert
google_looker.delete_alert - Delete Folder
google_looker.delete_folder - Update Role Users
google_looker.set_role_users - Set User Roles
google_looker.set_user_roles
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete User?
intent: the user asked me to delete User
account { op: "keys.create", name: "google-looker-agent", allowed_actions: ["google_looker.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "google_looker.delete_user", approver: "[email protected]" }, { match: "google_looker.delete_group", approver: "[email protected]" }, { match: "google_looker.delete_role", approver: "[email protected]" } ]}Cost
What Looker costs on actionlake.
Every Looker action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Looker refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 488 Looker actions
- 488actions pageeach page of a long list is one call
- 212reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Looker action.
488 actions by area: the id your agent calls, what it does, and its effect.
Auth51
google_looker.acquire_embed_cookieless_sessionCreate Acquire cookieless embed sessionwritegoogle_looker.add_support_access_allowlist_entriesAdd Support Access Allowlist Userswritegoogle_looker.all_oauth_client_appsGet All OAuth Client Appsreadgoogle_looker.all_user_login_lockoutsGet All User Login Lockoutsreadgoogle_looker.activate_app_userActivate OAuth App Userwritegoogle_looker.create_embed_secretCreate Embed Secretwrite- and 45 more in this area
Users50
google_looker.all_usersGet All Usersreadgoogle_looker.create_userCreate Userwritegoogle_looker.update_userUpdate Userwritegoogle_looker.userGet User by Idreadgoogle_looker.all_user_credentials_api3sGet All API Credentialsreadgoogle_looker.all_user_credentials_embedsGet All Embedding Credentialsread- and 44 more in this area
Projects43
google_looker.all_git_branchesGet All Git Branchesreadgoogle_looker.all_git_connection_testsGet All Git Connection Testsreadgoogle_looker.all_lookml_testsGet All LookML Testsreadgoogle_looker.all_project_filesGet All Project Filesreadgoogle_looker.all_projectsGet All Projectsreadgoogle_looker.async_deploy_ref_to_productionAsynchronously Deploy Remote Branch or Ref to Productionwrite- and 37 more in this area
Dashboards38
google_looker.all_dashboardsGet All Dashboardsreadgoogle_looker.copy_dashboardCopy Dashboardwritegoogle_looker.create_dashboardCreate Dashboardwritegoogle_looker.create_dashboard_elementCreate DashboardElementwritegoogle_looker.create_dashboard_filterCreate Dashboard Filterwritegoogle_looker.create_dashboard_filter_stateCreate Dashboard Filter Statewrite- and 32 more in this area
Connections30
google_looker.all_connectionsGet All Connectionsreadgoogle_looker.all_dialect_infosGet All Dialect Infosreadgoogle_looker.all_external_oauth_applicationsGet All External OAuth Applicationsreadgoogle_looker.all_ssh_serversGet All SSH Serversreadgoogle_looker.all_ssh_tunnelsGet All SSH Tunnelsreadgoogle_looker.all_user_db_connectionsGet All User DB Connectionsread- and 24 more in this area
Config27
google_looker.all_legacy_featuresGet All Legacy Featuresreadgoogle_looker.all_localesGet All Localesreadgoogle_looker.all_timezonesGet All Timezonesreadgoogle_looker.create_digest_email_sendDeliver digest email contentswritegoogle_looker.api_specGet an API specificationreadgoogle_looker.cloud_storage_configurationGet Cloud Storageread- and 21 more in this area
Roles24
google_looker.all_rolesGet All Rolesreadgoogle_looker.create_roleCreate Rolewritegoogle_looker.roleGet Rolereadgoogle_looker.update_roleUpdate Rolewritegoogle_looker.all_model_setsGet All Model Setsreadgoogle_looker.all_permission_setsGet All Permission Setsread- and 18 more in this area
Conversational analytics21
google_looker.all_conversation_messagesGet All Conversation Messagesreadgoogle_looker.conversational_analytics_chatChatwritegoogle_looker.create_agentCreate Agentwritegoogle_looker.create_conversationCreate Conversationwritegoogle_looker.agent_lookmlGet LookML of a UDD Agentreadgoogle_looker.create_conversation_messageCreate Conversation Messagewrite- and 15 more in this area
Queries17
google_looker.all_running_queriesGet All Running Queriesreadgoogle_looker.create_merge_queryCreate Merge Querywritegoogle_looker.create_queryCreate Querywritegoogle_looker.create_query_taskRun Query Asyncwritegoogle_looker.create_sql_queryCreate SQL Runner Querywritegoogle_looker.kill_queryKill Running Querydestructive- and 11 more in this area
Boards16
google_looker.all_board_itemsGet All Board Itemsreadgoogle_looker.all_board_sectionsGet All Board sectionsreadgoogle_looker.all_boardsGet All Boardsreadgoogle_looker.create_boardCreate Boardwritegoogle_looker.boardGet Boardreadgoogle_looker.board_itemGet Board Itemread- and 10 more in this area
Groups16
google_looker.all_groupsGet All Groupsreadgoogle_looker.create_groupCreate Groupwritegoogle_looker.groupGet Groupreadgoogle_looker.update_groupUpdate Groupwritegoogle_looker.add_group_groupAdd a Group to Groupwritegoogle_looker.add_group_userAdd a User to Groupwrite- and 10 more in this area
Content15
google_looker.all_content_metadata_accessesGet All Content Metadata Accessesreadgoogle_looker.all_content_metadatasGet All Content Metadatasreadgoogle_looker.content_summarySearch Content Summariesreadgoogle_looker.create_content_favoriteCreate Favorite Contentwritegoogle_looker.content_favoriteGet Favorite Contentreadgoogle_looker.content_metadataGet Content Metadataread- and 9 more in this area
Themes13
google_looker.active_themesGet Active Themesreadgoogle_looker.all_themesGet All Themesreadgoogle_looker.create_themeCreate Themewritegoogle_looker.search_themesSearch Themesreadgoogle_looker.default_themeGet Default Themereadgoogle_looker.default_theme_by_typeGet Default Theme (with type)read- and 7 more in this area
Folders12
google_looker.all_foldersGet All Foldersreadgoogle_looker.create_folderCreate Folderwritegoogle_looker.folder_ancestorsGet Folder Ancestorsreadgoogle_looker.folder_childrenGet Folder Childrenreadgoogle_looker.delete_folderDelete Folderdestructivegoogle_looker.folderGet Folderread- and 6 more in this area
Integrations12
google_looker.all_integration_hubsGet All Integration Hubsreadgoogle_looker.all_integrationsGet All Integrationsreadgoogle_looker.create_integration_hubCreate Integration Hubwritegoogle_looker.fetch_integration_formFetch Remote Integration Formreadgoogle_looker.accept_integration_hub_legal_agreementAccept Integration Hub Legal Agreementwritegoogle_looker.delete_integration_hubDelete Integration Hubdestructive- and 6 more in this area
Scheduled plans12
google_looker.all_scheduled_plansGet All Scheduled Plansreadgoogle_looker.create_scheduled_planCreate Scheduled Planwritegoogle_looker.scheduled_plan_run_onceRun Scheduled Plan Oncewritegoogle_looker.scheduled_plan_run_once_by_idRun Scheduled Plan Once by Idwritegoogle_looker.delete_scheduled_planDelete Scheduled Plandestructivegoogle_looker.scheduled_planGet Scheduled Planread- and 6 more in this area
Alerts11
google_looker.alert_notificationsAlert Notificationsreadgoogle_looker.create_alertCreate an alertwritegoogle_looker.enqueue_alertEnqueue an alertwritegoogle_looker.search_alertsSearch Alertsreadgoogle_looker.delete_alertDelete an alertdestructivegoogle_looker.follow_alertFollow an alertwrite- and 5 more in this area
Color collections10
google_looker.all_color_collectionsGet all Color Collectionsreadgoogle_looker.color_collections_customGet all Custom Color Collectionsreadgoogle_looker.color_collections_standardGet all Standard Color Collectionsreadgoogle_looker.create_color_collectionCreate ColorCollectionwritegoogle_looker.color_collectionGet Color Collection by IDreadgoogle_looker.color_collections_activeGet Active Color Collectionsread- and 4 more in this area
Looks10
google_looker.all_looksGet All Looksreadgoogle_looker.copy_lookCopy Lookwritegoogle_looker.create_lookCreate Lookwritegoogle_looker.run_lookRun Lookreadgoogle_looker.delete_lookDelete Lookdestructivegoogle_looker.lookGet Lookread- and 4 more in this area
Metadata9
google_looker.connection_columnsGet columns for a connectionreadgoogle_looker.connection_cost_estimateEstimate costs for a connectionreadgoogle_looker.connection_databasesList accessible databases to this connectionreadgoogle_looker.connection_schemasGet schemas for a connectionreadgoogle_looker.connection_featuresMetadata features supported by this connectionreadgoogle_looker.connection_search_columnsSearch a connection for columnsread- and 3 more in this area
Artifacts8
google_looker.artifactGet one or more artifactsreadgoogle_looker.artifact_namespacesGet namespaces and countsreadgoogle_looker.artifact_usageArtifact store usagereadgoogle_looker.search_artifactsSearch artifactsreadgoogle_looker.artifact_valueGet an artifact valuereadgoogle_looker.delete_artifactDelete one or more artifactsdestructive- and 2 more in this area
User attributes7
google_looker.all_user_attribute_group_valuesGet User Attribute Group Valuesreadgoogle_looker.all_user_attributesGet All User Attributesreadgoogle_looker.create_user_attributeCreate User Attributewritegoogle_looker.set_user_attribute_group_valuesSet User Attribute Group Valueswritegoogle_looker.delete_user_attributeDelete User Attributedestructivegoogle_looker.update_user_attributeUpdate User Attributewrite- and 1 more in this area
Lookml models6
google_looker.all_lookml_modelsGet All LookML Modelsreadgoogle_looker.create_lookml_modelCreate LookML Modelwritegoogle_looker.lookml_modelGet LookML Modelreadgoogle_looker.lookml_model_exploreGet LookML Model Explorereadgoogle_looker.delete_lookml_modelDelete LookML Modeldestructivegoogle_looker.update_lookml_modelUpdate LookML Modelwrite
Derived tables5
google_looker.check_pdt_buildCheck status of a PDT materializationreadgoogle_looker.graph_derived_tables_for_modelGet Derived Table graph for modelreadgoogle_looker.graph_derived_tables_for_viewGet subgraph of derived table and dependenciesreadgoogle_looker.start_pdt_buildStart a PDT materializationreadgoogle_looker.stop_pdt_buildStop a PDT materializationread
Render tasks5
google_looker.create_dashboard_element_render_taskCreate Dashboard Element Render Taskwritegoogle_looker.create_dashboard_render_taskCreate Dashboard Render Taskwritegoogle_looker.create_look_render_taskCreate Look Render Taskwritegoogle_looker.create_query_render_taskCreate Query Render Taskwritegoogle_looker.render_taskGet Render Taskread
Datagroups3
google_looker.all_datagroupsGet All Datagroupsreadgoogle_looker.datagroupGet Datagroupreadgoogle_looker.update_datagroupUpdate Datagroupwrite
Self service3
google_looker.get_self_service_model_allowed_connectionsGet self service allowed connectionsreadgoogle_looker.get_self_service_model_lookmlGet Self Service LookMLreadgoogle_looker.update_self_service_explore_certificationUpdate certification for a Self Service Explorewrite
SQL interface queries3
google_looker.create_sql_interface_queryCreate SQL Interface Querywritegoogle_looker.run_sql_interface_queryRun SQL Interface Queryreadgoogle_looker.sql_interface_metadataGet SQL Interface Query Metadataread
Data actions2
google_looker.fetch_remote_data_action_formFetch Remote Data Action Formreadgoogle_looker.perform_data_actionSend a Data Actionwrite
Session2
google_looker.sessionGet Authreadgoogle_looker.update_sessionUpdate Authwrite
Workspaces2
google_looker.all_workspacesGet All Workspacesreadgoogle_looker.workspaceGet Workspaceread
API auth1
google_looker.login_userLogin userwrite
Data uploads1
google_looker.upload_dataUpload self serve model datawrite
Homepage1
google_looker.all_primary_homepage_sectionsGet All Primary homepage sectionsread
Key driver analysis1
google_looker.run_key_driver_analysisAnalyze Key Driversread
Reports1
google_looker.search_reportsSearch Reportsread
This index shows a sample of each area. All 488 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Looker MCP server, answered.
Is there a Looker MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 488 Looker actions across auth, users, projects and dashboards, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Looker.
What do I need to connect Looker?
Looker API key client ID (Admin > Users > Edit user > API keys) and Looker API key client secret, shown once when the API key is created. Plus your host. The free call account { op: "connections.requirements", service: "google_looker" } lists exactly what to paste.
Can an AI agent delete or change things in Looker?
Only if its key allows it, and only with an explicit confirmation. 70 Looker actions are destructive, including delete User, delete Group and delete Role. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Looker API limit?
actionlake paces every call to the limits in the Looker service file: 300 calls a minute per connection. Repeated reads are answered from cache (212 Looker actions can be), which never reaches Looker.
What does a Looker action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (488 Looker actions page). Cache hits, searches, dry runs and calls Looker refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Looker API does it cover?
The Looker API 4.0 (4.0.26.20, OpenAPI from github.com/looker-open-source/sdk-codegen) at your Looker instance's API base URL, which you enter when connecting (path /api/4.0). It is built from Looker's documentation as read on 23 October 2026. 488 actions in 36 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Looker data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Looker credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Looker today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.