Skip to main content
Glama
README.md4.3 kB
# 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 ```bash # 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**: ```bash chmod +x create-secrets.sh ./create-secrets.sh staging ``` 2. **Deploy service**: ```bash chmod +x deploy-staging.sh ./deploy-staging.sh ``` 3. **Test deployment**: ```bash chmod +x smoke-test.sh ./smoke-test.sh staging ``` ### Deploy to Production (When Ready) ```bash # 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: ```env 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

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