InfluxDB MCP Server
This MCP server connects to InfluxDB v2 to browse database objects, query data, write time-series points, and manage buckets and organizations.
Browse organizations (
influxdb://orgs) and buckets (influxdb://buckets).List measurements in a bucket via
influxdb://bucket/{bucketName}/measurements.Execute Flux queries through
query-dataorinfluxdb://query/{orgName}/{fluxQuery}.Write line protocol data with optional timestamp precision using
write-data.Create buckets with optional retention periods using
create-bucket.Create organizations with optional descriptions using
create-org.Use built-in prompt templates for Flux query examples and line protocol guidance.
Run over stdio or Streamable HTTP with optional authentication, host restrictions, and body limits.
Provides templates and execution capabilities for Flux queries, which is the query language for InfluxDB, allowing for data querying and transformation operations.
Exposes access to an InfluxDB instance using the InfluxDB OSS API v2, allowing for organization and bucket management, measurement data access, writing time-series data, and executing Flux queries against the database.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@InfluxDB MCP Servershow me the CPU usage data from the last hour"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
InfluxDB v2 MCP Server
A Model Context Protocol (MCP) server that exposes access to an InfluxDB v2 instance using the InfluxDB OSS API v2. Mostly built with Claude Code.
Features
This MCP server provides:
Resources: Access to organization, bucket, and measurement data
Tools: Write data, execute queries, and manage database objects
Prompts: Templates for common Flux queries and Line Protocol format
Related MCP server: InfluxDB OSS API MCP Server
Resources
The server exposes the following resources:
Organizations List:
influxdb://orgsDisplays all organizations in the InfluxDB instance
Buckets List:
influxdb://bucketsShows all buckets with their metadata
Bucket Measurements:
influxdb://bucket/{bucketName}/measurementsLists all measurements within a specified bucket (uses
INFLUXDB_ORG)
Query Data:
influxdb://query/{orgName}/{fluxQuery}Executes a Flux query and returns results as JSON (
headersand one record per row, across all result tables)
Template variables (bucketName, orgName, fluxQuery) must be percent-encoded, e.g. with encodeURIComponent, so names containing spaces or / and multi-line queries survive the URI.
Tools
The server provides these tools:
write-data: Write time-series data in line protocol formatParameters: org, bucket, data, precision (optional)
organdbucketare optional whenINFLUXDB_ORG/INFLUXDB_BUCKETare set, and fall back to those values
query-data: Execute Flux queriesParameters: org, query
orgis optional whenINFLUXDB_ORGis set, and falls back to that value
create-bucket: Create a new bucketParameters: name, orgID, retentionPeriodSeconds (optional, whole seconds; omit or pass 0 for infinite retention)
create-org: Create a new organizationParameters: name, description (optional)
Prompts
The server offers these prompt templates:
flux-query-examples: Common Flux query examplesline-protocol-guide: Guide to InfluxDB line protocol format
Configuration
The server requires these environment variables:
INFLUXDB_TOKEN(required): Authentication token for the InfluxDB APIINFLUXDB_URL(optional): URL of the InfluxDB instance (defaults tohttp://localhost:8086)INFLUXDB_ORG(optional): Default organization name for certain operations. When set,orgbecomes optional on thewrite-dataandquery-datatoolsINFLUXDB_BUCKET(optional): Default bucket name. When set,bucketbecomes optional on thewrite-datatoolDEBUG(optional): Set tomcp:*to log every MCP message to stderr. This includes query text and written data, so leave it off in production
The following variables apply only to the Streamable HTTP transport (see HTTP transport security):
MCP_HTTP_HOST(optional): Interface to listen on (defaults to127.0.0.1; same as--host)MCP_AUTH_TOKEN(optional): When set, every request must sendAuthorization: Bearer <token>. Required to listen on a non-loopback interfaceMCP_ALLOWED_HOSTS(optional): Comma-separated hostnames (ports are ignored) accepted in theHostheader. Defaults tolocalhost,127.0.0.1,[::1]plus the bind address on loopback; unset means noHostcheck on other interfacesMCP_HTTP_ALLOW_UNAUTHENTICATED(optional): Set totrueto listen on a non-loopback interface withoutMCP_AUTH_TOKEN, e.g. behind a reverse proxy that authenticates for youMCP_HTTP_BODY_LIMIT(optional): Maximum request body size (defaults to4mb; acceptsb,kbormbsuffixes). Raise it for very largewrite-databatches
Requests to InfluxDB time out after 10 seconds (60 seconds for queries, 30 seconds for writes), including the time spent reading the response.
Installation
Installing via Smithery
To install InfluxDB MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @idoru/influxdb-mcp-server --client claudeOption 1: Run with npx (recommended)
# Run directly with npx
INFLUXDB_TOKEN=your_token npx influxdb-mcp-serverOption 2: Install globally
# Install globally
npm install -g influxdb-mcp-server
# Run the server
INFLUXDB_TOKEN=your_token influxdb-mcp-serverOption 3: From source
# Clone the repository
git clone https://github.com/idoru/influxdb-mcp-server.git
cd influxdb-mcp-server
# Install dependencies
npm install
# Run the server
INFLUXDB_TOKEN=your_token npm startNode.js 20 or later is required.
influxdb-mcp-server uses stdio transport by default. You can explicitly request it with --stdio, or start the server with Streamable HTTP transport by providing the --http option with an optional port number (defaults to 3000). This mode uses an internal Express.js server that listens on 127.0.0.1 unless --host is given:
# Start with Streamable HTTP transport on default port 3000
INFLUXDB_TOKEN=your_token npm start -- --http
# Start with Streamable HTTP transport on a specific port
INFLUXDB_TOKEN=your_token npm start -- --http 8080If you installed globally or are using npx, you can run:
INFLUXDB_TOKEN=your_token influxdb-mcp-server --http
# or explicitly force stdio
INFLUXDB_TOKEN=your_token influxdb-mcp-server --stdio
# or
INFLUXDB_TOKEN=your_token influxdb-mcp-server --http 8080HTTP transport security
Anyone who can reach the HTTP endpoint can read and write InfluxDB with the server's INFLUXDB_TOKEN, so the HTTP transport is locked down by default:
It listens on
127.0.0.1only.On loopback it rejects requests whose
Hostheader is notlocalhost,127.0.0.1or[::1], which blocks DNS rebinding attacks from websites open in your browser.It refuses to listen on any other interface unless
MCP_AUTH_TOKENis set (orMCP_HTTP_ALLOW_UNAUTHENTICATED=true).
To expose the server on your network, or from a container, require a bearer token:
INFLUXDB_TOKEN=your_token MCP_AUTH_TOKEN="$(openssl rand -hex 32)" \
influxdb-mcp-server --http 3000 --host 0.0.0.0Clients then send Authorization: Bearer <MCP_AUTH_TOKEN> with each request. Set MCP_ALLOWED_HOSTS to the hostnames clients use to reach the server for additional DNS rebinding protection. Prefer terminating TLS in front of the server when it is reachable beyond your machine.
Docker
The image runs as the unprivileged node user and uses stdio by default:
docker build -t influxdb-mcp-server .
docker run --rm -i -e INFLUXDB_TOKEN=your_token -e INFLUXDB_URL=http://host.docker.internal:8086 influxdb-mcp-server
# Streamable HTTP inside a container must bind 0.0.0.0, so it needs a token
docker run --rm -p 127.0.0.1:3000:3000 -e INFLUXDB_TOKEN=your_token -e MCP_AUTH_TOKEN=your_mcp_token \
influxdb-mcp-server --http 3000 --host 0.0.0.0Integration with Claude for Desktop
Add the server to your claude_desktop_config.json:
Using npx (recommended)
{
"mcpServers": {
"influxdb": {
"command": "npx",
"args": ["influxdb-mcp-server"],
"env": {
"INFLUXDB_TOKEN": "your_token",
"INFLUXDB_URL": "http://localhost:8086",
"INFLUXDB_ORG": "your_org",
"INFLUXDB_BUCKET": "your_bucket"
}
}
}
}If installed locally
{
"mcpServers": {
"influxdb": {
"command": "node",
"args": ["/path/to/influxdb-mcp-server/src/index.js"],
"env": {
"INFLUXDB_TOKEN": "your_token",
"INFLUXDB_URL": "http://localhost:8086",
"INFLUXDB_ORG": "your_org",
"INFLUXDB_BUCKET": "your_bucket"
}
}
}
}Code Structure
The server code is organized into a modular structure:
src/index.js- CLI entry point (argument parsing and transport selection)server.js- MCP server factory registering resources, tools and promptsconfig/- Configuration related filesenv.js- Environment variable handlinghttp.js- HTTP transport options and safety checks
http/- Streamable HTTP transportapp.js- Express app (Host validation, bearer auth, body limits)
utils/- Utility functionsinfluxClient.js- InfluxDB API client with request timeoutscsv.js- Flux CSV response parserflux.js- Flux string escaping and URI parameter decodingloggerConfig.js- Console logger configuration andDEBUGtracingtraceTransport.js- MCP message tracing forDEBUG=mcp:*
handlers/- Resource and tool handlersorganizationsHandler.js- Organizations listingbucketsHandler.js- Buckets listingmeasurementsHandler.js- Measurements listingqueryHandler.js- Query executionwriteDataTool.js- Data write toolqueryDataTool.js- Query toolcreateBucketTool.js- Bucket creation toolcreateOrgTool.js- Organization creation tool
prompts/- Prompt templatesfluxQueryExamplesPrompt.js- Flux query exampleslineProtocolGuidePrompt.js- Line protocol guide
This structure allows for better maintainability, easier testing, and clearer separation of concerns.
Testing
The repository includes comprehensive tests that:
Spin up a Docker container with InfluxDB
Populate it with sample data
Test all MCP server functionality
Exercise the HTTP transport's Host validation, authentication and limits, and the CSV and Flux helpers, without Docker
To run the tests:
npm testLicense
MIT
Available Tools
4 toolscreate-bucketA
Provision a new bucket under an organization so that subsequent write-data calls have a destination.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Friendly bucket name. Follow InfluxDB naming rules (alphanumeric, dashes, underscores). | |
| orgID | Yes | Organization ID (UUID) that will own the bucket. Retrieve it from the organizations resource or create-org output. | |
| retentionPeriodSeconds | No | Optional retention duration expressed in whole seconds. Omit (or pass 0) for infinite retention. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about whether creation is idempotent, what happens when the name collides, required permissions, or what the response contains. For a mutation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, stating the action, scope, and downstream purpose in order of importance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only three parameters and full schema coverage, the input side is well served, and the purpose is clear. However, with no annotations and no output schema, the description should say more about mutation semantics (idempotency, conflicts, auth) to be truly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (name, orgID, retentionPeriodSeconds) are already documented in the schema. The description adds no parameter-level meaning such as default retention behavior or naming constraints beyond what the schema states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Provision a new bucket') and scopes it to an organization, plus ties it to the write-data sibling as the downstream consumer. It is clearly distinguishable from create-org and query-data, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'so that subsequent write-data calls have a destination' gives a clear precondition: create this before writing data. It implies the context of use well but offers no explicit exclusions or alternative paths (e.g., what to do if a bucket already exists).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-orgB
Create a brand-new organization to isolate users or projects before generating buckets and tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the organization as it should appear in InfluxDB Cloud/OSS. | |
| description | No | Optional free-form description that helps humans understand why the org exists. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. Beyond 'brand-new' implying a mutation, it says nothing about permissions required, whether the call is idempotent, what happens on duplicate names, or what the response contains — significant gaps for a create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though its brevity is partly why behavioral gaps remain rather than a model of well-packed information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Parameters are fully covered by the schema and there is no output schema to explain, but as an unannotated mutation tool the description should say more about side effects, required auth, and what is returned. It is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only two well-documented parameters, so the schema already explains both 'name' and 'description'. The description adds no additional meaning about parameter formatting or defaults, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a brand-new organization') and adds the reason for doing so (isolating users/projects). It does not explicitly name the sibling tools it differs from, but the mention of buckets and tokens makes the relationship to create-bucket clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'...before generating buckets and tokens' gives a sequencing hint that this is a prerequisite step in a workflow. However, there is no explicit when-to-use/when-not guidance, no statement about what to do if an org already exists, and no alternative tools named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query-dataA
Execute a Flux query inside an organization to inspect measurement schemas, run aggregations, or validate recently written data. Default org: "my-organization".
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Organization whose buckets the query should target (exact name, not ID). Defaults to "my-organization" if omitted. | |
| query | Yes | Flux query text. Multi-line strings are supported; results are returned as annotated CSV for easy parsing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies read-oriented use through verbs like "inspect" and "validate" and discloses the default organization, but it does not explicitly confirm read-only behavior, permissions requirements, side-effect boundaries, or error behavior for Flux queries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences, front-loads the core action and use cases, and includes the default organization without unnecessary detail. Every sentence contributes relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple two-parameter schema and absence of an output schema, the description covers the tool's purpose and default org well. It could more explicitly mention result format or permission expectations, but it is largely complete for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the org and query parameters are already documented in the input schema. The description reinforces the default org value but adds no meaningful syntax, constraints, or semantics beyond what the schema already provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("Execute a Flux query") and lists concrete use cases: inspecting measurement schemas, running aggregations, and validating recently written data. It is clearly a query/read tool, distinct from the sibling create-bucket, write-data, and create-org tools, though it does not explicitly name or contrast those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage contexts: inspect schemas, run aggregations, or validate data. It does not state when not to use the tool or explicitly compare it to alternatives, but the intended scenarios are sufficiently clear for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write-dataB
Stream newline-delimited line protocol records into a bucket. Use this after composing measurements so the LLM can insert real telemetry, optionally controlling timestamp precision. Default org: "my-organization".
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Human-readable organization name that owns the destination bucket (the same value returned by the orgs resource). Defaults to "my-organization" if omitted. | |
| data | Yes | Payload containing one or more line protocol lines (measurements, tags, fields, timestamps) separated by newlines. | |
| bucket | Yes | Bucket name to receive the points. Make sure it already exists or call create-bucket first. | |
| precision | No | Optional timestamp precision. Provide it only when the line protocol omits unit suffix context; defaults to nanoseconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It conveys that this is a write/ingest path but says nothing about duplicate handling, overwrite semantics, partial-write behavior, batch size limits, or auth requirements — all material for a telemetry ingestion call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action in the first sentence, followed by sequential guidance. The trailing 'Default org: "my-organization"' repeats the schema and is the one non-earning sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Parameters are fully covered by the schema and the purpose/sequencing is stated, but for a write tool with no annotations and no output schema, nothing is said about failure modes, whether the call is idempotent, or what a successful response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains bucket, data, org, and precision. The description only adds a light gloss on timestamp precision and restates the default org, which is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Stream newline-delimited line protocol records into a bucket'), which is unmistakably distinct from sibling tools query-data and create-bucket. It does not explicitly name those siblings, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use this after composing measurements so the LLM can insert real telemetry' hints at sequencing, and the schema notes the create-bucket prerequisite. There is no explicit when-not guidance or named alternative (e.g., vs. batch import or query-data) in the description itself.
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.
4 tool updates
v0.4.0- Changed
create-bucket5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Input schema / properties / retentionPeriodSeconds / descriptionPrevious value: -"Optional retention duration expressed in seconds. Omit for infinite retention."New value: +"Optional retention duration expressed in whole seconds. Omit (or pass 0) for infinite retention." - added
Input schema / properties / retentionPeriodSeconds / maximumAdded value: +9007199254740991 - added
Input schema / properties / retentionPeriodSeconds / minimumAdded value: +0 - changed
Input schema / properties / retentionPeriodSeconds / typePrevious value: -"number"New value: +"integer"
- Changed
create-org1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
query-data3 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Input schema / properties / org / descriptionPrevious value: -"Organization whose buckets the query should target (exact name, not ID)."New value: +"Organization whose buckets the query should target (exact name, not ID). Defaults to \"my-organization\" if omitted." - changed
Input schema / requiredPrevious value: -[ - "org", - "query" -]New value: +[ + "query" +]
- Changed
write-data3 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Input schema / properties / org / descriptionPrevious value: -"Human-readable organization name that owns the destination bucket (the same value returned by the orgs resource)."New value: +"Human-readable organization name that owns the destination bucket (the same value returned by the orgs resource). Defaults to \"my-organization\" if omitted." - changed
Input schema / requiredPrevious value: -[ - "org", - "bucket", - "data" -]New value: +[ + "bucket", + "data" +]
4 tool updates
v0.2.0- Changed
create-bucket3 fields changed- changed
Input schema / properties / name / descriptionPrevious value: -"The bucket name"New value: +"Friendly bucket name. Follow InfluxDB naming rules (alphanumeric, dashes, underscores)." - changed
Input schema / properties / orgID / descriptionPrevious value: -"The organization ID"New value: +"Organization ID (UUID) that will own the bucket. Retrieve it from the organizations resource or create-org output." - changed
Input schema / properties / retentionPeriodSeconds / descriptionPrevious value: -"Retention period in seconds (optional)"New value: +"Optional retention duration expressed in seconds. Omit for infinite retention."
- Changed
create-org2 fields changed- changed
Input schema / properties / description / descriptionPrevious value: -"Organization description (optional)"New value: +"Optional free-form description that helps humans understand why the org exists." - changed
Input schema / properties / name / descriptionPrevious value: -"The organization name"New value: +"Display name for the organization as it should appear in InfluxDB Cloud/OSS."
- Changed
query-data2 fields changed- changed
Input schema / properties / org / descriptionPrevious value: -"The organization name"New value: +"Organization whose buckets the query should target (exact name, not ID)." - changed
Input schema / properties / query / descriptionPrevious value: -"Flux query string"New value: +"Flux query text. Multi-line strings are supported; results are returned as annotated CSV for easy parsing."
- Changed
write-data4 fields changed- changed
Input schema / properties / bucket / descriptionPrevious value: -"The bucket name"New value: +"Bucket name to receive the points. Make sure it already exists or call create-bucket first." - changed
Input schema / properties / data / descriptionPrevious value: -"Data in InfluxDB line protocol format"New value: +"Payload containing one or more line protocol lines (measurements, tags, fields, timestamps) separated by newlines." - changed
Input schema / properties / org / descriptionPrevious value: -"The organization name"New value: +"Human-readable organization name that owns the destination bucket (the same value returned by the orgs resource)." - changed
Input schema / properties / precision / descriptionPrevious value: -"Timestamp precision (ns, us, ms, s)"New value: +"Optional timestamp precision. Provide it only when the line protocol omits unit suffix context; defaults to nanoseconds."
4 tool updates
v1.0.0- First observed
create-bucket - First observed
create-org - First observed
query-data - First observed
write-data
TDQS
Scored across 4 tools
Each tool maps to a distinct resource and action: query-data reads, write-data ingests, create-bucket provisions storage, and create-org provisions a top-level container. There is no plausible way to confuse these operations with one another.
All four names follow the same lowercase hyphenated verb_noun convention (query-data, write-data, create-bucket, create-org). The pattern is fully predictable.
Four tools is at the thin end of the acceptable range but each one earns its place in the core write/query workflow. A slightly larger surface (listing/cleanup) would round out the set.
The core read/write path plus resource creation is covered, but there are no list or delete operations for buckets or orgs, leaving lifecycle gaps. The create-org description mentions tokens, yet no token tooling exists, creating a dead end.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
A Model Context Protocol server for Wix AI tools
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides secure, read-only access to time-series data stored in InfluxDB 1.8 via JWT authentication.4-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interactions with InfluxDB's open-source time-series database API, allowing data querying, management, and operations through natural language.-
- AlicenseAqualityDmaintenanceA Model Context Protocol server providing tools for DB queries, API calls, file I/O, and text transformations, enabling AI agents like Claude to perform real-world actions.10MIT
- AlicenseNot gradedqualityDmaintenanceInfluxDB-v1-MCP is a powerful Model Context Protocol (MCP) interface specifically designed for InfluxDB v1.x, enabling AI assistants to intelligently manage and query time-series databases.Apache 2.0