Tableau MCP Server

Interaja com o Tableau Server usando linguagem natural para consultar dados e realizar tarefas administrativas.

Documentação

Tableau MCP Server 🚀

Um poderoso servidor Model Context Protocol (MCP) que conecta o Claude Desktop ao Tableau Server, permitindo interações em linguagem natural com seus dados do Tableau e recursos administrativos abrangentes.

✨ Recursos

📊 Acesso e Análise de Dados

  • Listar e Navegar: Explore todos os workbooks, visualizações e fontes de dados
  • Extração de Dados: Obtenha dados CSV de qualquer visualização do Tableau
  • Exportação Visual: Baixe imagens de dashboards em formato PNG
  • Conjuntos de Dados Completos: Baixe fontes de dados inteiras com todos os dados brutos
  • Busca Inteligente: Encontre conteúdo em todo o seu servidor Tableau

🛡️ Ferramentas Administrativas (Novo!)

  • Gerenciamento de Usuários: Liste todos os usuários com funções e histórico de login
  • Auditoria de Permissões: Veja exatamente quem tem acesso aos workbooks
  • Gerenciamento de Grupos: Visualize todos os grupos e contagens de membros
  • Supervisão de Projetos: Audite permissões e configurações de projetos
  • Administração do Site: Obtenha estatísticas abrangentes do site
  • Análise de Uso: Auditorias detalhadas de uso e acesso de workbooks

🎯 Casos de Uso

Para Analistas de Dados

  • "Mostre-me os dados de vendas do dashboard do Q4"
  • "Exporte as métricas de clientes como CSV"
  • "Encontre todos os relatórios que contenham dados de receita"

Para Administradores do Tableau

  • "Quem tem acesso ao workbook Financeiro?"
  • "Liste todos os usuários que não fizeram login recentemente"
  • "Mostre-me todos os grupos e suas contagens de membros"
  • "Audite as permissões dos nossos dashboards de RH"

🚀 Início Rápido

Pré-requisitos

  • Python 3.8+
  • Claude Desktop instalado
  • Acesso ao Tableau Server ou Tableau Cloud
  • Privilégios administrativos (para ferramentas administrativas)

1. Clonar e Configurar

# Clone the repository
git clone https://github.com/hetpatel-11/Tableau-MCP.git
cd Tableau-MCP

# Create virtual environment (recommended)
python -m venv tableau_mcp_env
source tableau_mcp_env/bin/activate  # On Windows: tableau_mcp_env\Scripts\activate

# Install ALL dependencies including MCP SDK
pip install -r requirements.txt

2. Instalação do SDK MCP (Se Houver Problemas)

Se você encontrar problemas de instalação do SDK MCP, tente estas soluções:

# Option 1: Install MCP SDK directly
pip install mcp>=1.0.0

# Option 2: Install with specific version
pip install mcp==1.0.0

# Option 3: Install from source (if needed)
pip install git+https://github.com/modelcontextprotocol/python-sdk.git

# Option 4: Force reinstall
pip install --force-reinstall mcp>=1.0.0

3. Verificar a Instalação

# Test that MCP SDK is properly installed
python -c "import mcp; print('✅ MCP SDK installed successfully')"

# Test Tableau Server Client
python -c "import tableauserverclient as TSC; print('✅ Tableau Server Client ready')"

# Test the server
python tableau_mcp_server.py --test

4. Configuração

Crie um arquivo .env com suas credenciais do Tableau:

TABLEAU_SERVER_URL=https://your-tableau-server.com
TABLEAU_SITE_ID=your-site-name

# Option 1: Personal Access Token (Recommended)
TABLEAU_TOKEN_NAME=your-token-name
TABLEAU_TOKEN_VALUE=your-token-value

# Option 2: Username/Password
# TABLEAU_USERNAME=your-username
# TABLEAU_PASSWORD=your-password

5. Configuração do Claude Desktop

Adicione à sua configuração do Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "tableau-server": {
      "command": "/path/to/Tableau-MCP/start_clean.sh",
      "args": []
    }
  }
}

6. Iniciar o Servidor

# Make startup script executable
chmod +x start_clean.sh

# Start the server
./start_clean.sh

🛠️ Ferramentas Disponíveis

Ferramentas de Acesso a Dados

