feat: add InfluxDB documentation MCP server integration (#6830)
* chore(deps): update yarn dependencies Run yarn to update lockfile with latest compatible versions. * feat: add InfluxDB documentation MCP server integration - Enable MCP widget in Ask AI (data-mcp-enabled, data-mcp-server-url) - Restructure mcp-server.md with anchor TOC for database and docs MCP - Add documentation MCP server page for products without database MCP: - cloud-serverless, clustered, v2, cloud (TSM), telegraf - Place in Reference section (or telegraf_v1_ref menu) - Add shared content file for docs-only MCP server - Add "Connect to documentation MCP" link in format-selector dropdown - Add related MCP links to all get-started/setup pages * fix: correct JSON syntax and product-aware MCP docs URL - Fix JSON syntax errors in Cloud Dedicated config examples (= → :) - Add missing comma in Docker args array for local server config - Make format-selector MCP docs URL product-aware using Hugo path detection * docs: add MCP pages for v1 products, fix menu, add screenshot - Fix cloud-serverless identify-version menu parent to "Administer InfluxDB Cloud" - Add MCP server pages for influxdb/v1 and enterprise_influxdb/v1 in Tools menu - Update format-selector with v1 and enterprise_influxdb/v1 MCP docs paths - Add MCP tool search screenshot showing search_influxdb_knowledge_sources * Update content/influxdb3/cloud-serverless/get-started/setup.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update content/telegraf/v1/mcp-server.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>gw/data-https-insecure-certificate
parent
c97428b600
commit
b4a0eea0a3
|
|
@ -86,7 +86,10 @@
|
|||
askAI.setAttribute('data-modal-title-color', '#fff');
|
||||
askAI.setAttribute('data-modal-title-font-size', '1.25rem');
|
||||
askAI.setAttribute('data-modal-lock-scroll', 'false');
|
||||
|
||||
// MCP server integration - enables "Use MCP" dropdown in widget header
|
||||
askAI.setAttribute('data-mcp-enabled', 'true');
|
||||
askAI.setAttribute('data-mcp-server-url', 'https://influxdb-docs.mcp.kapa.ai');
|
||||
|
||||
// Add the script to the document head
|
||||
document.head.appendChild(askAI);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -121,6 +121,10 @@ function initializeChat({
|
|||
modalHeaderBorderBottom: 'none',
|
||||
modalTitleColor: '#fff',
|
||||
modalTitleFontSize: '1.25rem',
|
||||
// MCP server integration - enables "Use MCP" dropdown in widget header
|
||||
// See: https://docs.kapa.ai/integrations/website-widget/configuration#mcp-install-menu
|
||||
mcpEnabled: 'true',
|
||||
mcpServerUrl: 'https://influxdb-docs.mcp.kapa.ai',
|
||||
};
|
||||
|
||||
const scriptUrl = 'https://widget.kapa.ai/kapa-widget.bundle.js';
|
||||
|
|
|
|||
|
|
@ -33,9 +33,8 @@ interface FormatSelectorConfig {
|
|||
chatGptUrl: string;
|
||||
claudeUrl: string;
|
||||
|
||||
// Future MCP server links
|
||||
mcpCursorUrl?: string;
|
||||
mcpVSCodeUrl?: string;
|
||||
// Documentation MCP server link
|
||||
mcpDocsUrl?: string;
|
||||
}
|
||||
|
||||
interface FormatSelectorOption {
|
||||
|
|
@ -135,9 +134,8 @@ export default function FormatSelector(options: ComponentOptions) {
|
|||
chatGptUrl: generateChatGPTUrl(pageTitle, currentUrl, markdownUrl),
|
||||
claudeUrl: generateClaudeUrl(pageTitle, currentUrl, markdownUrl),
|
||||
|
||||
// Future MCP server links
|
||||
mcpCursorUrl: component.dataset.mcpCursorUrl,
|
||||
mcpVSCodeUrl: component.dataset.mcpVSCodeUrl,
|
||||
// Documentation MCP server link
|
||||
mcpDocsUrl: component.dataset.mcpDocsUrl,
|
||||
};
|
||||
|
||||
// Update button label based on page type
|
||||
|
|
@ -406,38 +404,21 @@ export default function FormatSelector(options: ComponentOptions) {
|
|||
}
|
||||
*/
|
||||
|
||||
// Future: MCP server options
|
||||
// Commented out for now - will be implemented as future enhancement
|
||||
/*
|
||||
if (config.mcpCursorUrl) {
|
||||
// Option 4: Connect to documentation MCP server
|
||||
if (config.mcpDocsUrl) {
|
||||
options.push({
|
||||
label: 'Connect to Cursor',
|
||||
sublabel: 'Install MCP Server on Cursor',
|
||||
icon: 'cursor',
|
||||
action: () => handleExternalLink(config.mcpCursorUrl!),
|
||||
href: config.mcpCursorUrl,
|
||||
label: 'Connect to documentation MCP',
|
||||
sublabel: 'Query docs from your IDE with AI agents',
|
||||
icon: 'mcp',
|
||||
action: () => handleExternalLink(config.mcpDocsUrl!),
|
||||
href: config.mcpDocsUrl,
|
||||
target: '_blank',
|
||||
external: true,
|
||||
visible: true,
|
||||
dataAttribute: 'connect-cursor',
|
||||
dataAttribute: 'connect-mcp-docs',
|
||||
});
|
||||
}
|
||||
|
||||
if (config.mcpVSCodeUrl) {
|
||||
options.push({
|
||||
label: 'Connect to VS Code',
|
||||
sublabel: 'Install MCP Server on VS Code',
|
||||
icon: 'vscode',
|
||||
action: () => handleExternalLink(config.mcpVSCodeUrl!),
|
||||
href: config.mcpVSCodeUrl,
|
||||
target: '_blank',
|
||||
external: true,
|
||||
visible: true,
|
||||
dataAttribute: 'connect-vscode',
|
||||
});
|
||||
}
|
||||
*/
|
||||
|
||||
return options.filter((opt) => opt.visible);
|
||||
}
|
||||
|
||||
|
|
@ -475,6 +456,11 @@ export default function FormatSelector(options: ComponentOptions) {
|
|||
<path d="M14 17L6 10L3 13L14 17Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M14 3V17" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>`,
|
||||
mcp: `<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M10 2L3 6V14L10 18L17 14V6L10 2Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M10 18V10" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M17 6L10 10L3 6" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>`,
|
||||
};
|
||||
return icons[iconName] || icons.document;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: Use the InfluxDB documentation MCP server
|
||||
description: >
|
||||
Query InfluxDB documentation from your IDE using the InfluxDB documentation
|
||||
MCP server.
|
||||
menu:
|
||||
enterprise_influxdb_v1:
|
||||
name: Documentation MCP server
|
||||
parent: Tools
|
||||
weight: 100
|
||||
enterprise_influxdb/v1/tags: [MCP, LLM, AI]
|
||||
source: /shared/influxdb3-admin/mcp-server-docs-only.md
|
||||
---
|
||||
|
||||
<!-- //SOURCE content/shared/influxdb3-admin/mcp-server-docs-only.md -->
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: Use the InfluxDB documentation MCP server
|
||||
description: >
|
||||
Query InfluxDB documentation from your IDE using the InfluxDB documentation
|
||||
MCP server.
|
||||
menu:
|
||||
influxdb_cloud:
|
||||
name: Documentation MCP server
|
||||
parent: Reference
|
||||
weight: 206
|
||||
influxdb/cloud/tags: [MCP, LLM, AI]
|
||||
source: /shared/influxdb3-admin/mcp-server-docs-only.md
|
||||
---
|
||||
|
||||
<!-- //SOURCE content/shared/influxdb3-admin/mcp-server-docs-only.md -->
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: Use the InfluxDB documentation MCP server
|
||||
description: >
|
||||
Query InfluxDB documentation from your IDE using the InfluxDB documentation
|
||||
MCP server.
|
||||
menu:
|
||||
influxdb_v1:
|
||||
name: Documentation MCP server
|
||||
parent: Tools
|
||||
weight: 100
|
||||
influxdb/v1/tags: [MCP, LLM, AI]
|
||||
source: /shared/influxdb3-admin/mcp-server-docs-only.md
|
||||
---
|
||||
|
||||
<!-- //SOURCE content/shared/influxdb3-admin/mcp-server-docs-only.md -->
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: Use the InfluxDB documentation MCP server
|
||||
description: >
|
||||
Query InfluxDB documentation from your IDE using the InfluxDB documentation
|
||||
MCP server.
|
||||
menu:
|
||||
influxdb_v2:
|
||||
name: Documentation MCP server
|
||||
parent: Reference
|
||||
weight: 206
|
||||
influxdb/v2/tags: [MCP, LLM, AI]
|
||||
source: /shared/influxdb3-admin/mcp-server-docs-only.md
|
||||
---
|
||||
|
||||
<!-- //SOURCE content/shared/influxdb3-admin/mcp-server-docs-only.md -->
|
||||
|
|
@ -15,6 +15,7 @@ metadata: [1 / 3]
|
|||
related:
|
||||
- /influxdb3/cloud-dedicated/admin/databases/
|
||||
- /influxdb3/cloud-dedicated/admin/tokens/
|
||||
- /influxdb3/cloud-dedicated/admin/mcp-server/
|
||||
- /influxdb3/cloud-dedicated/reference/cli/influxctl/
|
||||
- /influxdb3/cloud-dedicated/reference/api/
|
||||
---
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ description: Learn how to identify your InfluxDB Cloud Serverless instance throu
|
|||
menu:
|
||||
influxdb3_cloud_serverless:
|
||||
name: Identify version
|
||||
parent: Administer InfluxDB
|
||||
parent: Administer InfluxDB Cloud
|
||||
weight: 10
|
||||
source: /shared/identify-version.md
|
||||
related:
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ related:
|
|||
- /influxdb3/cloud-serverless/security/tokens/create-token/
|
||||
- /influxdb3/cloud-serverless/security/tokens/view-tokens/
|
||||
- /influxdb3/cloud-serverless/admin/buckets/
|
||||
- /influxdb3/cloud-serverless/reference/mcp-server/
|
||||
- /influxdb3/cloud-serverless/reference/cli/influx/
|
||||
- /influxdb3/cloud-serverless/reference/api/
|
||||
aliases:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: Use the InfluxDB documentation MCP server
|
||||
description: >
|
||||
Query InfluxDB documentation from your IDE using the InfluxDB documentation
|
||||
MCP server.
|
||||
menu:
|
||||
influxdb3_cloud_serverless:
|
||||
name: Documentation MCP server
|
||||
parent: Reference
|
||||
weight: 206
|
||||
influxdb3/cloud-serverless/tags: [MCP, LLM, AI]
|
||||
source: /shared/influxdb3-admin/mcp-server-docs-only.md
|
||||
---
|
||||
|
||||
<!-- //SOURCE content/shared/influxdb3-admin/mcp-server-docs-only.md -->
|
||||
|
|
@ -14,6 +14,7 @@ weight: 101
|
|||
metadata: [1 / 3]
|
||||
related:
|
||||
- /influxdb3/clustered/admin/databases/
|
||||
- /influxdb3/clustered/admin/mcp-server/
|
||||
- /influxdb3/clustered/reference/cli/influxctl/
|
||||
- /influxdb3/clustered/reference/api/
|
||||
---
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: Use the InfluxDB documentation MCP server
|
||||
description: >
|
||||
Query InfluxDB documentation from your IDE using the InfluxDB documentation
|
||||
MCP server.
|
||||
menu:
|
||||
influxdb3_clustered:
|
||||
name: Documentation MCP server
|
||||
parent: Reference
|
||||
weight: 206
|
||||
influxdb3/clustered/tags: [MCP, LLM, AI]
|
||||
source: /shared/influxdb3-admin/mcp-server-docs-only.md
|
||||
---
|
||||
|
||||
<!-- //SOURCE content/shared/influxdb3-admin/mcp-server-docs-only.md -->
|
||||
|
|
@ -11,6 +11,7 @@ weight: 3
|
|||
related:
|
||||
- /influxdb3/core/install/
|
||||
- /influxdb3/core/admin/tokens/
|
||||
- /influxdb3/core/admin/mcp-server/
|
||||
- /influxdb3/core/reference/config-options/
|
||||
source: /shared/influxdb3-get-started/setup.md
|
||||
---
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ weight: 101
|
|||
related:
|
||||
- /influxdb3/enterprise/install/
|
||||
- /influxdb3/enterprise/admin/tokens/
|
||||
- /influxdb3/enterprise/admin/mcp-server/
|
||||
- /influxdb3/enterprise/reference/config-options/
|
||||
source: /shared/influxdb3-get-started/setup.md
|
||||
---
|
||||
|
|
|
|||
|
|
@ -0,0 +1,103 @@
|
|||
The **InfluxDB documentation MCP server** lets AI tools and agents search InfluxDB
|
||||
documentation directly from your development environment.
|
||||
Use it to find answers, code examples, and configuration details without leaving your IDE.
|
||||
|
||||
## Why use the documentation MCP server?
|
||||
|
||||
When you connect the documentation MCP server to your AI coding assistant, the assistant
|
||||
can search InfluxDB documentation to answer your questions with accurate, up-to-date information.
|
||||
Instead of switching to a browser or guessing at syntax, you can ask questions
|
||||
in your IDE and get responses grounded in official documentation.
|
||||
|
||||
**Common use cases:**
|
||||
|
||||
- Get help writing queries, client library code, or CLI commands
|
||||
- Look up configuration options and environment variables
|
||||
- Find code examples for specific tasks
|
||||
- Troubleshoot errors with documentation-backed answers
|
||||
|
||||
## Install the documentation MCP server
|
||||
|
||||
The documentation MCP server is a hosted service—you don't need to install or run anything locally.
|
||||
Add the server URL to your AI tool's MCP configuration.
|
||||
|
||||
> [!Note]
|
||||
> On first use, you'll be prompted to sign in with Google.
|
||||
> This authentication is used only for rate limiting—no personal data is collected.
|
||||
|
||||
**MCP server URL:**
|
||||
|
||||
```text
|
||||
https://influxdb-docs.mcp.kapa.ai
|
||||
```
|
||||
|
||||
The server uses SSE (Server-Sent Events) transport.
|
||||
For help adding MCP servers, refer to your tool's documentation or ask your AI assistant.
|
||||
|
||||
## Authentication and rate limits
|
||||
|
||||
When you connect to the documentation MCP server for the first time, a Google sign-in
|
||||
window opens to complete an OAuth/OpenID Connect login.
|
||||
|
||||
The hosted MCP server:
|
||||
|
||||
- Requests only the `openid` scope from Google
|
||||
- Receives an ID token (JWT) containing a stable, opaque user ID
|
||||
- Does not request `email` or `profile` scopes—your name, email address, and other
|
||||
personal data are not collected
|
||||
|
||||
The anonymous Google ID enforces per-user rate limits to prevent abuse:
|
||||
|
||||
- **40 requests** per user per hour
|
||||
- **200 requests** per user per day
|
||||
|
||||
> [!Tip]
|
||||
> On Google's consent screen, this appears as "Associate you with your personal info on Google."
|
||||
> This is Google's generic wording for the `openid` scope—it means the app can recognize
|
||||
> that the same Google account is signing in again.
|
||||
> It does not grant access to your email, name, contacts, or other data.
|
||||
|
||||
## Search documentation with the MCP tool
|
||||
|
||||
The documentation MCP server exposes a semantic search tool:
|
||||
|
||||
```text
|
||||
search_influxdb_knowledge_sources
|
||||
```
|
||||
|
||||
This tool lets AI agents perform semantic retrieval over InfluxDB documentation
|
||||
and related knowledge sources.
|
||||
|
||||
**What the tool does:**
|
||||
|
||||
- Searches all InfluxDB documentation for a given query
|
||||
- Returns the most relevant chunks in descending order of relevance
|
||||
- Each chunk is a self-contained snippet from a single documentation page
|
||||
|
||||
**Response format:**
|
||||
|
||||
Each result includes:
|
||||
|
||||
- `source_url`: URL of the original documentation page
|
||||
- `content`: The chunk content in Markdown
|
||||
|
||||
{{< img-hd src="/img/influxdb3/core-mcp-influxdb3-plugin.png" alt="MCP tool search results showing InfluxDB documentation" />}}
|
||||
|
||||
## Use the documentation MCP server
|
||||
|
||||
After you install the documentation MCP server, your AI assistant can search InfluxDB
|
||||
documentation to help you with tasks.
|
||||
Ask questions naturally—the assistant uses the MCP server to find relevant documentation
|
||||
and provide accurate answers.
|
||||
|
||||
### Example prompts
|
||||
|
||||
> "How do I write data to InfluxDB using Python?"
|
||||
>
|
||||
> "What's the syntax for a SQL query with a WHERE clause in InfluxDB?"
|
||||
>
|
||||
> "Show me how to configure Telegraf to collect CPU metrics."
|
||||
>
|
||||
> "What environment variables does the InfluxDB CLI use?"
|
||||
>
|
||||
> "How do I create a database token with read-only permissions?"
|
||||
|
|
@ -1,13 +1,20 @@
|
|||
The **InfluxDB Model Context Protocol (MCP) server** lets you interact with
|
||||
InfluxDB provides two Model Context Protocol (MCP) servers for integrating with AI assistants:
|
||||
|
||||
- [Manage your InfluxDB instance with the database MCP server](#manage-your-influxdb-instance-with-the-database-mcp-server)
|
||||
- [Query InfluxDB documentation from your IDE](#query-influxdb-documentation-from-your-ide)
|
||||
|
||||
## Manage your InfluxDB instance with the database MCP server
|
||||
|
||||
The **InfluxDB database MCP server** lets you interact with
|
||||
{{% product-name %}} using natural language with large language model (LLM) agents.
|
||||
It enables database management, token handling, and SQL query generation in plain
|
||||
English—no coding required.
|
||||
|
||||
This guide walks you through configuring your LLM agent to run and use the
|
||||
InfluxDB MCP server to interact with your
|
||||
This section walks you through configuring your LLM agent to run and use the
|
||||
InfluxDB database MCP server to interact with your
|
||||
{{% product-name omit=" Clustered" %}} {{% show-in "core,enterprise" %}}server{{% /show-in %}}{{% show-in "cloud-dedicated,clustered" %}}cluster{{% /show-in %}}.
|
||||
|
||||
## Prerequisites
|
||||
### Prerequisites
|
||||
|
||||
- Node.js v18+ _(if using `npx` to run the MCP server)_
|
||||
- Docker _(if using Docker to run the MCP server)_
|
||||
|
|
@ -18,14 +25,14 @@ InfluxDB MCP server to interact with your
|
|||
{{% show-in "cloud-dedicated,clustered" %}}- Valid {{% product-name %}} [management and database tokens](/influxdb3/cloud-dedicated/admin/tokens/){{% /show-in %}}
|
||||
- _(Optional)_ An LLM assistant like Claude Desktop, ChatGPT Desktop, etc.
|
||||
|
||||
## Configure the MCP server
|
||||
### Configure the database MCP server
|
||||
|
||||
Use environment variables to configure the InfluxDB 3 MCP server and connect it
|
||||
to your {{% product-name omit=" Clustered" %}}
|
||||
{{% show-in "core,enterprise" %}}server{{% /show-in %}}{{% show-in "cloud-dedicated,clustered" %}}cluster{{% /show-in %}}.
|
||||
Set the following environment variables when you start the MCP server:
|
||||
|
||||
### Required InfluxDB connection variables
|
||||
#### Required InfluxDB connection variables
|
||||
|
||||
{{% show-in "core,enterprise" %}}
|
||||
|
||||
|
|
@ -52,11 +59,11 @@ Set the following environment variables when you start the MCP server:
|
|||
{{% show-in "enterprise" %}}
|
||||
- **INFLUX_DB_TOKEN**: Your {{% product-name %}} [admin token](/influxdb3/enterprise/admin/tokens/admin) or [resource token](/influxdb3/enterprise/admin/tokens/resource).
|
||||
|
||||
|
||||
|
||||
> [!Note]
|
||||
> If using a resource token, your LLM agent can only perform the operations
|
||||
> allowed by the token permissions.
|
||||
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
{{% show-in "cloud-dedicated,clustered" %}}
|
||||
|
|
@ -76,14 +83,14 @@ Set the following environment variables when you start the MCP server:
|
|||
|
||||
{{% /show-in %}}
|
||||
|
||||
## Configure your LLM agent to run the MCP server
|
||||
### Configure your LLM agent to run the database MCP server
|
||||
|
||||
To run the MCP, user either Node.js and `npm` or Docker to run the server.
|
||||
To run the MCP server, use either Node.js and `npm` or Docker.
|
||||
Some LLM agents, like [Claude Desktop](https://claude.ai/download), start, run,
|
||||
and connect to the MCP server for you:
|
||||
and connect to the MCP server for you.
|
||||
|
||||
The following instructions provide information for how to configure
|
||||
**Claude Desktop** to use the InfluxDB MCP server.
|
||||
The following instructions show how to configure
|
||||
**Claude Desktop** to use the InfluxDB database MCP server.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
|
|
@ -116,9 +123,9 @@ The following instructions provide information for how to configure
|
|||
This builds the files necessary to run the MCP server and stores them in `./build`.
|
||||
The `./build/index.js` file starts the MCP server.
|
||||
|
||||
### Configure your LLM Agent to use the Node.js-based MCP server
|
||||
#### Configure your LLM Agent to use the Node.js-based MCP server
|
||||
|
||||
In **Claude Desktop**, go to **Settings** > **Developers** and edit your configuration.
|
||||
In **Claude Desktop**, go to **Settings** > **Developer** and edit your configuration.
|
||||
Enter the following JSON configuration:
|
||||
|
||||
{{% show-in "core,enterprise" %}}
|
||||
|
|
@ -160,11 +167,11 @@ Replace the following:
|
|||
"command": "node",
|
||||
"args": ["/path/to/influxdb3_mcp_server/build/index.js"],
|
||||
"env": {
|
||||
"INFLUX_DB_PRODUCT_TYPE"="{{% product-key %}}",
|
||||
"INFLUX_DB_CLUSTER_ID"="DEDICATED_CLUSTER_ID",
|
||||
"INFLUX_DB_ACCOUNT_ID"="DEDICATED_ACCOUNT_ID",
|
||||
"INFLUX_DB_TOKEN"="DEDICATED_DATABASE_TOKEN",
|
||||
"INFLUX_DB_MANAGEMENT_TOKEN"="DEDICATED_MANAGEMENT_TOKEN"
|
||||
"INFLUX_DB_PRODUCT_TYPE": "{{% product-key %}}",
|
||||
"INFLUX_DB_CLUSTER_ID": "DEDICATED_CLUSTER_ID",
|
||||
"INFLUX_DB_ACCOUNT_ID": "DEDICATED_ACCOUNT_ID",
|
||||
"INFLUX_DB_TOKEN": "DEDICATED_DATABASE_TOKEN",
|
||||
"INFLUX_DB_MANAGEMENT_TOKEN": "DEDICATED_MANAGEMENT_TOKEN"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -176,10 +183,10 @@ Replace the following:
|
|||
|
||||
- {{% code-placeholder-key %}}`path/to`{{% /code-placeholder-key %}}:
|
||||
The absolute path to your `influxdb3_mcp_server` project directory.
|
||||
- {{% code-placeholder-key %}}`DEDICATED_CLUSTER_ID`{{% /code-placeholder-key %}}:
|
||||
Your {{% product-name omit=" Clustered" %}} cluster ID
|
||||
- {{% code-placeholder-key %}}`DEDICATED_ACCOUNT_ID`{{% /code-placeholder-key %}}:
|
||||
Your {{% product-name %}} account ID
|
||||
- {{% code-placeholder-key %}}`DEDICATED_CLUSTER_ID`{{% /code-placeholder-key %}}:
|
||||
Your {{% product-name omit=" Clustered" %}} cluster ID
|
||||
- {{% code-placeholder-key %}}`DEDICATED_DATABASE_TOKEN`{{% /code-placeholder-key %}}:
|
||||
A [database token](/influxdb3/cloud-dedicated/admin/tokens/database/) with
|
||||
permissions that grant access to all databases you would like your LLM agent
|
||||
|
|
@ -195,9 +202,9 @@ Replace the following:
|
|||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN DOCKER -------------------------------->
|
||||
|
||||
### Configure your LLM Agent to use the Docker-based MCP server
|
||||
#### Configure your LLM Agent to use the Docker-based MCP server
|
||||
|
||||
In **Claude Desktop**, go to **Settings** > **Developers** and edit your configuration.
|
||||
In **Claude Desktop**, go to **Settings** > **Developer** and edit your configuration.
|
||||
Enter the following JSON configuration:
|
||||
|
||||
{{% show-in "core,enterprise" %}}
|
||||
|
|
@ -214,7 +221,7 @@ In the examples below, replace the following:
|
|||
determine what operations your LLM agents can perform.
|
||||
|
||||
|
||||
#### Connect to a remote InfluxDB server
|
||||
##### Connect to a remote InfluxDB server
|
||||
|
||||
{{% code-placeholders "path/to|AUTH_TOKEN" %}}
|
||||
```json
|
||||
|
|
@ -245,7 +252,7 @@ In the examples below, replace the following:
|
|||
```
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
#### Connect to a local InfluxDB server
|
||||
##### Connect to a local InfluxDB server
|
||||
|
||||
{{% code-placeholders "path/to|AUTH_TOKEN" %}}
|
||||
```json
|
||||
|
|
@ -257,7 +264,7 @@ In the examples below, replace the following:
|
|||
"run",
|
||||
"--rm",
|
||||
"--interactive",
|
||||
"--add-host=host.docker.internal:host-gateway"
|
||||
"--add-host=host.docker.internal:host-gateway",
|
||||
"--env",
|
||||
"INFLUX_DB_PRODUCT_TYPE",
|
||||
"--env",
|
||||
|
|
@ -304,11 +311,11 @@ In the examples below, replace the following:
|
|||
"influxdata/influxdb3-mcp-server"
|
||||
],
|
||||
"env": {
|
||||
"INFLUX_DB_PRODUCT_TYPE"="{{% product-key %}}",
|
||||
"INFLUX_DB_ACCOUNT_ID"="DEDICATED_ACCOUNT_ID",
|
||||
"INFLUX_DB_CLUSTER_ID"="DEDICATED_CLUSTER_ID",
|
||||
"INFLUX_DB_TOKEN"="DEDICATED_DATABASE_TOKEN",
|
||||
"INFLUX_DB_MANAGEMENT_TOKEN"="DEDICATED_MANAGEMENT_TOKEN"
|
||||
"INFLUX_DB_PRODUCT_TYPE": "{{% product-key %}}",
|
||||
"INFLUX_DB_ACCOUNT_ID": "DEDICATED_ACCOUNT_ID",
|
||||
"INFLUX_DB_CLUSTER_ID": "DEDICATED_CLUSTER_ID",
|
||||
"INFLUX_DB_TOKEN": "DEDICATED_DATABASE_TOKEN",
|
||||
"INFLUX_DB_MANAGEMENT_TOKEN": "DEDICATED_MANAGEMENT_TOKEN"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -318,8 +325,6 @@ In the examples below, replace the following:
|
|||
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`path/to`{{% /code-placeholder-key %}}:
|
||||
The absolute path to your `influxdb3_mcp_server` project directory.
|
||||
- {{% code-placeholder-key %}}`DEDICATED_ACCOUNT_ID`{{% /code-placeholder-key %}}:
|
||||
Your {{% product-name %}} account ID
|
||||
- {{% code-placeholder-key %}}`DEDICATED_CLUSTER_ID`{{% /code-placeholder-key %}}:
|
||||
|
|
@ -338,9 +343,9 @@ Replace the following:
|
|||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
### Supported Features
|
||||
### Supported features
|
||||
|
||||
Once connected, you can use your LLM agent to perform tasks on your
|
||||
Once connected, you can use your LLM agent to perform tasks on your
|
||||
{{% product-name %}} {{% show-in "core,enterprise" %}}server{{% /show-in %}}{{% show-in "cloud-dedicated,clustered" %}}cluster{{% /show-in %}},
|
||||
including:
|
||||
|
||||
|
|
@ -350,14 +355,120 @@ including:
|
|||
- Query data without writing SQL or InfluxQL
|
||||
- Check server health and connection status
|
||||
|
||||
##### Examples of supported prompts
|
||||
#### Examples of supported prompts
|
||||
|
||||
> “List all tables in the `production` database.”
|
||||
> "List all tables in the `production` database."
|
||||
>
|
||||
> “Create a read-only token for the `metrics` database.”
|
||||
> "Create a read-only token for the `metrics` database."
|
||||
>
|
||||
> “Analyze last week’s sensor data for anomalies.”
|
||||
> "Analyze last week's sensor data for anomalies."
|
||||
>
|
||||
> “Create a new database called `iot_sensors` with a 30-day retention policy.”
|
||||
> "Create a new database called `iot_sensors` with a 30-day retention policy."
|
||||
>
|
||||
> “Show me the schema for the `sensor_data` table.”
|
||||
> "Show me the schema for the `sensor_data` table."
|
||||
|
||||
## Query InfluxDB documentation from your IDE
|
||||
|
||||
The **InfluxDB documentation MCP server** lets AI tools and agents search InfluxDB
|
||||
documentation directly from your development environment.
|
||||
Use it to find answers, code examples, and configuration details without leaving your IDE.
|
||||
|
||||
### Why use the documentation MCP server?
|
||||
|
||||
When you connect the documentation MCP server to your AI coding assistant, the assistant
|
||||
can search InfluxDB documentation to answer your questions with accurate, up-to-date information.
|
||||
Instead of switching to a browser or guessing at syntax, you can ask questions
|
||||
in your IDE and get responses grounded in official documentation.
|
||||
|
||||
**Common use cases:**
|
||||
|
||||
- Get help writing queries, client library code, or CLI commands
|
||||
- Look up configuration options and environment variables
|
||||
- Find code examples for specific tasks
|
||||
- Troubleshoot errors with documentation-backed answers
|
||||
|
||||
### Install the documentation MCP server
|
||||
|
||||
The documentation MCP server is a hosted service—you don't need to install or run anything locally.
|
||||
Add the server URL to your AI tool's MCP configuration.
|
||||
|
||||
> [!Note]
|
||||
> On first use, you'll be prompted to sign in with Google.
|
||||
> This authentication is used only for rate limiting—no personal data is collected.
|
||||
|
||||
**MCP server URL:**
|
||||
|
||||
```text
|
||||
https://influxdb-docs.mcp.kapa.ai
|
||||
```
|
||||
|
||||
The server uses SSE (Server-Sent Events) transport.
|
||||
For help adding MCP servers, refer to your tool's documentation or ask your AI assistant.
|
||||
|
||||
### Authentication and rate limits
|
||||
|
||||
When you connect to the documentation MCP server for the first time, a Google sign-in
|
||||
window opens to complete an OAuth/OpenID Connect login.
|
||||
|
||||
The hosted MCP server:
|
||||
|
||||
- Requests only the `openid` scope from Google
|
||||
- Receives an ID token (JWT) containing a stable, opaque user ID
|
||||
- Does not request `email` or `profile` scopes—your name, email address, and other
|
||||
personal data are not collected
|
||||
|
||||
The anonymous Google ID enforces per-user rate limits to prevent abuse:
|
||||
|
||||
- **40 requests** per user per hour
|
||||
- **200 requests** per user per day
|
||||
|
||||
> [!Tip]
|
||||
> On Google's consent screen, this appears as "Associate you with your personal info on Google."
|
||||
> This is Google's generic wording for the `openid` scope—it means the app can recognize
|
||||
> that the same Google account is signing in again.
|
||||
> It does not grant access to your email, name, contacts, or other data.
|
||||
|
||||
### Search documentation with the MCP tool
|
||||
|
||||
The documentation MCP server exposes a semantic search tool:
|
||||
|
||||
```text
|
||||
search_influxdb_knowledge_sources
|
||||
```
|
||||
|
||||
This tool lets AI agents perform semantic retrieval over InfluxDB documentation
|
||||
and related knowledge sources.
|
||||
|
||||
**What the tool does:**
|
||||
|
||||
- Searches all InfluxDB documentation for a given query
|
||||
- Returns the most relevant chunks in descending order of relevance
|
||||
- Each chunk is a self-contained snippet from a single documentation page
|
||||
|
||||
**Response format:**
|
||||
|
||||
Each result includes:
|
||||
|
||||
- `source_url`: URL of the original documentation page
|
||||
- `content`: The chunk content in Markdown
|
||||
|
||||
{{< img-hd src="/img/influxdb3/core-mcp-influxdb3-plugin.png" alt="MCP tool search results showing InfluxDB documentation" />}}
|
||||
|
||||
### Use the documentation MCP server
|
||||
|
||||
After you install the documentation MCP server, your AI assistant can search InfluxDB
|
||||
documentation to help you with tasks.
|
||||
Ask questions naturally—the assistant uses the MCP server to find relevant documentation
|
||||
and provide accurate answers.
|
||||
|
||||
#### Example prompts
|
||||
|
||||
> "How do I write data to InfluxDB using Python?"
|
||||
>
|
||||
> "What's the syntax for a SQL query with a WHERE clause in InfluxDB?"
|
||||
>
|
||||
> "Show me how to configure Telegraf to collect CPU metrics."
|
||||
>
|
||||
> "What environment variables does the InfluxDB CLI use?"
|
||||
>
|
||||
> "How do I create a database token with read-only permissions?"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
title: Use the InfluxDB documentation MCP server
|
||||
description: >
|
||||
Query InfluxDB documentation from your IDE using the InfluxDB documentation
|
||||
MCP server.
|
||||
menu:
|
||||
telegraf_v1_ref:
|
||||
name: Documentation MCP server
|
||||
weight: 206
|
||||
tags: [MCP, LLM, AI]
|
||||
source: /shared/influxdb3-admin/mcp-server-docs-only.md
|
||||
---
|
||||
|
||||
<!-- //SOURCE content/shared/influxdb3-admin/mcp-server-docs-only.md -->
|
||||
|
|
@ -33,6 +33,34 @@
|
|||
{{- $sectionDownloadUrl = printf "%s-download.zip" .RelPermalink -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Determine product-specific MCP docs URL based on current page path */}}
|
||||
{{- $mcpDocsUrl := "" -}}
|
||||
{{- $path := .RelPermalink -}}
|
||||
{{- if hasPrefix $path "/influxdb3/core/" -}}
|
||||
{{- $mcpDocsUrl = "/influxdb3/core/admin/mcp-server/" -}}
|
||||
{{- else if hasPrefix $path "/influxdb3/enterprise/" -}}
|
||||
{{- $mcpDocsUrl = "/influxdb3/enterprise/admin/mcp-server/" -}}
|
||||
{{- else if hasPrefix $path "/influxdb3/cloud-dedicated/" -}}
|
||||
{{- $mcpDocsUrl = "/influxdb3/cloud-dedicated/admin/mcp-server/" -}}
|
||||
{{- else if hasPrefix $path "/influxdb3/cloud-serverless/" -}}
|
||||
{{- $mcpDocsUrl = "/influxdb3/cloud-serverless/reference/mcp-server/" -}}
|
||||
{{- else if hasPrefix $path "/influxdb3/clustered/" -}}
|
||||
{{- $mcpDocsUrl = "/influxdb3/clustered/reference/mcp-server/" -}}
|
||||
{{- else if hasPrefix $path "/influxdb/cloud/" -}}
|
||||
{{- $mcpDocsUrl = "/influxdb/cloud/reference/mcp-server/" -}}
|
||||
{{- else if hasPrefix $path "/influxdb/v2/" -}}
|
||||
{{- $mcpDocsUrl = "/influxdb/v2/reference/mcp-server/" -}}
|
||||
{{- else if hasPrefix $path "/influxdb/v1/" -}}
|
||||
{{- $mcpDocsUrl = "/influxdb/v1/tools/mcp-server/" -}}
|
||||
{{- else if hasPrefix $path "/enterprise_influxdb/v1/" -}}
|
||||
{{- $mcpDocsUrl = "/enterprise_influxdb/v1/tools/mcp-server/" -}}
|
||||
{{- else if hasPrefix $path "/telegraf/" -}}
|
||||
{{- $mcpDocsUrl = "/telegraf/v1/mcp-server/" -}}
|
||||
{{- else -}}
|
||||
{{/* Default to Core docs for other products (Flux, Kapacitor, Chronograf) */}}
|
||||
{{- $mcpDocsUrl = "/influxdb3/core/admin/mcp-server/" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Only show format selector on documentation pages, not on special pages */}}
|
||||
{{- if not (in .RelPermalink "/search") -}}
|
||||
|
||||
|
|
@ -44,9 +72,8 @@
|
|||
{{- if $sectionDownloadUrl }}
|
||||
data-section-download-url="{{ $sectionDownloadUrl }}"
|
||||
{{- end }}
|
||||
{{- /* Future MCP server URLs - commented out for now */ -}}
|
||||
{{- /* data-mcp-cursor-url="/docs/mcp/cursor-setup/" */ -}}
|
||||
{{- /* data-mcp-vscode-url="/docs/mcp/vscode-setup/" */ -}}
|
||||
{{- /* Documentation MCP server URL - link to product-specific setup docs */ -}}
|
||||
data-mcp-docs-url="{{ $mcpDocsUrl }}"
|
||||
>
|
||||
{{/* Button triggers dropdown */}}
|
||||
<button
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 188 KiB |
Loading…
Reference in New Issue