How tableau/tableau-mcp works
Tableau MCP exposes Tableau operations to AI clients through MCP servers, with hosted/self-hosted web and local Desktop variants. The principal web workflow is client request → MCP tool execution → authenticated Tableau API access → returned data or content. Major capabilities include datasource querying, content exploration, views, administration, Knowledge, Pulse, flows, workbooks, and user/content management. Desktop mode instead discovers a local Tableau instance and executes workbook tools through its Agent API. Edges are limited to README statements and shown source/index references; several domain tool implementations and server registrations were not sampled.
Main entry points: restApiInstance.ts REST API instance · server.web.ts Web server · sessionManager.ts Desktop sessions · queryDatasource.ts Datasource queries
Components 26
MCP entrypoints
- Web server
src/server.web.ts - MCP server core
src/server.ts - Tool runtime
src/tools/web/tool.ts - Prompt primitives
src/prompts/index.ts - Desktop server
src/server.desktop.ts
Tableau web tools
- Datasource queries
src/tools/web/queryDatasource/queryDatasource.ts - Content exploration
src/tools/web/contentExploration/searchContent.ts - Views and data
src/tools/web/views/getViewData.ts - Knowledge context
src/tools/web/knowledge/queryKnowledgeContext.ts - Admin insights
src/tools/web/adminInsights/queryAdminInsights.ts - Pulse insights
src/tools/web/pulse/insights/runInsightBundle.ts - Flow operations
src/tools/web/flows/runFlow/runFlow.ts - Workbook operations
src/tools/web/workbooks/getWorkbook.ts - User management
src/tools/web/users/listUsers.ts
Tableau access
- REST API instance
src/restApiInstance.ts - Tableau REST SDK
src/sdks/tableau/restApi.ts - VizQL data API
src/sdks/tableau/apis/vizqlDataServiceApi.ts
Identity and sessions
- OAuth endpoints
src/server/oauth/authorize.ts - Session store
src/sessionStore/inMemorySessionStore.ts
Desktop integration
- Desktop tools
src/tools/desktop/tools.ts - Desktop sessions
src/desktop/sessionManager.ts - Instance discovery
src/desktop/desktopDiscoverer.ts - Desktop Agent API
src/sdks/desktop/agentApi/client.ts
Other components
- AI client
- Tableau Cloud or Server
- Tableau Desktop
Connections 19
- AI client → Web server: sends MCP requests
README.md - Web server → MCP server core: uses server core
src/server.web.ts - AI client → OAuth endpoints: signs in
README.md - Web server → REST API instance: creates API access
src/restApiInstance.ts - Tool runtime → REST API instance: invokes API access
src/tools/web/knowledge/queryKnowledgeContext.ts - Datasource queries → REST API instance: queries Tableau
- Content exploration → REST API instance: searches Tableau
- Views and data → REST API instance: retrieves view data
- Knowledge context → REST API instance: queries Knowledge
src/tools/web/knowledge/queryKnowledgeContext.ts - Admin insights → REST API instance: runs admin queries
src/tools/web/adminInsights/queryAdminInsights.ts - REST API instance → Tableau REST SDK: constructs client
src/restApiInstance.ts - Tableau REST SDK → Tableau Cloud or Server: calls Tableau APIs
README.md - Datasource queries → VizQL data API: queries datasource
- AI client → Desktop server: starts local server
- Desktop server → Desktop tools: registers tools
src/server.desktop.ts - Desktop tools → Desktop sessions: requests executor
- Desktop sessions → Instance discovery: discovers instance
src/desktop/sessionManager.ts - Desktop sessions → Desktop Agent API: starts executor
src/desktop/sessionManager.ts - Desktop Agent API → Tableau Desktop: calls local agent