Tiger MCP

Controle serviços de banco de dados Postgres rodando no Tiger Cloud com TimescaleDB e outras extensões PostgreSQL.

Documentação

Tiger CLI

O Tiger CLI é a interface de linha de comando para o Tiger Cloud. Ele fornece comandos para gerenciar e consultar serviços de banco de dados, bem como um servidor integrado Model Context Protocol (MCP) para uso com assistentes de IA.

Instalação

Vários métodos de instalação são fornecidos. Escolha o método de sua preferência entre as opções abaixo. Se não tiver certeza, use o primeiro!

Script de Instalação (macOS/Linux/WSL)

curl -fsSL https://cli.tigerdata.com | sh

Script de Instalação (Windows)

irm https://cli.tigerdata.com/install.ps1 | iex

Homebrew (macOS/Linux)

brew install --cask timescale/tap/tiger-cli

Debian/Ubuntu

# Add repository
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.deb.sh | sudo os=any dist=any bash

# Install tiger-cli
sudo apt-get install tiger-cli

Para instruções de instalação manual do repositório, veja aqui.

Red Hat/Fedora

# Add repository
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.rpm.sh | sudo os=rpm_any dist=rpm_any bash

# Install tiger-cli
sudo yum install tiger-cli

Para instruções de instalação manual do repositório, veja aqui.

Instalação via Go

go install github.com/timescale/tiger-cli/cmd/tiger@latest

Atualização

Para atualizar uma instalação existente para a versão mais recente:

tiger upgrade

Isso baixa o binário publicado mais recente, verifica sua soma de verificação e substitui o binário atualmente em execução. Se o Tiger CLI foi instalado via gerenciador de pacotes (Homebrew, apt, yum/dnf), tiger upgrade apontará para o comando correspondente do gerenciador de pacotes.

Início Rápido

Após instalar o Tiger CLI, autentique-se com sua conta Tiger Cloud:

# Login to your Tiger account
tiger auth login

# View available commands
tiger --help

# List your database services
tiger service list

# Create a new database service
tiger service create --name my-database

# Get connection string
tiger db uri

# Connect to your database
tiger db psql

# Run a query without psql
tiger db query -c "SELECT now()"

# Install the MCP server
tiger mcp install

Uso

O Tiger CLI fornece os seguintes comandos:

  • tiger auth - Gerenciamento de autenticação
    • login - Entrar na sua conta Tiger (use --headless para autorizar com um código curto em um navegador em qualquer máquina)
    • logout - Sair da sua conta Tiger
    • status - Mostrar o status atual de autenticação e o ID do projeto (alias: whoami)
  • tiger project - Gerenciamento de projetos
    • list - Listar todos os projetos aos quais você tem acesso, marcando o ativo (alias: ls)
    • use - Alternar o projeto ativo (requer login OAuth; limpa o service_id padrão, pois pertencia ao projeto anterior) (alias: switch)
  • tiger service - Gerenciamento do ciclo de vida do serviço (aliases: services, svc)
    • list - Listar todos os serviços (alias: ls)
    • create - Criar um novo serviço
    • get - Mostrar informações detalhadas do serviço (aliases: describe, show)
    • fork - Bifurcar um serviço existente
    • start - Iniciar um serviço parado (alias: resume)
    • stop - Parar um serviço em execução (alias: pause)
    • rename - Renomear um serviço
    • resize - Redimensionar a alocação de CPU e memória do serviço
    • delete - Excluir um serviço (alias: rm)
    • update-password - Atualizar a senha mestra do serviço
    • logs - Visualizar logs do serviço (alias: log)
  • tiger db - Operações de banco de dados
    • psql - Conectar a um banco de dados com psql (em um terminal interativo, se o serviço tiver réplicas de leitura, oferece conectar a uma delas; use --no-replica-prompt para pular) (alias: connect)
    • query - Executar uma consulta SQL contra um banco de dados e exibir os resultados, sem precisar de psql (alias: sql)
    • uri - Obter URI de conexão para um serviço (alias: connection-string)
    • ping - Testar conectividade do banco de dados (aliases: test, test-connection)
    • schema - Exibir informações do esquema do banco de dados (tabelas, visões, índices, funções, hypertables TimescaleDB e mais)
    • save-password - Salvar uma senha de banco de dados no armazenamento de senhas configurado (keyring, pgpass ou nenhum)
    • create role - Criar um novo papel de banco de dados, com aplicação opcional de somente leitura, concessões herdadas (--from) e tempo limite de instrução (alias: create user)
  • tiger config - Gerenciamento de configuração (alias: cfg)
    • list - Listar configuração atual (aliases: ls, show)
    • set - Definir valor de configuração
    • unset - Remover valor de configuração (aliases: rm, delete)
    • reset - Redefinir configuração para os padrões (alias: clear)
  • tiger mcp - Configuração e gerenciamento do servidor MCP
    • install - Instalar e configurar o servidor MCP para um assistente de IA (alias: add)
    • start - Iniciar o servidor MCP
    • list - Listar ferramentas, prompts e recursos MCP disponíveis (alias: ls)
    • get - Obter informações detalhadas sobre uma capacidade MCP específica (aliases: describe, show)
  • tiger feedback - Enviar feedback ou relatório de bug para a equipe Tiger Data (passe a mensagem como argumento ou em stdin)
  • tiger version - Mostrar informações de versão
  • tiger upgrade - Atualizar o Tiger CLI para a versão mais recente (alias: update)

