Skip to main content

AWS Labs Timestream for InfluxDB MCP Server

An AWS Labs Model Context Protocol (MCP) server for Timestream for InfluxDB. This server provides tools to interact with AWS Timestream for InfluxDB APIs, allowing you to create and manage database instances, clusters, parameter groups, and more. It also includes tools to interact with InfluxDB's write and query APIs.

Features

  • Create, update, list, describe, and delete Timestream for InfluxDB database instances
  • Create, update, list, describe, and delete Timestream for InfluxDB database clusters
  • Manage DB parameter groups
  • Tag management for Timestream for InfluxDB resources
  • Manage InfluxDB 2 buckets and organizations
  • Write and query data using InfluxDB 2 APIs

Pre-requisites

  1. Install uv from Astral or the GitHub README
  2. Install Python using uv python install 3.10
  3. Set up AWS credentials with access to AWS services
    • You need an AWS account with appropriate permissions
    • Configure AWS credentials with aws configure or environment variables
    • Consider starting with Read-only permission if you don't want the LLM to modify any resources

Installation

Kiro Cursor VS Code
Add to Kiro Install MCP Server Install on VS Code

You can modify the settings of your MCP client to run your local server (e.g. for Kiro, ~/.kiro/settings/mcp.json)

{
  "mcpServers": {
    "awslabs.timestream-for-influxdb-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.timestream-for-influxdb-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1",
        "INFLUXDB_URL": "https://your-influxdb-endpoint:8086",
        "INFLUXDB_TOKEN": "your-influxdb-token",
        "INFLUXDB_ORG": "your-influxdb-org",
        "INFLUXDB_WRITE_MODE": "false",
        "ALLOW_WRITE": "false",
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows Installation

For Windows users, the MCP server configuration format is slightly different:

{
  "mcpServers": {
    "awslabs.timestream-for-influxdb-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.timestream-for-influxdb-mcp-server@latest",
        "awslabs.timestream-for-influxdb-mcp-server.exe"
      ],
      "env": {
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1",
        "INFLUXDB_URL": "https://your-influxdb-endpoint:8086",
        "INFLUXDB_TOKEN": "your-influxdb-token",
        "INFLUXDB_ORG": "your-influxdb-org",
        "INFLUXDB_WRITE_MODE": "false",
        "ALLOW_WRITE": "false",
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

InfluxDB Connection Security

InfluxDB tools use the INFLUXDB_URL, INFLUXDB_TOKEN, and INFLUXDB_ORG environment variables when no connection parameters are supplied in a tool call.

Connection parameters are treated as a single trust boundary:

  • If a tool call supplies any connection parameter, it must supply all parameters required by that tool. Server environment credentials are never used to complete a partial caller-supplied configuration.
  • A caller-supplied URL must match INFLUXDB_URL or an entry in the optional, comma-separated INFLUXDB_ALLOWED_URLS environment variable.
  • Configure additional endpoints before allowing tool calls to target them. For example, set INFLUXDB_ALLOWED_URLS to https://influxdb-a.example.com:8086,https://influxdb-b.example.com:8086.

This is a breaking change for clients that previously supplied only some connection parameters and relied on environment-variable fallback for the others. Update those clients to either omit all connection parameters or provide a complete configuration for an operator-approved URL.

Available Tools

The Timestream for InfluxDB MCP server provides the following tools:

AWS Timestream for InfluxDB Management

Database Cluster Management
  • CreateDbCluster: Create a new Timestream for InfluxDB database cluster
  • GetDbCluster: Retrieve information about a specific DB cluster
  • DeleteDbCluster: Delete a Timestream for InfluxDB database cluster
  • ListDbClusters: List all Timestream for InfluxDB database clusters
  • UpdateDbCluster: Update a Timestream for InfluxDB database cluster
  • ListDbClusters: List all Timestream for InfluxDB database clusters
  • ListDbInstancesForCluster: List DB instances belonging to a specific cluster
  • ListClustersByStatus: List DB clusters filtered by status
Database Instance Management
  • CreateDbInstance: Create a new Timestream for InfluxDB database instance
  • GetDbInstance: Retrieve information about a specific DB instance
  • DeleteDbInstance: Delete a Timestream for InfluxDB database instance
  • ListDbInstances: List all Timestream for InfluxDB database instances
  • UpdateDbInstance: Update a Timestream for InfluxDB database instance
  • ListDbInstancesByStatus: List DB instances filtered by status
Parameter Group Management
  • CreateDbParamGroup: Create a new DB parameter group
  • GetDbParameterGroup: Retrieve information about a specific DB parameter group
  • ListDbParamGroups: List all DB parameter groups
Tag Management
  • ListTagsForResource: List all tags on a Timestream for InfluxDB resource
  • TagResource: Add tags to a Timestream for InfluxDB resource
  • UntagResource: Remove tags from a Timestream for InfluxDB resource

InfluxDB Data Operations

Write API
  • InfluxDBWritePoints: Write data points to InfluxDB
  • InfluxDBWriteLP: Write data in Line Protocol format to InfluxDB
Query API
  • InfluxDBQuery: Query data from InfluxDB using Flux query language
Bucket Management
  • InfluxDBListBuckets: List all buckets in InfluxDB
  • InfluxDBCreateBucket: Create a new bucket in InfluxDB
Organization Management
  • InfluxDBListOrgs: List all organizations in InfluxDB
  • InfluxDBCreateOrg: Create a new organization in InfluxDB

Configuration

Environment Variables

Variable Required Default Description
AWS_PROFILE No — AWS profile for control-plane operations
AWS_REGION No us-east-1 AWS region
INFLUXDB_URL No — InfluxDB v2 endpoint URL (e.g. https://host:8086)
INFLUXDB_TOKEN No — InfluxDB v2 authentication token
INFLUXDB_ORG No — InfluxDB v2 organization name
INFLUXDB_ALLOWED_URLS No — Comma-separated list of additional approved InfluxDB URLs
INFLUXDB_WRITE_MODE No false Enable write-producing Flux operations in queries (see below)
ALLOW_WRITE No false Enable mutating tools (create/update/delete and data-plane writes). Operator-controlled; see below
FASTMCP_LOG_LEVEL No — Logging level (ERROR, WARNING, INFO, DEBUG)

Write Mode

By default, the server runs read-only: all mutating tools (create/update/delete DB clusters and instances, tag/untag, create parameter group, and the data-plane writes InfluxDBWritePoints, InfluxDBWriteLP, InfluxDBCreateBucket, InfluxDBCreateOrg) are refused. Write authorization is operator-controlled via the ALLOW_WRITE environment variable and is evaluated once at startup — it is not a tool parameter and cannot be set or overridden by a tool caller. To enable mutating tools, start the server with:

ALLOW_WRITE=true

When ALLOW_WRITE is not enabled, mutating tools raise an error and never call the underlying AWS or InfluxDB APIs.

Flux Query Write Mode

By default, the InfluxDBQuery tool rejects Flux queries that contain write-producing operations such as to(), experimental.to(), and wideTo(). This ensures that the query tool behaves as read-only, even when the configured InfluxDB token has write permissions.

To enable write-producing Flux operations through the query tool, set:

INFLUXDB_WRITE_MODE=true

This setting is operator-controlled and cannot be overridden by tool callers.

Best practice: For deployments that need both read and write capabilities, configure a read-only InfluxDB token for general use and enable writes with ALLOW_WRITE=true (and INFLUXDB_WRITE_MODE=true for Flux-query writes) only when needed. This provides the strongest data integrity guarantee regardless of the MCP server's write-mode setting.

Release files for awslabs.timestream-for-influxdb-mcp-server 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for awslabs.timestream-for-influxdb-mcp-server 0.1.2
File Size Uploaded
awslabs_timestream_for_influxdb_mcp_server-0.1.2.tar.gz 119.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for awslabs.timestream-for-influxdb-mcp-server 0.1.2
File Interpreter ABI Platform
awslabs_timestream_for_influxdb_mcp_server-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 142.8 kB

Release files / awslabs_timestream_for_influxdb_mcp_server-0.1.2.tar.gz

Download URL awslabs_timestream_for_influxdb_mcp_server-0.1.2.tar.gz
Size 119.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6040ee75e6ae7f11e3674a0776454476bd3901d43b8592938d1617eba64c4506
BLAKE2b-256 checksum
How to use checksums
e278269a163189a57ab72add9d593a30a577d59b506696840eee8e1005641db0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / awslabs_timestream_for_influxdb_mcp_server-0.1.2-py3-none-any.whl

Download URL awslabs_timestream_for_influxdb_mcp_server-0.1.2-py3-none-any.whl
Size 23.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
faae56871dc9bbbb139e7fdc12f91206d650a98ec9f481c266848c5052ec9d6c
BLAKE2b-256 checksum
How to use checksums
752971282a806c907ef327d2e52b01a0900a34aaadfa2c8de60f9d98766317bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.21

2 release files

0.0.19

2 release files

0.0.16

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page