Skip to main content
Glama
dmayan-ss

mcflux

by dmayan-ss
README.md
# mcflux

Read-only MCP server for **InfluxDB v1**. Lets Claude (Desktop or Code) query and explore your time-series data through the Model Context Protocol.

## Tools

| Tool | Description |
|------|-------------|
| `ping` | Check connectivity and return the InfluxDB version |
| `list_databases` | List all databases |
| `list_measurements` | List measurements in a database |
| `list_tag_keys` | List tag keys, optionally filtered by measurement |
| `list_field_keys` | List field keys and their types |
| `list_tag_values` | List values for a specific tag key |
| `query` | Execute a read-only InfluxQL query (SELECT/SHOW only) |

Write operations (`CREATE`, `DROP`, `DELETE`, `INSERT`, etc.) are blocked at the server level.

## Requirements

- Python 3.10+
- [uv](https://docs.astral.sh/uv/) package manager
- An InfluxDB v1 instance

## Installation

### Claude Desktop (extension)

Download the latest `.mcpb` from [Releases](https://github.com/dmayan-ss/mcp-influx1/releases), then:

1. Open Claude Desktop
2. Go to **Settings > Extensions > Advanced settings**
3. Click **Install Extension** and select the `.mcpb` file
4. Fill in your InfluxDB URL, username, and password in the configuration form

### Claude Desktop (manual)

Add to `claude_desktop_config.json`:

- **Windows**: `%AppData%\Claude\claude_desktop_config.json`
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "influxdb": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcflux", "run", "server.py"],
      "env": {
        "INFLUXDB_URL": "http://localhost:8086",
        "INFLUXDB_USERNAME": "myuser",
        "INFLUXDB_PASSWORD": "mypass"
      }
    }
  }
}
```

### Claude Code

Add to `.claude/settings.json` or your project settings:

```json
{
  "mcpServers": {
    "influxdb": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcflux", "run", "server.py"],
      "env": {
        "INFLUXDB_URL": "http://localhost:8086",
        "INFLUXDB_USERNAME": "myuser",
        "INFLUXDB_PASSWORD": "mypass"
      }
    }
  }
}
```

## Configuration

| Environment variable | Required | Default | Description |
|---------------------|----------|---------|-------------|
| `INFLUXDB_URL` | No | `http://localhost:8086` | InfluxDB HTTP API URL |
| `INFLUXDB_USERNAME` | No | *(none)* | Username for basic auth |
| `INFLUXDB_PASSWORD` | No | *(none)* | Password for basic auth |

Omit `INFLUXDB_USERNAME` and `INFLUXDB_PASSWORD` if your instance does not require authentication.

## Building the .mcpb bundle

```bash
npm install -g @anthropic-ai/mcpb
mcpb pack .
```

This produces a `mcflux.mcpb` file that can be installed as a Claude Desktop extension.

## License

[MIT](LICENSE)

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a distinct purpose: ping for connectivity, list_* tools for schema exploration (databases, measurements, tags, fields), and query for executing InfluxQL. No overlapping functionality.

Naming Consistency4/5

Most tools follow the verb_noun pattern (list_databases, list_measurements, etc.). 'ping' and 'query' are exceptions but are standard, recognizable verbs in this context, so naming remains predictable.

Tool Count5/5

Seven tools is well within the ideal range for a focused server. Each tool addresses a core aspect of read-only InfluxDB interaction without redundancy.

Completeness5/5

The toolset covers the full read-only lifecycle: connectivity, database listing, schema exploration (measurements, tags, fields), and querying. Any missing metadata can be obtained through the query tool with SHOW statements.

Maintenance

ActivityInactive
ResponsivenessNo issues