Tableau Integration
Manage Tableau list sites, list workbooks, get workbook, list views, list datasources
The Tableau integration provides access to manage Tableau list sites, list workbooks, get workbook, list views, list datasources through the Integrate MCP server.
Installation
The Tableau integration is included with the SDK:
import { tableauIntegration } from "integrate-sdk/server";Setup
1. Create a Tableau OAuth App
- Create an OAuth application for Tableau
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the Tableau integration to your server configuration. The integration automatically reads TABLEAU_CLIENT_ID and TABLEAU_CLIENT_SECRET from your environment variables:
import { createMCPServer, tableauIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
tableauIntegration({
scopes: ["tableau:content:read", "tableau:content:write", "tableau:users:read"], // Optional
}),
],
});You can override the environment variables by passing explicit values:
tableauIntegration({
clientId: process.env.CUSTOM_TABLEAU_ID,
clientSecret: process.env.CUSTOM_TABLEAU_SECRET,
scopes: ["tableau:content:read", "tableau:content:write", "tableau:users:read"], // Optional
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("tableau");
const result = await client.tableau.listSites({
tableau_base_url: "value",
});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, tableauIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [tableauIntegration()],
});Configuration Options
export interface TableauIntegrationConfig {
clientId?: string;
Default Scopes
These defaults are applied unless you override scopes in the integration config:
tableau:content:readtableau:content:writetableau:users:read
Tools
tableau_list_sites
List sites
export interface TableauListSitesParams { tableau_base_url: string }
tableau_list_workbooks
List workbooks
export interface TableauListWorkbooksParams { site_id: string;
tableau_get_workbook
Get workbook
export interface TableauGetWorkbookParams { site_id: string;
tableau_list_views
List views
export interface TableauListViewsParams { site_id: string;
tableau_list_datasources
List datasources
export interface TableauListDatasourcesParams { site_id: string;
tableau_run_query_view_data
Run query view data
export interface TableauRunQueryViewDataParams { site_id: string;
Notes
- Category: Data & BI
- Authentication mode: OAuth