Use tiger <command> --help para informações detalhadas sobre cada comando, ou navegue pela referência CLI gerada.

Nomeando um Serviço

Em qualquer lugar em que um comando aceite um serviço como argumento, ele aceita seu ID (ou ID do conjunto de réplicas de leitura) ou seu nome:

tiger db psql my-api-db
tiger service stop my-api-db

Os nomes são correspondidos exatamente. Um nome que corresponda a mais de um serviço é recusado; execute tiger service list para encontrar o ID desejado. Um serviço padrão (tiger config set service_id, --service-id ou TIGER_SERVICE_ID) deve ser um ID, e comandos destrutivos ainda pedem que você digite o ID para confirmar. As ferramentas MCP aceitam apenas IDs.

Servidor MCP

O Tiger CLI inclui um servidor Model Context Protocol (MCP) que permite que assistentes de IA como Claude Code interajam com sua infraestrutura Tiger Cloud. O servidor MCP fornece acesso programático a serviços e operações de banco de dados.

Instalação

Configure o servidor MCP para seu assistente de IA:

# Interactive installation (prompts for client selection)
tiger mcp install

# Or specify your client directly
tiger mcp install claude-code      # Claude Code
tiger mcp install codex            # Codex
tiger mcp install copilot          # GitHub Copilot CLI
tiger mcp install cursor           # Cursor IDE
tiger mcp install devin            # Devin
tiger mcp install gemini           # Gemini CLI
tiger mcp install vscode           # VS Code

Após a instalação, reinicie seu assistente de IA para ativar o servidor Tiger MCP.

Instalação Manual

Se seu cliente MCP não for suportado por tiger mcp install, siga as instruções do cliente para instalar servidores MCP. Use tiger mcp start como o comando para iniciar o servidor MCP. Por exemplo, muitos clientes usam um arquivo JSON como o seguinte:

{
  "mcpServers": {
    "tiger": {
      "command": "tiger",
      "args": [
        "mcp",
        "start"
      ]
    }
  }
}

Protocolo HTTP Streamable

As instruções acima instalam o servidor MCP usando o transporte stdio. Se você precisar usar o transporte HTTP Streamable, você pode iniciar o servidor com tiger mcp start http --port 8080 e instalá-lo em seu cliente usando http://localhost:8080 como URL.

Ferramentas MCP Disponíveis

O servidor MCP expõe as seguintes ferramentas aos assistentes de IA:

Gerenciamento de Serviços:

  • service_list - Listar todos os serviços de banco de dados no seu projeto
  • service_get - Obter informações detalhadas sobre um serviço específico
  • service_create - Criar novos serviços de banco de dados com recursos configuráveis
  • service_fork - Bifurcar um serviço de banco de dados existente para criar uma cópia independente
  • service_start - Iniciar um serviço de banco de dados parado
  • service_stop - Parar um serviço de banco de dados em execução
  • service_rename - Renomear um serviço de banco de dados
  • service_resize - Redimensionar um serviço de banco de dados alterando a alocação de CPU e memória
  • service_delete - Excluir permanentemente um serviço de banco de dados (pede confirmação primeiro se o serviço estiver marcado como PROD)
  • service_update_password - Definir uma nova senha mestra gerada aleatoriamente para um serviço (pede confirmação primeiro se o serviço estiver marcado como PROD)
  • service_logs - Visualizar logs de um serviço de banco de dados

Operações de Banco de Dados:

  • db_query - Executar consultas SQL contra um serviço de banco de dados, passadas inline ou como caminho para um arquivo SQL, com suporte a consultas parametrizadas, tempos limite personalizados e pooling de conexões
  • db_schema - Exibir o esquema do banco de dados de um serviço (tabelas, visões, visões materializadas, enums, funções, procedimentos, índices, triggers e metadados de hypertable/agregado contínuo TimescaleDB) como texto legível para o contexto de um agente

Feedback:

  • feedback - Enviar feedback ou relatório de bug para a equipe Tiger Data

O servidor MCP usa automaticamente sua autenticação e configuração CLI, portanto nenhuma configuração adicional é necessária além de tiger auth login.

Ferramentas Proxied

Além das ferramentas de gerenciamento de serviços listadas acima, o servidor Tiger MCP também faz proxy de ferramentas de um servidor MCP de documentação remota. Este recurso fornece aos assistentes de IA capacidades de busca semântica para documentação PostgreSQL, TimescaleDB e Tiger Cloud, bem como prompts/guias para vários recursos do Tiger Cloud.

O servidor de documentação proxied (pg-aiguide) atualmente fornece as seguintes ferramentas:

  • view_skill - Recuperar guias abrangentes para recursos e melhores práticas de Postgres e TimescaleDB
  • search_docs - Pesquisar documentação PostgreSQL e TimescaleDB usando consultas em linguagem natural

Esta conexão proxy está habilitada por padrão e não requer configuração adicional.

Para desabilitar o proxy de documentação:

tiger config set docs_mcp false

Configuração

O CLI armazena configuração em ~/.config/tiger/config.yaml por padrão e suporta configuração hierárquica por meio de variáveis de ambiente e flags de linha de comando.

# List current configuration
tiger config list

# Set configuration values
tiger config set output json

# Remove configuration value
tiger config unset output

# Reset to defaults
tiger config reset

Opções de Configuração

