Skip to main content
Glama
dmayan-ss

mcflux

by dmayan-ss

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.

Related MCP server: InfluxDB MCP Server

Requirements

  • Python 3.10+

  • uv package manager

  • An InfluxDB v1 instance

Installation

Claude Desktop (extension)

Download the latest .mcpb from 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

{
  "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:

{
  "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

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

Available Tools

7 tools
list_databasesA

List all databases on the InfluxDB instance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It states the action of listing all databases, implying a read-only operation, but does not disclose details like authentication, pagination, or output format. This is minimal but sufficient for a simple list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the verb, no unnecessary words. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no params, output schema present), the description fully covers what the tool does. No additional return details are required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema already fully defines all inputs. The description adds no parameter details, but none are needed; baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'List' and identifies the resource 'databases on the InfluxDB instance,' which clearly distinguishes it from sibling tools like ping and list_measurements.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit usage guidance or alternatives are mentioned, but the purpose is so straightforward that the intended use is implied. Lacks when-not-to-use or comparison with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_field_keysA

List field keys and their types in a database, optionally filtered by measurement.

Args: database: Name of the InfluxDB database. measurement: Optional measurement name to filter by.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseYes
measurementNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. 'List' indicates a read-only operation but does not explicitly state safety, permissions, or return behavior. The output schema exists, so return format is covered elsewhere, but other behavioral traits like potential errors are omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences plus a compact Args list. It is front-loaded with the core purpose and adds parameter details without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with an output schema and only two parameters, the description covers all essential aspects. No additional context is needed to understand or invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions (0% coverage), but the description provides clear semantics for both parameters: 'database' is an InfluxDB database name, and 'measurement' is an optional filter. This fully compensates for the schema's lack of detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists field keys and their types in a database, with optional filtering by measurement. This distinguishes it from siblings like list_tag_keys and list_measurements, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (to inspect field keys) and mentions the optional measurement filter. It does not explicitly state when to use alternatives or provide exclusions, but the context among sibling list tools is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_measurementsA

List all measurements in a database.

Args: database: Name of the InfluxDB database.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden of behavioral disclosure. It only says 'List all measurements' and does not explicitly mention that this is a read-only operation, nor does it describe any side effects, response format, or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and well-structured: the first sentence states the purpose, followed by a brief parameter explanation. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool is simple and an output schema exists, the description lacks usage context, behavioral caveats, and exclusion criteria. The lack of annotations and guidance makes it only minimally complete for a simple read-only list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only defines 'database' as a string with no description. The description adds semantic meaning by explaining it is the 'Name of the InfluxDB database', which is essential for correct invocation and compensates for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('List') and resource ('all measurements in a database'). This distinguishes it from sibling list tools like list_databases or list_tag_keys, which focus on different resource types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only states the basic action, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tag_keysA

List tag keys in a database, optionally filtered by measurement.

Args: database: Name of the InfluxDB database. measurement: Optional measurement name to filter by.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseYes
measurementNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It indicates a read-only list operation and the optional filtering, but doesn't disclose side effects, inclusion rules, or response format. This is minimally adequate but lacks deeper behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise and well-structured. The opening sentence states the purpose, followed by clear parameter explanations. No unnecessary words or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with an output schema present, the description is generally complete. It covers the core behavior and both parameters, though it could add more context about internal tag keys or return value nuances.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even with 0% schema description coverage, the description adds meaning by explaining 'database' as an InfluxDB database and 'measurement' as an optional filter. It compensates for the bare schema titles with concise, helpful semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action 'List' and the resource 'tag keys' within an InfluxDB database. It naturally differentiates from sibling tools like list_field_keys and list_tag_values by targeting tag keys specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its usage by stating what it does and the optional measurement filter, but it provides no explicit when-to-use guidance or comparisons with alternatives. It does not exclude any scenarios or mention preferred use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tag_valuesA

List values for a specific tag key.

Args: database: Name of the InfluxDB database. tag_key: The tag key whose values you want to list. measurement: Optional measurement name to filter by.

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_keyYes
databaseYes
measurementNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure but only states the basic action. It does not mention whether values are distinct, sorted, paginated, or require specific permissions, and it gives no information about side effects or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-sentence purpose followed by a focused Args block. Every line contributes useful information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the presence of an output schema, and the complete parameter explanations, the description is sufficient for basic invocation. It lacks only broader behavioral context such as return value semantics, but the output schema likely covers that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides explicit one-line meanings for all three parameters, including the optional measurement filter, which complements the bare schema and compensates for the 0% schema description coverage. This adds practical usage details beyond what the input schema alone provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('values for a specific tag key'), clearly stating the operation and distinguishing it from sibling tools like list_tag_keys. It precisely conveys the scope of the tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives such as list_tag_keys or list_measurements. The only implicit clue is the tool name and one-line summary, which is insufficient for an agent to make a confident choice among similar list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingA

Check connectivity to the InfluxDB instance. Returns the server version.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behavior. It states that it checks connectivity and returns the server version, which are the key behavioral aspects. It implicitly indicates a read-only, non-mutating operation, sufficient for a simple ping tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler. It front-loads the action and result, making it immediately scannable and easy to understand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, clear return value) and the presence of an output schema, the description is fully complete. It covers the purpose and behavioral outcome without needing additional details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and the schema coverage is 100% (vacuously), so the description does not need to add parameter details. The baseline for zero-parameter tools is 4, and no further explanation is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Check' with resource 'connectivity to the InfluxDB instance', clearly distinguishing it from sibling data operations like list_databases and query. It also specifies the return value (server version), leaving no ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies its use as a connectivity/health check for the InfluxDB instance. Though no explicit alternatives or exclusions are mentioned, the tool's purpose is self-evident and no sibling covers connectivity, making usage context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

