Skip to main content
Glama

Tableau MCP Server

A Model Context Protocol (MCP) server for Tableau Cloud and Tableau Server operations.

Project Status

Current Phase: Phase 6 Complete ✅ - Ready for Cloud Run Deployment

Completed Phases

  • ✅ Phase 1: Project Setup

  • ✅ Phase 2: Tableau API Client (13 methods)

  • ✅ Phase 3: MCP Server Core (SSE transport, authentication)

  • ✅ Phase 4: Core MCP Tools (6 tools)

  • ✅ Phase 5: Advanced MCP Tools (3 tools)

  • Phase 6: Cloud Run Deployment Infrastructure ✨ NEW!

Phase 6 Deliverables

  • ✅ Optimized multi-stage Dockerfile

  • ✅ Staging and production Cloud Run configurations

  • ✅ Automated deployment scripts (deploy-staging.sh, deploy-production.sh)

  • ✅ Secrets management automation (create-secrets.sh)

  • ✅ Comprehensive deployment documentation (2,000+ lines)

  • ✅ Automated testing script (smoke-test.sh)

  • ✅ Monitoring and logging guides

Next Steps

  1. Deploy to staging: Run ./deploy-staging.sh (requires Google Cloud project)

  2. Test deployment: Run ./smoke-test.sh staging

  3. Phase 7: Create Cursor MCP configuration file

  4. Phase 8: Comprehensive testing and documentation

See PHASE_6_LOG.md for detailed Phase 6 implementation notes.
See PASS_OFF.md for complete project roadmap.

Project Structure

tableau-mcp-project/ ├── src/ │ ├── server.ts # Main MCP server (Phase 3) │ ├── tableau-client.ts # Tableau API client (Phase 2) │ ├── tools/ # MCP tool implementations (Phase 4-5) │ │ ├── list-workbooks.ts │ │ ├── list-views.ts │ │ ├── query-view.ts │ │ ├── refresh-extract.ts │ │ ├── search-content.ts │ │ └── get-metadata.ts │ └── types.ts # TypeScript type definitions ├── package.json ├── tsconfig.json ├── Dockerfile # Cloud Run deployment (Phase 6) └── env.example # Environment variable template

Development Scripts

# Install dependencies npm install # Run in development mode with hot reload npm run dev # Build for production npm run build # Run production build npm start # Clean build artifacts npm run clean

Quick Start - Cloud Run Deployment (Phase 6)

Prerequisites

  • Google Cloud Project with billing enabled

  • gcloud CLI installed and authenticated

  • Docker installed locally

  • Tableau Personal Access Token

Deploy to Staging

  1. Create secrets:

chmod +x create-secrets.sh ./create-secrets.sh staging
  1. Deploy service:

chmod +x deploy-staging.sh ./deploy-staging.sh
  1. Test deployment:

chmod +x smoke-test.sh ./smoke-test.sh staging

Deploy to Production (When Ready)

# Create production secrets ./create-secrets.sh production # Deploy to production chmod +x deploy-production.sh ./deploy-production.sh # Test production deployment ./smoke-test.sh production

Comprehensive Guides

  • Deployment: See DEPLOYMENT_GUIDE.md

  • Secrets: See SECRETS_SETUP.md

  • Testing: See TEST_DEPLOYMENT.md

  • Monitoring: See MONITORING_GUIDE.md

  • Phase 6 Log: See PHASE_6_LOG.md

Environment Configuration

Copy env.example to .env and configure:

TABLEAU_SERVER_URL=https://your-server.tableau.com TABLEAU_SITE_ID=your-site TABLEAU_TOKEN_NAME=your-token-name TABLEAU_TOKEN_VALUE=your-token-value MCP_API_KEY=secure-random-key-here PORT=8080 TABLEAU_API_VERSION=3.21

Dependencies

Core Dependencies

  • @modelcontextprotocol/sdk (^1.0.4) - MCP Server SDK

  • express (^4.21.2) - HTTP server for SSE transport

  • axios (^1.7.9) - HTTP client for Tableau REST API

  • zod (^3.24.1) - Schema validation

  • dotenv (^16.4.7) - Environment variable management

Development Dependencies

  • typescript (^5.7.2) - TypeScript compiler

  • tsx (^4.19.2) - TypeScript execution and hot reload

  • @types/node & @types/express - Type definitions

Phase 1 Implementation Log

See PHASE_1_LOG.md for detailed implementation steps.

Next Implementation Phase

See PASS_OFF.md for Phase 2-8 implementation details.


License: MIT
Author: Agile Market Intelligence

-
security - not tested
F
license - not found
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/russelenriquez-agile/tableau-mcp-project'

If you have feedback or need assistance with the MCP directory API, please join our Discord server