FerramentaDescrição
list_workbooksListe todos os workbooks disponíveis do Tableau
list_viewsListe as visualizações em um workbook específico
get_view_dataExtraia dados CSV de qualquer visualização
get_view_imageObtenha dashboard/visualização como imagem PNG
search_contentPesquise em todo o conteúdo do Tableau
list_datasourcesListe todas as fontes de dados disponíveis
download_datasourceBaixe conjuntos de dados brutos completos

Ferramentas Administrativas

FerramentaDescrição
list_workbook_permissionsVeja quem tem acesso aos workbooks
list_all_usersVisualize todos os usuários com funções e detalhes
list_all_groupsVisualize todos os grupos com contagens de membros
get_user_permissionsObtenha permissões detalhadas de usuários
list_projects_permissionsAudite permissões de projetos
get_site_infoObtenha estatísticas e cotas do site
audit_workbook_usageAuditorias abrangentes de workbooks
list_user_groupsVeja associações de usuários a grupos

📋 Recursos MCP

O servidor expõe o conteúdo do Tableau como recursos MCP:

  • tableau://workbooks/{workbook_id} - Metadados de workbooks
  • tableau://views/{view_id}/data - Dados de visualizações em formato CSV

🔧 Uso Avançado

Modo de Depuração

python tableau_mcp_server.py --debug

Teste de Autenticação

python tableau_mcp_server.py --test

Configuração Manual

python setup.py --test-only

🏗️ Arquitetura

Claude Desktop ↔ MCP Server ↔ Tableau REST API ↔ Tableau Server
                     ⬇️
               [15 Available Tools]
                     ⬇️
            [Data + Admin Capabilities]

📁 Estrutura do Projeto

Tableau-MCP/
├── tableau_mcp_server.py    # Main MCP server implementation
├── start_clean.sh           # Server startup script
├── requirements.txt         # Python dependencies (includes MCP SDK)
├── setup.py                # Setup and configuration script
├── env.example             # Environment configuration template
├── README.md               # This file
└── .env                    # Your credentials (create this)

🔒 Segurança

  • Operação Local: O servidor roda localmente com suas permissões
  • Credenciais Seguras: Usa variáveis de ambiente para autenticação
  • Autenticação por Token: Suporta Tableau Personal Access Tokens
  • Sem Vazamento de Dados: Nenhum dado é enviado a serviços externos

🚨 Solução de Problemas

Problemas com o SDK MCP

"ModuleNotFoundError: No module named 'mcp'"

# Solution 1: Install MCP SDK
pip install mcp>=1.0.0

# Solution 2: Check virtual environment
source tableau_mcp_env/bin/activate
pip install -r requirements.txt

# Solution 3: Verify Python version
python --version  # Should be 3.8+

"Conflito de versão do SDK MCP"

# Uninstall and reinstall
pip uninstall mcp
pip install mcp>=1.0.0

Problemas Comuns

"Falha na autenticação"

  • Verifique as credenciais no arquivo .env
  • Verifique o formato da URL do Tableau Server
  • Garanta que a conta tenha as permissões adequadas

"Nenhuma ferramenta disponível no Claude"

  • Reinicie o Claude Desktop após a configuração
  • Verifique se start_clean.sh é executável
  • Verifique se as dependências do Python estão instaladas

"Erros de permissão negada"

  • Garanta que sua conta tenha privilégios administrativos
  • Verifique as permissões de usuário no Tableau Server
  • Verifique os direitos de acesso ao site

Obtendo Ajuda

  1. Teste de Conexão: python tableau_mcp_server.py --test
  2. Modo de Depuração: python tableau_mcp_server.py --debug
  3. Verifique os Logs: Procure mensagens de erro na saída do terminal
  4. Verifique o MCP: python -c "import mcp; print('MCP SDK OK')"

📈 Exemplos de Conversas

Análise de Dados

User: "Show me all workbooks and find the sales data"
Claude: [Lists workbooks] → [Finds sales-related content] → [Extracts data]

User: "Get the customer metrics from the Q4 dashboard as CSV"
Claude: [Locates dashboard] → [Extracts view data] → [Provides CSV]

Administração

User: "Who has access to our Finance workbook?"
Claude: [Lists all users and groups with permissions] → [Shows permission levels]

User: "Show me all users who are site administrators"
Claude: [Lists users by role] → [Highlights administrators]

🤝 Contribuindo

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Adicione suas melhorias
  4. Teste minuciosamente
  5. Envie um pull request

📄 Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

🙏 Agradecimentos


Pronto para turbinar seus fluxos de trabalho do Tableau com o Claude? Comece agora! 🎉