queryA

Execute a read-only InfluxQL query against a database.

Only SELECT and SHOW statements are allowed. Write operations are blocked.

Args: database: Name of the InfluxDB database to query. influxql: The InfluxQL query to execute (e.g. SELECT * FROM cpu LIMIT 10). epoch: Timestamp precision in the response (ns, u, ms, s, m, h). Default: ms.

ParametersJSON Schema
NameRequiredDescriptionDefault
epochNoms
databaseYes
influxqlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It explicitly states that only SELECT and SHOW are allowed and that write operations are blocked, and it also describes the epoch parameter's effect on response precision. This covers key behaviors, though it does not mention error handling, rate limits, or response structure (mitigated by the presence of an output schema).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise and front-loaded, with the main purpose in the first sentence and a clearly structured Args list. Every sentence is informative, and the content is not padded. Mild redundancy ('read-only' and 'write operations are blocked') does not detract from overall clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given its complexity as a query tool and the existence of an output schema, the description covers the essential operational aspects: language, allowed commands, parameter meanings, and response precision. It is complete enough for an agent to use the tool effectively without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates by explaining each parameter in the Args section. It provides the database name, an InfluxQL example with a LIMIT clause, and a list of valid epoch precision values with a default. This adds significant meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes a read-only InfluxQL query against a database, with a specific verb ('Execute') and resource. It distinguishes from sibling tools by emphasizing read-only SELECT/SHOW queries, while siblings like list_databases and list_measurements provide targeted metadata lookups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states allowed statement types and that write operations are blocked, giving implicit context for when to use it. However, it does not explicitly mention alternatives or when to prefer the specialized list_* sibling tools over a general query, so the guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.3.0
    • First observedlist_databases
    • First observedlist_field_keys
    • First observedlist_measurements
    • First observedlist_tag_keys
    • First observedlist_tag_values
    • First observedping
    • First observedquery

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server implementation that enables Claude to execute read-only queries against MariaDB databases and explore database schemas through natural language.
    20
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that provides Claude with access to InfluxDB time-series database instances, enabling data writing, querying, and management of organizations and buckets through natural language.
    4
    243 npm
    44
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A read-only MCP server for SQL Server database introspection that enables Claude to explore and query databases via tools like listing objects and executing SELECT queries.
    20
    1
    MIT