---
title: "Tableau MCP server for AI agents - actionlake"
description: "Give Claude 521 Tableau actions through one MCP server: metadata, permissions, pulse. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/tableau
updated: 2026-10-22
---

Connectors · Observability & analytics

# Tableau MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Tableau and the rest of your systems. It gives your agent 521 Tableau actions (200 reads, 187 writes and 134 that wait for a confirmation) and holds the Tableau credential itself, so the agent never does. It paces Tableau's limits and records every call.

[Connect Tableau free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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/mcp`

the first call

```
do {
  action: "tableau_cloud.users.get_users_on_site",
  intent: "check which Tableau account is connected"
}
# Get Users on Site · read · 1 upstream call
```

- 521 actions in one signed file
- 200 read look, never change
- 187 write create and update
- 134 wait for a yes destructive, confirmed first

Set up

## Connect Tableau in three steps.

1. 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`
2. 02
   ### Connect Tableau.
   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.
   - `pat_name` Personal access token name
   - `pat_secret` Personal access token secret
   - `site_content_url` Site content URL (the name after /site/ in the Tableau Cloud URL; leave empty for Tableau Server's default site)
   - `host` Where your Tableau lives: your host
   - `site_id` Where your Tableau lives: your site id
   ```
   account { op: "connections.requirements", service: "tableau_cloud" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "tableau_cloud.users.get_users_on_site" }
   # get users on site · read · 1 upstream call
   check { action: "tableau_cloud.users.add_user_to_site", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Tableau at a glance

**Sign-in**

Session login. actionlake opens the session and renews it when it expires.

**You provide**

`pat_name` `pat_secret` `site_content_url`

**Setup fields**

`host` `site_id`

**Limits we pace to**

600 calls a minute, per connection

**API covered**

Tableau REST API (reference fetched 2026-10-22, current API 3.29); each action is sent with the API version that introduced it, floor 3.16, at your Tableau instance's API base URL, which you enter when connecting

**Built from**

Tableau's documentation, read 22 October 2026[help.tableau.com](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref.htm) [help.tableau.com](https://help.tableau.com/current/api/rest_api/en-us/REST/TAG/index.html)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

193 of 200 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

8, so ask can line Tableau up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Tableau.

521 actions in 37 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **200** read look, never change
- **187** write create and update
- **134** destructive wait for a confirmation

1. ### Metadata
   70
   22 read · 24 write · 24 destructive
   Query Databases · Query Tables · Add Data Quality Warning · Add or Update Monitoring Quality Warning on Content
2. ### Permissions
   67
   14 read · 25 write · 28 destructive
   Add Ask Data Lens Permissions · Add Data Source Permissions · Add Default Permissions · Add Default Permissions
3. ### Pulse
   39
   26 read · 9 write · 4 destructive
   Batch create Pulse subscriptions · Batch get Pulse subscriber counts · Batch get Pulse subscriptions · Batch list metric definitions (few)
4. ### Workbooks
   31
   14 read · 11 write · 6 destructive
   Query Workbooks for Site · Get Workbook · Update Workbook · Delete Workbook
5. ### Flows
   27
   12 read · 11 write · 4 destructive
   Create Cloud Flow Task · Download Flow Encrypted Keychain · Get Flow Run Tasks · Get Linked Tasks
6. ### Bridge
   21
   6 read · 10 write · 5 destructive
   Add Domain to Pool · Add Projects to Routing Rule · Create Bridge Pool · Create Routing Rule
7. ### Data sources
   21
   7 read · 10 write · 4 destructive
   Query Data Sources · Query Data Source · Update Data Source · Delete Data Source
8. ### Virtual connections
   18
   6 read · 7 write · 5 destructive
   Create Cloud Extract Refresh Task · List Virtual Connection Database Connections · List Virtual Connection Revisions · List Virtual Connections

**29 more areas · 227 actions**

- Groups **16**
- Notifications **15**
- Collections **14**
- Identity pools **14**
- Users **14**
- Analytics extensions **13**
- Connected apps **13**
- Dashboard extensions **13**
- Knowledge graph **13**
- Sites **12**
- Extracts **9**
- Favorites **9**
- Schedules **9**
- Ask data lenses **5**
- Custom domains **5**
- Metrics **5**
- Recycle bin **5**
- Server **5**
- Subscriptions **5**
- Tasks **5**
- Content exploration **4**
- Extensions settings **4**
- Projects **4**
- Auth **3**
- Jobs **3**
- MCP settings **3**
- Mobile settings **3**
- Openid connect **3**
- Revisions **1**

Top actions

## The Tableau API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 29 of Tableau's 29 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `tableau_cloud.users.get_users_on_site` Get Users on Site | Get Users on Site. | read | `identity.user.list` 474 connectors |
| `tableau_cloud.groups.query_groups` Query Groups | Query Groups. | read | `identity.group.list` 262 connectors |
| `tableau_cloud.groups.get_users_in_group` Get Users in Group | Get Users in Group. | read | `identity.group_member.list` 103 connectors |
| `tableau_cloud.users.add_user_to_site` Add User to Site | Add User to Site. | write | `identity.user.create` 262 connectors |
| `tableau_cloud.groups.create_group` Create Group | Create Group. | write | `identity.group.create` 205 connectors |
| `tableau_cloud.users.remove_user_from_site` Remove User from Site | Remove User from Site. | destructive | `identity.user.delete` 253 connectors |
| `tableau_cloud.workbooks.query_workbooks_for_site` Query Workbooks for Site | Query Workbooks for Site. | read | `analytics.report.list` 37 connectors |
| `tableau_cloud.server.get_current_server_session` Get Current Server Session | Get Current Server Session. | read | `identity.current_user.get` 307 connectors |
| `tableau_cloud.data_sources.query_data_sources` Query Data Sources | Query Data Sources. | read | `analytics.dataset.list` 28 connectors |
| `tableau_cloud.workbooks.get_workbook` Get Workbook | Get Workbook. | read | `analytics.report.get` 39 connectors |
| `tableau_cloud.data_sources.query_data_source` Query Data Source | Query Data Source. | read | `analytics.dataset.get` 22 connectors |
| `tableau_cloud.notifications.create_a_webhook` Create a Webhook | Create a Webhook. | write | `automation.webhook.create` 209 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Tableau actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Give me a one-line status for every active Tableau project.
   calls `tableau_cloud.projects.query_projects`
2. Write write
   Add User to Site in Tableau. Show me exactly what you will send before you save it.
   calls `tableau_cloud.users.add_user_to_site`

Governance for Tableau

## Destructive actions wait for a yes.

134 Tableau actions are destructive. The first 10:

- Remove User from Site `tableau_cloud.users.remove_user_from_site`
- Delete Group `tableau_cloud.groups.delete_group`
- Delete Data Source `tableau_cloud.data_sources.delete_data_source`
- Delete Workbook `tableau_cloud.workbooks.delete_workbook`
- Delete a Webhook `tableau_cloud.notifications.delete_a_webhook`
- Delete Server Schedule `tableau_cloud.schedules.delete_server_schedule`
- Delete Flow `tableau_cloud.flows.delete_flow`
- Delete Site `tableau_cloud.sites.delete_site`
- Delete View `tableau_cloud.workbooks.delete_view`
- Delete Group Set `tableau_cloud.groups.delete_group_set`

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.

do tableau_cloud.users.remove_user_from_site confirm_policy: **human**

Remove User from Site?

**intent:** the user asked me to remove User from Site

run suspended · waiting for a named person · key _tableau-cloud-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "tableau-cloud-agent",
  allowed_actions: ["tableau_cloud.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "tableau_cloud.users.remove_user_from_site", approver: "lead@example.com" },
    { match: "tableau_cloud.groups.delete_group", approver: "lead@example.com" },
    { match: "tableau_cloud.data_sources.delete_data_source", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Tableau only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Tableau costs on actionlake.

Every Tableau action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Tableau 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.

- 1 upstream call per action all 521 Tableau actions
- 521 actions page each page of a long list is one call
- 193 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Tableau action.

521 actions by area: the id your agent calls, what it does, and its effect.

**Metadata 70**

- `tableau_cloud.metadata.add_data_quality_warning` Add Data Quality Warning write
- `tableau_cloud.metadata.add_or_update_monitoring_quality_warning_on_content` Add or Update Monitoring Quality Warning on Content write
- `tableau_cloud.metadata.query_databases` Query Databases read
- `tableau_cloud.metadata.query_tables` Query Tables read
- `tableau_cloud.metadata.add_database_permissions` Add Database Permissions write
- `tableau_cloud.metadata.add_default_database_permissions` Add Default Database Permissions write
- and 64 more in this area

**Permissions 67**

- `tableau_cloud.permissions.add_ask_data_lens_permissions` Add Ask Data Lens Permissions write
- `tableau_cloud.permissions.add_data_source_permissions` Add Data Source Permissions write
- `tableau_cloud.permissions.add_default_permissions_databases` Add Default Permissions write
- `tableau_cloud.permissions.add_default_permissions_dataroles` Add Default Permissions write
- `tableau_cloud.permissions.add_default_permissions_datasources` Add Default Permissions write
- `tableau_cloud.permissions.add_default_permissions_flows` Add Default Permissions write
- and 61 more in this area

**Pulse 39**

- `tableau_cloud.pulse.batch_create_pulse_subscriptions` Batch create Pulse subscriptions write
- `tableau_cloud.pulse.batch_get_pulse_subscriber_counts` Batch get Pulse subscriber counts read
- `tableau_cloud.pulse.batch_get_pulse_subscriptions` Batch get Pulse subscriptions read
- `tableau_cloud.pulse.batch_list_metric_definitions_few` Batch list metric definitions (few) read
- `tableau_cloud.pulse.batch_list_metric_definitions_many` Batch list metric definitions (many) read
- `tableau_cloud.pulse.batch_list_metrics_few` Batch list metrics (few) read
- and 33 more in this area

**Workbooks 31**

- `tableau_cloud.workbooks.delete_workbook` Delete Workbook destructive
- `tableau_cloud.workbooks.get_workbook` Get Workbook read
- `tableau_cloud.workbooks.query_workbooks_for_site` Query Workbooks for Site read
- `tableau_cloud.workbooks.update_workbook` Update Workbook write
- `tableau_cloud.workbooks.add_tags_to_view` Add Tags to View write
- `tableau_cloud.workbooks.add_tags_to_workbook` Add Tags to Workbook write
- and 25 more in this area

**Flows 27**

- `tableau_cloud.flows.create_cloud_flow_task` Create Cloud Flow Task write
- `tableau_cloud.flows.download_flow_encrypted_keychain` Download Flow Encrypted Keychain read
- `tableau_cloud.flows.get_flow_run_tasks` Get Flow Run Tasks read
- `tableau_cloud.flows.get_linked_tasks` Get Linked Tasks read
- `tableau_cloud.flows.add_flow_permissions` Add Flow Permissions write
- `tableau_cloud.flows.add_flow_task_to_server_schedule` Add Flow Task to Server Schedule write
- and 21 more in this area

**Bridge 21**

- `tableau_cloud.bridge.add_domain_to_pool` Add Domain to Pool write
- `tableau_cloud.bridge.add_projects_to_routing_rule` Add Projects to Routing Rule write
- `tableau_cloud.bridge.create_bridge_pool` Create Bridge Pool write
- `tableau_cloud.bridge.create_routing_rule` Create Routing Rule write
- `tableau_cloud.bridge.block_domain` Block Domain write
- `tableau_cloud.bridge.delete_bridge_client` Delete Bridge Client destructive
- and 15 more in this area

**Data sources 21**

- `tableau_cloud.data_sources.delete_data_source` Delete Data Source destructive
- `tableau_cloud.data_sources.query_data_source` Query Data Source read
- `tableau_cloud.data_sources.query_data_sources` Query Data Sources read
- `tableau_cloud.data_sources.update_data_source` Update Data Source write
- `tableau_cloud.data_sources.add_tags_to_data_source` Add Tags to Data Source write
- `tableau_cloud.data_sources.add_work_copy_elements` Add Work Copy Elements write
- and 15 more in this area

**Virtual connections 18**

- `tableau_cloud.virtual_connections.create_cloud_extract_refresh_task` Create Cloud Extract Refresh Task write
- `tableau_cloud.virtual_connections.list_virtual_connection_database_connections` List Virtual Connection Database Connections read
- `tableau_cloud.virtual_connections.list_virtual_connection_revisions` List Virtual Connection Revisions read
- `tableau_cloud.virtual_connections.list_virtual_connections` List Virtual Connections read
- `tableau_cloud.virtual_connections.add_tags_to_virtual_connection` Add Tags to Virtual Connection write
- `tableau_cloud.virtual_connections.add_virtual_connection_permissions` Add Virtual Connection Permissions write
- and 12 more in this area

**Groups 16**

- `tableau_cloud.groups.create_group` Create Group write
- `tableau_cloud.groups.get_users_in_group` Get Users in Group read
- `tableau_cloud.groups.query_groups` Query Groups read
- `tableau_cloud.groups.update_group` Update Group write
- `tableau_cloud.groups.add_group_to_group_set` Add Group to Group Set write
- `tableau_cloud.groups.add_user_to_group` Add User to Group write
- and 10 more in this area

**Notifications 15**

- `tableau_cloud.notifications.create_a_webhook` Create a Webhook write
- `tableau_cloud.notifications.get_a_webhook` Get a Webhook read
- `tableau_cloud.notifications.list_webhooks` List Webhooks read
- `tableau_cloud.notifications.update_a_webhook` Update a Webhook write
- `tableau_cloud.notifications.add_user_to_data_driven_alert` Add User to Data-Driven Alert write
- `tableau_cloud.notifications.create_data_driven_alert` Create Data Driven Alert write
- and 9 more in this area

**Collections 14**

- `tableau_cloud.collections.add_collection_permissions` Add Collection Permissions write
- `tableau_cloud.collections.add_items_to_a_collection` Add items to a collection write
- `tableau_cloud.collections.batch_update_collections` Batch update collections write
- `tableau_cloud.collections.create_a_collection` Create a collection write
- `tableau_cloud.collections.delete_collection` Delete collections destructive
- `tableau_cloud.collections.delete_collection_permission_groups` Delete Collection Permission destructive
- and 8 more in this area

**Identity pools 14**

- `tableau_cloud.identity_pools.add_user_to_identity_pool` Add User to Identity Pool write
- `tableau_cloud.identity_pools.configure_identity_store` Configure Identity Store write
- `tableau_cloud.identity_pools.create_authentication_configuration` Create Authentication Configuration write
- `tableau_cloud.identity_pools.create_identity_pool` Create Identity Pool write
- `tableau_cloud.identity_pools.delete_authentication_configuration` Delete Authentication Configuration destructive
- `tableau_cloud.identity_pools.delete_identity_pool` Delete Identity Pool destructive
- and 8 more in this area

**Users 14**

- `tableau_cloud.users.add_user_to_site` Add User to Site write
- `tableau_cloud.users.get_users_on_site` Get Users on Site read
- `tableau_cloud.users.query_user_on_site` Query User On Site read
- `tableau_cloud.users.update_user` Update User write
- `tableau_cloud.users.create_scim_configuration` Create SCIM Configuration write
- `tableau_cloud.users.create_scim_token` Create SCIM Token write
- and 8 more in this area

**Analytics extensions 13**

- `tableau_cloud.analytics_extensions.add_analytics_extension_connection_to_site` Add analytics extension connection to site write
- `tableau_cloud.analytics_extensions.enable_or_disable_analytics_extensions_on_server` Enable or disable analytics extensions on server write
- `tableau_cloud.analytics_extensions.list_analytics_extension_connections_of_workbook` List analytics extension connections of workbook read
- `tableau_cloud.analytics_extensions.list_analytics_extension_connections_on_site` List analytics extension connections on site read
- `tableau_cloud.analytics_extensions.delete_analytics_extension_connection_from_site` Delete analytics extension connection from site destructive
- `tableau_cloud.analytics_extensions.get_analytics_extension_details` Get analytics extension details read
- and 7 more in this area

**Connected apps 13**

- `tableau_cloud.connected_apps.create_connected_app` Create Connected App write
- `tableau_cloud.connected_apps.create_connected_app_secret` Create Connected App Secret write
- `tableau_cloud.connected_apps.list_connected_apps` List Connected Apps read
- `tableau_cloud.connected_apps.register_eas` Register EAS write
- `tableau_cloud.connected_apps.delete_connected_app` Delete Connected App destructive
- `tableau_cloud.connected_apps.delete_connected_app_secret` Delete Connected App Secret destructive
- and 7 more in this area

**Dashboard extensions 13**

- `tableau_cloud.dashboard_extensions.allow_dashboard_extension_on_site` Allow dashboard extension on site - Retired in API 3.21 write
- `tableau_cloud.dashboard_extensions.block_dashboard_extension_on_server` Block dashboard extension on server - Retired in API 3.21 write
- `tableau_cloud.dashboard_extensions.list_allowed_dashboard_extensions_on_site` List allowed dashboard extensions on site - Retired in API 3.21 read
- `tableau_cloud.dashboard_extensions.list_blocked_dashboard_extensions_on_server` List blocked dashboard extensions on server - Retired in API 3.21 read
- `tableau_cloud.dashboard_extensions.disallow_dashboard_extension_on_site` Disallow dashboard extension on site - Retired in API 3.21 destructive
- `tableau_cloud.dashboard_extensions.get_allowed_dashboard_extension_on_site` Get allowed dashboard extension on site - Retired in API 3.21 read
- and 7 more in this area

**Knowledge graph 13**

- `tableau_cloud.knowledge_graph.create_a_semantic_context` Create a semantic context write
- `tableau_cloud.knowledge_graph.get_graph_health_suggestions` Get graph-health suggestions read
- `tableau_cloud.knowledge_graph.get_the_downstream_impact_of_a_node` Get the downstream impact of a node read
- `tableau_cloud.knowledge_graph.list_edges_around_a_node` List edges around a node read
- `tableau_cloud.knowledge_graph.delete_a_semantic_context` Delete a semantic context destructive
- `tableau_cloud.knowledge_graph.get_a_node_by_id` Get a node by ID read
- and 7 more in this area

**Sites 12**

- `tableau_cloud.sites.create_site` Create Site write
- `tableau_cloud.sites.get_recently_viewed_for_site` Get Recently Viewed for Site read
- `tableau_cloud.sites.list_authentication_configurations_for_site` List Authentication Configurations for Site read
- `tableau_cloud.sites.query_sites` Query Sites read
- `tableau_cloud.sites.delete_site` Delete Site destructive
- `tableau_cloud.sites.delete_site_async` Delete Site destructive
- and 6 more in this area

**Extracts 9**

- `tableau_cloud.extracts.create_an_extract_for_a_data_source` Create an Extract for a Data Source write
- `tableau_cloud.extracts.create_extracts_for_embedded_data_sources_in_a_workbook` Create Extracts for Embedded Data Sources in a Workbook write
- `tableau_cloud.extracts.decrypt_extracts_in_a_site` Decrypt Extracts in a Site write
- `tableau_cloud.extracts.encrypt_extracts_in_a_site` Encrypt Extracts in a Site write
- `tableau_cloud.extracts.delete_extract_from_data_source` Delete Extract from Data Source destructive
- `tableau_cloud.extracts.delete_extract_refresh_task` Delete Extract Refresh Task destructive
- and 3 more in this area

**Favorites 9**

- `tableau_cloud.favorites.add_content_to_favorites` Add Content to Favorites write
- `tableau_cloud.favorites.delete_data_source_from_favorites` Delete Data Source from Favorites destructive
- `tableau_cloud.favorites.get_favorites_for_user` Get Favorites for User read
- `tableau_cloud.favorites.organize_favorites` Organize Favorites write
- `tableau_cloud.favorites.delete_flow_from_favorites` Delete Flow from Favorites destructive
- `tableau_cloud.favorites.delete_metric_from_favorites` Delete Metric from Favorites destructive
- and 3 more in this area

**Schedules 9**

- `tableau_cloud.schedules.create_server_schedule` Create Server Schedule write
- `tableau_cloud.schedules.get_server_schedule` Get Server Schedule read
- `tableau_cloud.schedules.list_server_schedules` List Server Schedules read
- `tableau_cloud.schedules.update_server_schedule` Update Server Schedule write
- `tableau_cloud.schedules.add_data_source_to_server_schedule` Add Data Source to Server Schedule write
- `tableau_cloud.schedules.add_workbook_to_server_schedule` Add Workbook to Server Schedule write
- and 3 more in this area

**Ask data lenses 5**

- `tableau_cloud.ask_data_lenses.create_ask_data_lens` Create ask data lens - Retired in API 3.22 write
- `tableau_cloud.ask_data_lenses.get_ask_data_lens` Get ask data lens - Retired in API 3.22 read
- `tableau_cloud.ask_data_lenses.import_ask_data_lens` Import ask data lens - Retired in API 3.22 write
- `tableau_cloud.ask_data_lenses.list_ask_data_lenses_in_site` List ask data lenses in site - Retired in API 3.22 read
- `tableau_cloud.ask_data_lenses.delete_ask_data_lens` Delete ask data lens - Retired in API 3.22 destructive

**Custom domains 5**

- `tableau_cloud.custom_domains.create_custom_domain_settings` Create custom domain settings write
- `tableau_cloud.custom_domains.get_custom_domain_name` Get Custom Domain Name read
- `tableau_cloud.custom_domains.get_custom_domain_settings` Get custom domain settings read
- `tableau_cloud.custom_domains.update_custom_domain_settings` Update custom domain settings write
- `tableau_cloud.custom_domains.delete_custom_domain_settings` Delete custom domain settings destructive

**Metrics 5**

- `tableau_cloud.metrics.get_metric` Get Metric read
- `tableau_cloud.metrics.get_metric_data` Get Metric Data read
- `tableau_cloud.metrics.list_metrics_for_site` List Metrics for Site read
- `tableau_cloud.metrics.update_metric` Update Metric write
- `tableau_cloud.metrics.delete_metric` Delete Metric destructive

**Recycle bin 5**

- `tableau_cloud.recycle_bin.delete_all_recycle_bin_contents` Delete All Recycle Bin Contents destructive
- `tableau_cloud.recycle_bin.get_recycle_bin_content_item` Get Recycle Bin Content Item read
- `tableau_cloud.recycle_bin.list_recycle_bin_content_by_type` List Recycle Bin Content by Type read
- `tableau_cloud.recycle_bin.restore_recycle_bin_content_item` Restore Recycle Bin Content Item write
- `tableau_cloud.recycle_bin.delete_recycle_bin_content_item` Delete Recycle Bin Content Item destructive

**Server 5**

- `tableau_cloud.server.get_current_server_session` Get Current Server Session read
- `tableau_cloud.server.list_server_active_directory_domains` List Server Active Directory Domains read
- `tableau_cloud.server.server_info` Server Info read
- `tableau_cloud.server.update_server_active_directory_domain` Update Server Active Directory Domain write
- `tableau_cloud.server.delete_server_session` Delete Server Session destructive

**Subscriptions 5**

- `tableau_cloud.subscriptions.create_subscription` Create Subscription write
- `tableau_cloud.subscriptions.get_subscription` Get Subscription read
- `tableau_cloud.subscriptions.list_subscriptions` List Subscriptions read
- `tableau_cloud.subscriptions.update_subscription` Update Subscription write
- `tableau_cloud.subscriptions.delete_subscription` Delete Subscription destructive

**Tasks 5**

- `tableau_cloud.tasks.get_data_acceleration_tasks_in_a_site` Get Data Acceleration Tasks in a Site read
- `tableau_cloud.tasks.get_extract_refresh_task` Get Extract Refresh Task read
- `tableau_cloud.tasks.list_extract_refresh_tasks_in_site` List Extract Refresh Tasks in Site read
- `tableau_cloud.tasks.run_extract_refresh_task` Run Extract Refresh Task write
- `tableau_cloud.tasks.delete_data_acceleration_task` Delete Data Acceleration Task destructive

**Content exploration 4**

- `tableau_cloud.content_exploration.get_batch_content_usage_statistics` Get batch content usage statistics read
- `tableau_cloud.content_exploration.get_content_search_results` Get content search results read
- `tableau_cloud.content_exploration.get_content_suggestions` Get Content Suggestions read
- `tableau_cloud.content_exploration.get_usage_statistics_for_content_item` Get usage statistics for content item read

**Extensions settings 4**

- `tableau_cloud.extensions_settings.list_tableau_extensions_server_settings` List Tableau extensions server settings read
- `tableau_cloud.extensions_settings.list_tableau_extensions_site_settings` List Tableau extensions site settings read
- `tableau_cloud.extensions_settings.update_tableau_extensions_server_settings` Update Tableau extensions server settings write
- `tableau_cloud.extensions_settings.update_tableau_extensions_site_settings` Update Tableau extensions site settings write

**Projects 4**

- `tableau_cloud.projects.create_project` Create Project write
- `tableau_cloud.projects.delete_project` Delete Project destructive
- `tableau_cloud.projects.query_projects` Query Projects read
- `tableau_cloud.projects.update_project` Update Project write

**Auth 3**

- `tableau_cloud.auth.list_personal_access_tokens` List Personal Access Tokens read
- `tableau_cloud.auth.revoke_administrator_personal_access_tokens` Revoke Administrator Personal Access Tokens destructive
- `tableau_cloud.auth.revoke_personal_access_token` Revoke Personal Access Token destructive

**Jobs 3**

- `tableau_cloud.jobs.cancel_job` Cancel Job destructive
- `tableau_cloud.jobs.query_job` Query Job read
- `tableau_cloud.jobs.query_jobs` Query Jobs read

**MCP settings 3**

- `tableau_cloud.mcp_settings.create_tableau_mcp_settings_for_site` Create Tableau MCP Settings for Site write
- `tableau_cloud.mcp_settings.get_tableau_mcp_settings_for_site` Get Tableau MCP Settings for Site read
- `tableau_cloud.mcp_settings.update_tableau_mcp_settings_for_site` Update Tableau MCP Settings for Site write

**Mobile settings 3**

- `tableau_cloud.mobile_settings.get_mobile_security_settings_for_server` Get Mobile Security Settings for Server read
- `tableau_cloud.mobile_settings.get_mobile_security_settings_for_site` Get Mobile Security Settings for Site read
- `tableau_cloud.mobile_settings.update_mobile_security_settings_for_site` Update Mobile Security Settings for Site write

**Openid connect 3**

- `tableau_cloud.openid_connect.create_or_update_open_id_connect_configuration` Create or Update OpenID Connect Configuration write
- `tableau_cloud.openid_connect.get_open_id_connect_configuration` Get OpenID Connect Configuration read
- `tableau_cloud.openid_connect.remove_open_id_connect_configuration` Remove OpenID Connect Configuration destructive

**Revisions 1**

- `tableau_cloud.revisions.remove_workbook_revision` Remove Workbook Revision destructive

This index shows a sample of each area. All 521 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The Tableau MCP server, answered.

**Is there a Tableau MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 521 Tableau actions across metadata, permissions, pulse and workbooks, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Tableau.

**What do I need to connect Tableau?**

Personal access token name, Personal access token secret and Site content URL (the name after /site/ in the Tableau Cloud URL; leave empty for Tableau Server's default site). Plus your host and your site id. The free call account { op: "connections.requirements", service: "tableau_cloud" } lists exactly what to paste.

**Can an AI agent delete or change things in Tableau?**

Only if its key allows it, and only with an explicit confirmation. 134 Tableau actions are destructive, including remove User from Site, delete Group and delete Data Source. 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 Tableau API limit?**

actionlake paces every call to the limits in the Tableau service file: 600 calls a minute per connection. Repeated reads are answered from cache (193 Tableau actions can be), which never reaches Tableau.

**What does a Tableau action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (521 Tableau actions page). Cache hits, searches, dry runs and calls Tableau 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 Tableau API does it cover?**

The Tableau REST API (reference fetched 2026-10-22, current API 3.29); each action is sent with the API version that introduced it, floor 3.16 at your Tableau instance's API base URL, which you enter when connecting. It is built from Tableau's documentation as read on 22 October 2026. 521 actions in 37 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Tableau 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 Tableau 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.

## More connectors like Tableau

Shares the most action names with

- [Domo 18](https://actionlake.com/connectors/domo)
- [Sigma Computing 15](https://actionlake.com/connectors/sigma-computing)
- [Looker 11](https://actionlake.com/connectors/looker)
- [Databricks 10](https://actionlake.com/connectors/databricks)
- [Databox 10](https://actionlake.com/connectors/databox)
- [Qlik Cloud 10](https://actionlake.com/connectors/qlik-cloud)

Joins with, on shared entities

- [Appwrite Cloud 5](https://actionlake.com/connectors/appwrite-cloud)
- [Lark Suite 4](https://actionlake.com/connectors/lark-suite)
- [Starburst Galaxy 4](https://actionlake.com/connectors/starburst-galaxy)
- [Miro 4](https://actionlake.com/connectors/miro)
- [Braintrust 4](https://actionlake.com/connectors/braintrust)
- [Airtable 4](https://actionlake.com/connectors/airtable)

Browse

- [All Observability & analytics connectors](https://actionlake.com/connectors/category/observability-and-analytics)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Tableau; the name is the vendor's own. Counts are from the Tableau service file, version 1.0.0.

## Give your agent Tableau today.

[Connect Tableau free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/tableau
More: https://actionlake.com/llms.txt
