Metadata-Version: 2.4
Name: dashboards-mcp
Version: 0.1.3
Summary: MCP server for read-only access to dashboard databases
Project-URL: Homepage, https://github.com/Ilya1991/dashboards-mcp
Project-URL: Repository, https://github.com/Ilya1991/dashboards-mcp
Project-URL: Issues, https://github.com/Ilya1991/dashboards-mcp/issues
License: Proprietary
Keywords: dashboards,mcp,postgresql
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.11
Requires-Dist: fastmcp>=2.0.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: sqlglot>=23.0.0
Description-Content-Type: text/markdown

# Dashboards MCP

MCP (Model Context Protocol) server that gives Claude read-only access to dashboard databases.

## Requirements

- [uv](https://docs.astral.sh/uv/) — install once: `curl -LsSf https://astral.sh/uv/install.sh | sh`
- `BASE_URL` and `AUTH_KEY` — provided separately

## Connecting to Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "dashboards": {
      "command": "uvx",
      "args": [
        "dashboards-mcp"
      ],
      "env": {
        "BASE_URL": "https://your-api-gateway.example.com",
        "AUTH_KEY": "your_secret_key"
      }
    }
  }
}
```

Restart Claude Desktop. The server installs and starts automatically.

## Connecting to Claude Code (CLI)

```bash
claude mcp add dashboards \
  -e BASE_URL=https://your-api-gateway.example.com \
  -e AUTH_KEY=your_secret_key \
  -- uvx dashboards-mcp
```

## Local development

```bash
cp .env.example .env  # fill in BASE_URL and AUTH_KEY
uv run --env-file .env dashboards-mcp
```

## Updating

To pick up the latest version, remove the cached install and restart Claude:

```bash
uv cache clean
```

## Environment variables

| Variable | Required | Default | Description |
|---|---|---|---|
| `BASE_URL` | Yes | — | API gateway base URL (HTTPS only) |
| `AUTH_KEY` | Yes | — | Authentication key |
| `MAX_ROWS` | No | `500` | Maximum rows returned per query |
| `CONNECTION_TIMEOUT` | No | `30` | HTTP connection timeout in seconds |

## Available tools

| Tool | Description |
|---|---|
| `set_country` | Set the active database |
| `list_tables` | List all tables in the active database |
| `describe_table` | Get column definitions for a table |
| `execute_query` | Run a SELECT query against the active database |

Only SELECT statements are allowed. Results are capped at `MAX_ROWS` rows by default.