Todas as opções de configuração podem ser definidas via tiger config set <key> <value>:

  • analytics - Ativar/desativar analytics (padrão: true)

  • color - Ativar/desativar saída colorida (padrão: true)

  • docs_mcp - Ativar/desativar proxy MCP de docs (padrão: true)

  • mcp_max_rows - Número máximo de linhas que a ferramenta MCP db_query retorna por conjunto de resultados antes de truncar, para limitar quantos dados chegam ao contexto de um agente de IA. Aplica-se apenas à ferramenta MCP, não aos comandos CLI. Padrão: 100

  • output - Formato de saída: json, yaml ou table (padrão: table)

  • password_storage - Método de armazenamento de senha: keyring, pgpass ou none (padrão: keyring)

  • read_only - Quais serviços este CLI pode alterar: all, prod ou off (padrão: off, que não protege nada). Um tiger auth login interativo oferece um menu dos três modos e registra sua escolha de qualquer forma, então só pergunta até você responder uma vez. true e on são aceitos como aliases para all, e false para off, para que arquivos de configuração existentes e TIGER_READ_ONLY=true se comportem como antes.

    Alterar um serviço protegido é recusado, assim como criar um: tiger service create/fork/start/stop/rename/resize/update-password/delete e tiger db create role retornam um erro. Strings de conexão para ele abrem a sessão no modo somente leitura imutável do Tiger Cloud, então o servidor rejeita escritas e DDL — isso cobre tiger db psql, tiger db query, tiger db uri, a ferramenta MCP db_query e as strings de conexão incorporadas na saída de tiger service e nas ferramentas MCP equivalentes.

  • all protege todos os serviços, e as ferramentas de escrita do MCP não são registradas, então elas não aparecem em tools/list e não podem ser chamadas.

    • prod protege apenas serviços marcados com PROD, deixando serviços DEV graváveis. As ferramentas MCP tiger service create/fork e service_create/service_fork são controladas pelo ambiente que solicitam, então criar um serviço DEV é permitido e um serviço PROD não — caso contrário, você poderia criar um serviço que este mesmo modo depois se recusa a excluir. Bifurcar um serviço PROD em uma bifurcação DEV é permitido, pois isso lê produção sem alterá-la. As ferramentas de escrita do MCP permanecem registradas — elas ainda funcionam em serviços DEV — e recusam por chamada. Esses comandos leem a tag do serviço que resolvem, então a tag não custa uma chamada de API extra, e a operação é recusada se essa consulta falhar. As ferramentas de escrita do MCP, que recebem IDs, buscam o serviço para ler sua tag. Uma réplica de leitura é avaliada pela sua própria tag, então uma réplica de um primário PROD é protegida apenas se esse conjunto de réplicas estiver ele próprio marcado com PROD.
  • service_id - ID de serviço padrão. Limpo automaticamente quando o projeto ativo muda: por tiger project, e por tiger auth login a menos que caia no mesmo projeto do login anterior. Um serviço pertence ao projeto em que foi criado.

  • version_check - Quando true, o CLI verifica se há uma versão mais recente a cada invocação (em um terminal interativo) e imprime um aviso se uma estiver disponível. Defina como false para desativar. Padrão: true.

Variáveis de Ambiente

As variáveis de ambiente substituem os valores do arquivo de configuração. Todas as variáveis usam o prefixo TIGER_:

  • TIGER_ANALYTICS - Ativar/desativar análise de dados
  • TIGER_COLOR - Ativar/desativar saída colorida
  • TIGER_CONFIG_DIR - Caminho para o diretório de configuração (padrão: ~/.config/tiger)
  • TIGER_DOCS_MCP - Ativar/desativar proxy MCP de documentação
  • TIGER_OUTPUT - Formato de saída: json, yaml ou table
  • TIGER_PASSWORD_STORAGE - Método de armazenamento de senha: keyring, pgpass ou none
  • TIGER_READ_ONLY - Quais serviços este CLI pode alterar: all, prod ou off (mesmos aliases que read_only)
  • TIGER_PUBLIC_KEY - Chave pública a usar para autenticação (tem prioridade sobre credenciais armazenadas)
  • TIGER_SECRET_KEY - Chave secreta a usar para autenticação (tem prioridade sobre credenciais armazenadas)
  • TIGER_SERVICE_ID - ID de serviço padrão (um nome é recusado; veja Nomeando um Serviço)
  • TIGER_VERSION_CHECK - Quando true, o CLI verifica se há uma versão mais recente a cada invocação (em um terminal interativo) e imprime um aviso se uma estiver disponível; false para desativar

Flags Globais

Estas flags estão disponíveis em todos os comandos e têm precedência sobre variáveis de ambiente e valores do arquivo de configuração:

  • --analytics - Ativar/desativar análise de dados
  • --color - Ativar/desativar saída colorida
  • --config-dir <path> - Caminho para o diretório de configuração (padrão: ~/.config/tiger)
  • --password-storage <method> - Método de armazenamento de senha: keyring, pgpass ou none
  • --service-id <id> - ID de serviço (um nome é recusado; passe um como argumento)
  • --version-check - Ativar/desativar verificação de atualizações na inicialização
  • -h, --help - Mostrar informações de ajuda

Contribuindo

Aceitamos contribuições! Veja como começar:

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Faça suas alterações
  4. Adicione testes para novas funcionalidades
  5. Garanta que todos os testes passem (go test ./...)
  6. Envie um pull request

Para informações detalhadas de desenvolvimento, veja docs/development.md.

Licença

Este projeto é licenciado sob a Apache License 2.0 - veja o arquivo LICENSE para detalhes.