tiger-cli
Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
Documentation
Tiger CLI
Tiger CLI is the command-line interface for Tiger Cloud. It provides commands for managing and querying database services, as well as an integrated Model Context Protocol (MCP) server for use with AI assistants.
Installation
Multiple installation methods are provided. Choose your preferred method from the options below. If you aren't sure, use the first one!
Install Script (macOS/Linux/WSL)
curl -fsSL https://cli.tigerdata.com | shInstall Script (Windows)
irm https://cli.tigerdata.com/install.ps1 | iexHomebrew (macOS/Linux)
brew install --cask timescale/tap/tiger-cliDebian/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-cliFor manual repository installation instructions, see here.
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-cliFor manual repository installation instructions, see here.
Go Install
go install github.com/timescale/tiger-cli/cmd/tiger@latestUpdating
To upgrade an existing installation to the latest release:
tiger upgradeThis downloads the latest published binary, verifies its checksum, and replaces the currently running binary in place. If Tiger CLI was installed via a package manager (Homebrew, apt, yum/dnf), `tiger upgrade` will instead point you at the matching package-manager command.
Quick Start
After installing Tiger CLI, authenticate with your Tiger Cloud account:
# 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 connection-string
# Connect to your database
tiger db connect
# Install the MCP server
tiger mcp installUsage
Tiger CLI provides the following commands:
- `tiger auth` - Authentication management
- `login` - Log in to your Tiger account
- `logout` - Log out from your Tiger account
- `status` - Show current authentication status and project ID (alias: `whoami`)
- `tiger project` - Project management
- `list` - List all projects you have access to, marking the active one (alias: `ls`)
- `use` - Switch the active project (requires an OAuth login; clears the default `service_id`, since it belonged to the previous project) (alias: `switch`)
- `tiger service` - Service lifecycle management (aliases: `services`, `svc`)
- `list` - List all services (alias: `ls`)
- `create` - Create a new service
- `get` - Show detailed service information (aliases: `describe`, `show`)
- `fork` - Fork an existing service
- `start` - Start a stopped service (alias: `resume`)
- `stop` - Stop a running service (alias: `pause`)
- `resize` - Resize service CPU and memory allocation
- `delete` - Delete a service (alias: `rm`)
- `update-password` - Update service master password
- `logs` - View service logs (alias: `log`)
- `tiger db` - Database operations
- `connect` - Connect to a database with psql (in an interactive terminal, if the service has read replicas, offers to connect to one of them; use `--no-replica-prompt` to skip) (alias: `psql`)
- `connection-string` - Get connection string for a service (alias: `uri`)
- `test-connection` - Test database connectivity (aliases: `test`, `ping`)
- `schema` - Display database schema information (tables, views, indexes, functions, TimescaleDB hypertables, and more)
- `save-password` - Save a database password to configured password storage (keyring, pgpass, or none)
- `create role` - Create a new database role, with optional read-only enforcement, inherited grants (`--from`), and statement timeout (alias: `create user`)
- `tiger config` - Configuration management (alias: `cfg`)
- `show` - Show current configuration (aliases: `list`, `ls`)
- `set` - Set configuration value
- `unset` - Remove configuration value (aliases: `rm`, `delete`)
- `reset` - Reset configuration to defaults (alias: `clear`)
- `tiger mcp` - MCP server setup and management
- `install` - Install and configure MCP server for an AI assistant (alias: `add`)
- `start` - Start the MCP server
- `list` - List available MCP tools, prompts, and resources (alias: `ls`)
- `get` - Get detailed information about a specific MCP capability (aliases: `describe`, `show`)
- `tiger version` - Show version information
- `tiger upgrade` - Upgrade the Tiger CLI to the latest version (alias: `update`)
Use `tiger --help` for detailed information about each command.
MCP Server
Tiger CLI includes a Model Context Protocol (MCP) server that enables AI assistants like Claude Code to interact with your Tiger Cloud infrastructure. The MCP server provides programmatic access to database services and operations.
Installation
Configure the MCP server for your AI assistant:
# 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 cursor # Cursor IDE
tiger mcp install gemini # Gemini CLI
tiger mcp install vscode # VS Code
tiger mcp install windsurf # WindsurfAfter installation, restart your AI assistant to activate the Tiger MCP server.
Manual Installation
If your MCP client is not supported by `tiger mcp install`, follow the client's
instructions for installing MCP servers. Use `tiger mcp start` as the command to
start the MCP server. For example, many clients use a JSON file like the
following:
{
"mcpServers": {
"tiger": {
"command": "tiger",
"args": [
"mcp",
"start"
]
}
}
}Streamable HTTP Protocol
The above instructions install the MCP server using the stdio transport. If you
need to use the Streamable HTTP transport instead, you can start the server with
`tiger mcp start http --port 8080` and install it into your client using
`http://localhost:8080` as the URL.
Available MCP Tools
The MCP server exposes the following tools to AI assistants:
Service Management:
- `service_list` - List all database services in your project
- `service_get` - Get detailed information about a specific service
- `service_create` - Create new database services with configurable resources
- `service_fork` - Fork an existing database service to create an independent copy
- `service_start` - Start a stopped database service
- `service_stop` - Stop a running database service
- `service_resize` - Resize a database service by changing CPU and memory allocation
- `service_update_password` - Update the master password for a service
- `service_logs` - View logs for a database service
Database Operations:
- `db_execute_query` - Execute SQL queries against a database service with support for parameterized queries, custom timeouts, and connection pooling
- `db_schema` - Display a service's database schema (tables, views, materialized views, enums, functions, procedures, indexes, triggers, and TimescaleDB hypertable/continuous aggregate metadata) as readable text for an agent's context
The MCP server automatically uses your CLI authentication and configuration, so no additional setup is required beyond `tiger auth login`.
Proxied Tools
In addition to the service management tools listed above, the Tiger MCP server also proxies tools from a remote documentation MCP server. This feature provides AI assistants with semantic search capabilities for PostgreSQL, TimescaleDB, and Tiger Cloud documentation, as well as prompts/guides for various Tiger Cloud features.
The proxied documentation server (pg-aiguide) currently provides the following tools:
- `view_skill` - Retrieve comprehensive guides for Postgres and TimescaleDB features and best practices
- `search_docs` - Search PostgreSQL and TimescaleDB documentation using natural language queries
This proxy connection is enabled by default and requires no additional configuration.
To disable the documentation proxy:
tiger config set docs_mcp falseConfiguration
The CLI stores configuration in `~/.config/tiger/config.yaml` by default, and supports hierarchical configuration through environment variables and command-line flags.
# Show current configuration
tiger config show
# Set configuration values
tiger config set output json
# Remove configuration value
tiger config unset output
# Reset to defaults
tiger config resetConfiguration Options
All configuration options can be set via `tiger config set `:
- `analytics` - Enable/disable analytics (default: `true`)
- `color` - Enable/disable colored output (default: `true`)
- `docs_mcp` - Enable/disable docs MCP proxy (default: `true`)
- `mcp_max_rows` - Maximum number of rows the `db_execute_query` MCP tool returns per result set before truncating, to limit how much data lands in an AI agent's context. Only applies to the MCP tool, not CLI commands. Default: `100`
- `output` - Output format: `json`, `yaml`, or `table` (default: `table`)
- `password_storage` - Password storage method: `keyring`, `pgpass`, or `none` (default: `keyring`)
- `read_only` - Which services this CLI may change: `all`, `prod`, or `off` (default: `off`, which protects nothing). An interactive `tiger auth login` offers a menu of the three modes, and records your choice either way, so it only asks until you answer once. `true` and `on` are accepted as aliases for `all`, and `false` for `off`, so existing config files and `TIGER_READ_ONLY=true` behave as before.
Changing a protected service is refused, and so is creating one: `tiger service create`/`fork`/`start`/`stop`/`resize`/`update-password`/`delete` and `tiger db create role` return an error. Connection strings for it open the session in Tiger Cloud's immutable read-only mode, so the server rejects writes and DDL — that covers `tiger db connect`, `tiger db connection-string`, the `db_execute_query` MCP tool, and the connection strings embedded in `tiger service` output and the equivalent MCP tools.
- `service_id` - Default service ID. Cleared automatically when the active project changes: by `tiger project`, and by `tiger auth login` unless it lands on the same project as the previous login. A service belongs to the project it was created in
- `version_check` - When `true`, the CLI checks for a newer version on each invocation (in an interactive terminal) and prints a notice if one is available. Set to `false` to disable. Default: `true`.
Environment Variables
Environment variables override configuration file values. All variables use the `TIGER_` prefix:
- `TIGER_ANALYTICS` - Enable/disable analytics
- `TIGER_COLOR` - Enable/disable colored output
- `TIGER_CONFIG_DIR` - Path to configuration directory (default: `~/.config/tiger`)
- `TIGER_DOCS_MCP` - Enable/disable docs MCP proxy
- `TIGER_OUTPUT` - Output format: `json`, `yaml`, or `table`
- `TIGER_PASSWORD_STORAGE` - Password storage method: `keyring`, `pgpass`, or `none`
- `TIGER_READ_ONLY` - Which services this CLI may change: `all`, `prod`, or `off` (same aliases as `read_only`)
- `TIGER_PUBLIC_KEY` - Public key to use for authentication (takes priority over stored credentials)
- `TIGER_SECRET_KEY` - Secret key to use for authentication (takes priority over stored credentials)
- `TIGER_SERVICE_ID` - Default service ID
- `TIGER_VERSION_CHECK` - When `true`, the CLI checks for a newer version on each invocation (in an interactive terminal) and prints a notice if one is available; `false` to disable
Global Flags
These flags are available on all commands and take precedence over both environment variables and configuration file values:
- `--analytics` - Enable/disable analytics
- `--color` - Enable/disable colored output
- `--config-dir ` - Path to configuration directory (default: `~/.config/tiger`)
- `--password-storage ` - Password storage method: `keyring`, `pgpass`, or `none`
- `--service-id ` - Specify service ID
- `--skip-update-check` - Skip checking for updates on startup (default: `false`)
- `-h, --help` - Show help information
Contributing
We welcome contributions! Here's how to get started:
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests for new functionality
5. Ensure all tests pass (`go test ./...`)
6. Submit a pull request
For detailed development information, see docs/development.md.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Frequently asked questions
What is tiger-cli?
tiger-cli is Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
How do I install tiger-cli?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is tiger-cli open source?
Yes — it is hosted on GitHub at https://github.com/timescale/tiger-cli and has 116 stars.
Related MCP tools
The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
One place to manage & connect to all your MCP servers
The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.
Fast, local-first web content extraction for LLMs. Scrape, crawl, extract structured data — all from Rust. CLI, REST API, and MCP server.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP