Skip to main content
Glama

InfluxDB MCP Server

by m4tyn0
README.md3.15 kB
# InfluxDB MCP Server A Model Context Protocol (MCP) server that provides secure, read-only access to InfluxDB 1.8 via JWT authentication. ## Overview InfluxDB MCP Server allows AI assistants to query time-series data stored in InfluxDB through a standardized interface. It provides read-only access to your InfluxDB instance with authentication via JWT tokens. ## Prerequisites - Docker - InfluxDB 1.8 instance (already running) - Credentials for your InfluxDB instance ## Installation 1. **Clone the repository**: ```bash git clone https://github.com/m4tyn0/influx_mcp cd influxdb-mcp-server ``` 2. **Create a `.env` file** with your configuration : ```bash cp env.example .env ``` ``` INFLUXDB_HOST= INFLUXDB_PORT=8086 INFLUXDB_USERNAME= INFLUXDB_PASSWORD= INFLUXDB_SSL=false INFLUXDB_VERIFY_SSL=true INFLUXDB_TIMEOUT=10 JWT_SECRET= JWT_ALGORITHM=HS256 ``` 3. **Build and run the Docker container**: ```bash docker build -t influxdb-mcp-server . docker run -d --env-file .env -p 8000:8000 influxdb-mcp-server ``` ## JWT Authentication The server uses JWT tokens for authentication. You need to generate a token to authenticate with the MCP server, here is a simple script to do that: ```python import jwt import datetime # Create a token payload = { "sub": "username", # Replace with the username you want to identify with "iat": datetime.datetime.utcnow(), "exp": datetime.datetime.utcnow() + datetime.timedelta(hours=1) } token = jwt.encode(payload, "your-jwt-secret", algorithm="HS256") print(token) ``` Save this token for use with your MCP client. ## Using with MCP Clients 1. **Authenticate** with the MCP server using the JWT token: ``` Tool: auth Arguments: {"token": "your.jwt.token.here"} ``` 2. **Query your InfluxDB data**: ``` Tool: list_databases Arguments: {} ``` ``` Tool: list_measurements Arguments: {"database": "your_database_name"} ``` ``` Tool: query Arguments: { "database": "your_database_name", "query": "SELECT * FROM measurement_name LIMIT 10" } ``` ## Troubleshooting If you encounter issues: 1. **Connection errors to InfluxDB**: - Verify the INFLUXDB_HOST is correct and accessible from the Docker container - Check that your InfluxDB credentials are correct - Ensure your InfluxDB instance is configured to accept connections from external hosts 2. **Authentication issues**: - Verify your JWT_SECRET is set correctly - Ensure the token you're using matches the JWT_SECRET and hasn't expired - Check that your InfluxDB credentials have read access to the databases 3. **Check logs**: ```bash docker logs ``` ## Security Notes - The MCP server only allows read-only access to your InfluxDB instance - All queries are validated to ensure they begin with SELECT - JWT authentication protects access to the MCP server - Consider running the server in a private network for additional security #### Thank you for working with me. If you have any issues with the code, or want more things built, hit me up: m4tyn0@gmail.com

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/m4tyn0/influx_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server