Lets assistants query and analyze metrics, logs and traces in GreptimeDB with SQL, TQL and RANGE queries.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add greptimedb --env GREPTIMEDB_PASSWORD='<GREPTIMEDB_PASSWORD>' --env GREPTIMEDB_DATABASE='<GREPTIMEDB_DATABASE>' --env GREPTIMEDB_HOST='<GREPTIMEDB_HOST>' --env GREPTIMEDB_PORT='<GREPTIMEDB_PORT>' --env GREPTIMEDB_USER='<GREPTIMEDB_USER>' -- uvx greptimedb-mcp-server~/.codex/config.toml
[mcp_servers.greptimedb]
command = "uvx"
args = ["greptimedb-mcp-server"]
env = { GREPTIMEDB_PASSWORD = "<GREPTIMEDB_PASSWORD>", GREPTIMEDB_DATABASE = "<GREPTIMEDB_DATABASE>", GREPTIMEDB_HOST = "<GREPTIMEDB_HOST>", GREPTIMEDB_PORT = "<GREPTIMEDB_PORT>", GREPTIMEDB_USER = "<GREPTIMEDB_USER>" }
# codex mcp add greptimedb --env GREPTIMEDB_PASSWORD='<GREPTIMEDB_PASSWORD>' --env GREPTIMEDB_DATABASE='<GREPTIMEDB_DATABASE>' --env GREPTIMEDB_HOST='<GREPTIMEDB_HOST>' --env GREPTIMEDB_PORT='<GREPTIMEDB_PORT>' --env GREPTIMEDB_USER='<GREPTIMEDB_USER>' -- uvx greptimedb-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"greptimedb": {
"command": "uvx",
"args": [
"greptimedb-mcp-server"
],
"env": {
"GREPTIMEDB_PASSWORD": "<GREPTIMEDB_PASSWORD>",
"GREPTIMEDB_DATABASE": "<GREPTIMEDB_DATABASE>",
"GREPTIMEDB_HOST": "<GREPTIMEDB_HOST>",
"GREPTIMEDB_PORT": "<GREPTIMEDB_PORT>",
"GREPTIMEDB_USER": "<GREPTIMEDB_USER>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"greptimedb": {
"type": "stdio",
"command": "uvx",
"args": [
"greptimedb-mcp-server"
],
"env": {
"GREPTIMEDB_PASSWORD": "<GREPTIMEDB_PASSWORD>",
"GREPTIMEDB_DATABASE": "<GREPTIMEDB_DATABASE>",
"GREPTIMEDB_HOST": "<GREPTIMEDB_HOST>",
"GREPTIMEDB_PORT": "<GREPTIMEDB_PORT>",
"GREPTIMEDB_USER": "<GREPTIMEDB_USER>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"greptimedb": {
"command": "uvx",
"args": [
"greptimedb-mcp-server"
],
"env": {
"GREPTIMEDB_PASSWORD": "<GREPTIMEDB_PASSWORD>",
"GREPTIMEDB_DATABASE": "<GREPTIMEDB_DATABASE>",
"GREPTIMEDB_HOST": "<GREPTIMEDB_HOST>",
"GREPTIMEDB_PORT": "<GREPTIMEDB_PORT>",
"GREPTIMEDB_USER": "<GREPTIMEDB_USER>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"greptimedb": {
"command": "uvx",
"args": [
"greptimedb-mcp-server"
],
"env": {
"GREPTIMEDB_PASSWORD": "<GREPTIMEDB_PASSWORD>",
"GREPTIMEDB_DATABASE": "<GREPTIMEDB_DATABASE>",
"GREPTIMEDB_HOST": "<GREPTIMEDB_HOST>",
"GREPTIMEDB_PORT": "<GREPTIMEDB_PORT>",
"GREPTIMEDB_USER": "<GREPTIMEDB_USER>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"greptimedb": {
"command": "uvx",
"args": [
"greptimedb-mcp-server"
],
"env": {
"GREPTIMEDB_PASSWORD": "<GREPTIMEDB_PASSWORD>",
"GREPTIMEDB_DATABASE": "<GREPTIMEDB_DATABASE>",
"GREPTIMEDB_HOST": "<GREPTIMEDB_HOST>",
"GREPTIMEDB_PORT": "<GREPTIMEDB_PORT>",
"GREPTIMEDB_USER": "<GREPTIMEDB_USER>"
}
}
}
}Environment variables
GREPTIMEDB_PASSWORDGREPTIMEDB_DATABASEGREPTIMEDB_HOSTGREPTIMEDB_PORTGREPTIMEDB_USER
Replace the placeholders with your own credentials and keep them out of version control.