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çãologin- Entrar na sua conta Tiger (use--headlesspara autorizar com um código curto em um navegador em qualquer máquina)logout- Sair da sua conta Tigerstatus- Mostrar o status atual de autenticação e o ID do projeto (alias:whoami)
tiger project- Gerenciamento de projetoslist- Listar todos os projetos aos quais você tem acesso, marcando o ativo (alias:ls)use- Alternar o projeto ativo (requer login OAuth; limpa oservice_idpadrã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çoget- Mostrar informações detalhadas do serviço (aliases:describe,show)fork- Bifurcar um serviço existentestart- Iniciar um serviço parado (alias:resume)stop- Parar um serviço em execução (alias:pause)rename- Renomear um serviçoresize- Redimensionar a alocação de CPU e memória do serviçodelete- Excluir um serviço (alias:rm)update-password- Atualizar a senha mestra do serviçologs- Visualizar logs do serviço (alias:log)
tiger db- Operações de banco de dadospsql- 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-promptpara 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çãounset- 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 MCPinstall- Instalar e configurar o servidor MCP para um assistente de IA (alias:add)start- Iniciar o servidor MCPlist- 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ãotiger 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 projetoservice_get- Obter informações detalhadas sobre um serviço específicoservice_create- Criar novos serviços de banco de dados com recursos configuráveisservice_fork- Bifurcar um serviço de banco de dados existente para criar uma cópia independenteservice_start- Iniciar um serviço de banco de dados paradoservice_stop- Parar um serviço de banco de dados em execuçãoservice_rename- Renomear um serviço de banco de dadosservice_resize- Redimensionar um serviço de banco de dados alterando a alocação de CPU e memóriaservice_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õesdb_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 TimescaleDBsearch_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 MCPdb_queryretorna 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,yamloutable(padrão:table) -
password_storage- Método de armazenamento de senha:keyring,pgpassounone(padrão:keyring) -
read_only- Quais serviços este CLI pode alterar:all,prodouoff(padrão:off, que não protege nada). Umtiger auth logininterativo oferece um menu dos três modos e registra sua escolha de qualquer forma, então só pergunta até você responder uma vez.trueeonsão aceitos como aliases paraall, efalseparaoff, para que arquivos de configuração existentes eTIGER_READ_ONLY=truese comportem como antes.Alterar um serviço protegido é recusado, assim como criar um:
tiger service create/fork/start/stop/rename/resize/update-password/deleteetiger db create roleretornam 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 cobretiger db psql,tiger db query,tiger db uri, a ferramenta MCPdb_querye as strings de conexão incorporadas na saída detiger servicee nas ferramentas MCP equivalentes. -
allprotege todos os serviços, e as ferramentas de escrita do MCP não são registradas, então elas não aparecem emtools/liste não podem ser chamadas.prodprotege apenas serviços marcados comPROD, deixando serviçosDEVgraváveis. As ferramentas MCPtiger service create/forkeservice_create/service_forksão controladas pelo ambiente que solicitam, então criar um serviçoDEVé permitido e um serviçoPRODnão — caso contrário, você poderia criar um serviço que este mesmo modo depois se recusa a excluir. Bifurcar um serviçoPRODem uma bifurcaçãoDEVé permitido, pois isso lê produção sem alterá-la. As ferramentas de escrita do MCP permanecem registradas — elas ainda funcionam em serviçosDEV— 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árioPRODé protegida apenas se esse conjunto de réplicas estiver ele próprio marcado comPROD.
-
service_id- ID de serviço padrão. Limpo automaticamente quando o projeto ativo muda: portiger project, e portiger auth logina menos que caia no mesmo projeto do login anterior. Um serviço pertence ao projeto em que foi criado. -
version_check- Quandotrue, 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 comofalsepara 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 dadosTIGER_COLOR- Ativar/desativar saída coloridaTIGER_CONFIG_DIR- Caminho para o diretório de configuração (padrão:~/.config/tiger)TIGER_DOCS_MCP- Ativar/desativar proxy MCP de documentaçãoTIGER_OUTPUT- Formato de saída:json,yamloutableTIGER_PASSWORD_STORAGE- Método de armazenamento de senha:keyring,pgpassounoneTIGER_READ_ONLY- Quais serviços este CLI pode alterar:all,prodouoff(mesmos aliases queread_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- Quandotrue, 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;falsepara 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,pgpassounone--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:
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Faça suas alterações
- Adicione testes para novas funcionalidades
- Garanta que todos os testes passem (
go test ./...) - 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.