Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Greptimedb MCP Server

von GreptimeTeamVersion 0.6.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.GreptimeTeam/greptimedb-mcp-server

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Query GreptimeDB metrics, logs and traces with SQL, TQL and RANGE. Manage pipelines and dashboards.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Datenbanken & Datensätze
  • Das musst du eintragen: GREPTIMEDB_PASSWORD

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Das trägst du selbst ein: GREPTIMEDB_HOST, GREPTIMEDB_PORT, GREPTIMEDB_USER, GREPTIMEDB_PASSWORD, GREPTIMEDB_DATABASE, GREPTIMEDB_TIMEZONE, GREPTIMEDB_POOL_SIZE, GREPTIMEDB_HTTP_PORT, GREPTIMEDB_HTTP_PROTOCOL, GREPTIMEDB_MASK_ENABLED, GREPTIMEDB_MASK_PATTERNS, GREPTIMEDB_AUDIT_ENABLED, GREPTIMEDB_ALLOW_WRITE

Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.

Du brauchst

  • PyPIuv für Python installiert (für den Befehl uvx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "greptimedb": {
      "command": "uvx",
      "args": [
        "greptimedb-mcp-server"
      ],
      "env": {
        "GREPTIMEDB_HOST": "your-value",
        "GREPTIMEDB_PORT": "your-value",
        "GREPTIMEDB_USER": "your-value",
        "GREPTIMEDB_PASSWORD": "your-value",
        "GREPTIMEDB_DATABASE": "your-value",
        "GREPTIMEDB_TIMEZONE": "your-value",
        "GREPTIMEDB_POOL_SIZE": "your-value",
        "GREPTIMEDB_HTTP_PORT": "your-value",
        "GREPTIMEDB_HTTP_PROTOCOL": "your-value",
        "GREPTIMEDB_MASK_ENABLED": "your-value",
        "GREPTIMEDB_MASK_PATTERNS": "your-value",
        "GREPTIMEDB_AUDIT_ENABLED": "your-value",
        "GREPTIMEDB_ALLOW_WRITE": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add greptimedb --env GREPTIMEDB_HOST=your-value --env GREPTIMEDB_PORT=your-value --env GREPTIMEDB_USER=your-value --env GREPTIMEDB_PASSWORD=your-value --env GREPTIMEDB_DATABASE=your-value --env GREPTIMEDB_TIMEZONE=your-value --env GREPTIMEDB_POOL_SIZE=your-value --env GREPTIMEDB_HTTP_PORT=your-value --env GREPTIMEDB_HTTP_PROTOCOL=your-value --env GREPTIMEDB_MASK_ENABLED=your-value --env GREPTIMEDB_MASK_PATTERNS=your-value --env GREPTIMEDB_AUDIT_ENABLED=your-value --env GREPTIMEDB_ALLOW_WRITE=your-value -- uvx greptimedb-mcp-server

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "greptimedb": {
      "command": "uvx",
      "args": [
        "greptimedb-mcp-server"
      ],
      "env": {
        "GREPTIMEDB_HOST": "your-value",
        "GREPTIMEDB_PORT": "your-value",
        "GREPTIMEDB_USER": "your-value",
        "GREPTIMEDB_PASSWORD": "your-value",
        "GREPTIMEDB_DATABASE": "your-value",
        "GREPTIMEDB_TIMEZONE": "your-value",
        "GREPTIMEDB_POOL_SIZE": "your-value",
        "GREPTIMEDB_HTTP_PORT": "your-value",
        "GREPTIMEDB_HTTP_PROTOCOL": "your-value",
        "GREPTIMEDB_MASK_ENABLED": "your-value",
        "GREPTIMEDB_MASK_PATTERNS": "your-value",
        "GREPTIMEDB_AUDIT_ENABLED": "your-value",
        "GREPTIMEDB_ALLOW_WRITE": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "greptimedb": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "greptimedb-mcp-server"
      ],
      "env": {
        "GREPTIMEDB_HOST": "your-value",
        "GREPTIMEDB_PORT": "your-value",
        "GREPTIMEDB_USER": "your-value",
        "GREPTIMEDB_PASSWORD": "your-value",
        "GREPTIMEDB_DATABASE": "your-value",
        "GREPTIMEDB_TIMEZONE": "your-value",
        "GREPTIMEDB_POOL_SIZE": "your-value",
        "GREPTIMEDB_HTTP_PORT": "your-value",
        "GREPTIMEDB_HTTP_PROTOCOL": "your-value",
        "GREPTIMEDB_MASK_ENABLED": "your-value",
        "GREPTIMEDB_MASK_PATTERNS": "your-value",
        "GREPTIMEDB_AUDIT_ENABLED": "your-value",
        "GREPTIMEDB_ALLOW_WRITE": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • GREPTIMEDB_HOST env
    GreptimeDB host address
  • GREPTIMEDB_PORT env
    GreptimeDB MySQL protocol port (default: 4002)
  • GREPTIMEDB_USER env
    Database username
  • GREPTIMEDB_PASSWORD geheim env
    Database password
  • GREPTIMEDB_DATABASE env
    Database name to connect to
  • GREPTIMEDB_TIMEZONE env
    Session timezone (default: UTC)
  • GREPTIMEDB_POOL_SIZE env
    Connection pool size (default: 5)
  • GREPTIMEDB_HTTP_PORT env
    HTTP API port for pipeline/dashboard management (default: 4000)
  • GREPTIMEDB_HTTP_PROTOCOL env
    HTTP protocol for pipeline/dashboard API: http or https (default: http)
  • GREPTIMEDB_MASK_ENABLED env
    Enable sensitive data masking (default: true)
  • GREPTIMEDB_MASK_PATTERNS env
    Additional column name patterns for data masking (comma-separated)
  • GREPTIMEDB_AUDIT_ENABLED env
    Enable audit logging for tool invocations (default: true)
  • GREPTIMEDB_ALLOW_WRITE env
    Allow write/destructive SQL (DDL/DML) via execute_sql by skipping the security gate. DANGEROUS: only use on local or test instances (default: false)

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto GreptimeTeam bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Datenbanken & Datensätzei

  • Mehr Sterne als 0 % der anderen 1146 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 36 % der anderen 1146 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 1146 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Greptimedb MCP Server sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: GREPTIMEDB_PASSWORD

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.6.0) kam vor 2 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Supabase, MongoDB MCP Server, Elasticsearch MCP Server

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Supabase

MCP server for interacting with the Supabase platform

von supabaseWeit verbreitet↓ 235.444/Wo.★ 2993Aktualisiert vorgestern

Computer oder Cloud✓ supabase.com

MongoDB MCP Server

MongoDB Model Context Protocol Server

von mongodb-jsWeit verbreitet↓ 157.073/Wo.★ 1157Aktualisiert vor 4 Tagen

Läuft auf deinem Computer

Elasticsearch MCP Server

MCP server for interacting with Elasticsearch

von cr7258Wachsend↓ 2711/Wo.★ 315Aktualisiert vor 14 Monaten

Läuft auf deinem Computer

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

greptimedb-mcp-server

A Model Context Protocol (MCP) server for GreptimeDB — an open-source observability database that handles metrics, logs, and traces in one engine.

Enables AI assistants to query and analyze GreptimeDB using SQL, TQL (PromQL-compatible), and RANGE queries, with built-in security features like read-only enforcement and data masking.

Quick Start

# Install

pip install greptimedb-mcp-server

Run (connects to localhost:4002 by default)

greptimedb-mcp-server --host localhost --database public

For Claude Desktop, add this to your config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{

"mcpServers": { "greptimedb": { "command": "greptimedb-mcp-server", "args": ["--host", "localhost", "--database", "public"] } } }

Features

Tools
ToolDescription
execute_sqlExecute SQL queries with format (csv/json/markdown) and limit options
execute_tqlExecute TQL (PromQL-compatible) queries for time-series analysis
query_rangeExecute time-window aggregation queries with RANGE/ALIGN syntax
search_table_semanticsFind tables by observability concept, ranked by matched terms; searches table names, semantic options, and entity declarations. schema selects the database to search
query_semantic_graphQuery the semantic graph: summary (what it contains), entities (nodes), relationships (edges) over a required time window
describe_tableInspect a table profile: schema, semantic metadata, latest sample rows, and query guidance
explain_queryAnalyze SQL or TQL query execution plans (analyze=true for runtime stats; add verbose=true alongside analyze=true for per-partition scan metrics and index-pruning counters)
health_checkCheck database connection status and server version

search_table_semantics and the semantic metadata in describe_table read information_schema.table_semantics. A table appears there when it carries a greptime.semantic.* option or a built-in convention derives an entity declaration for it; other tables are absent. The server reads the view's column list once per process and selects only the columns it exposes. entity_declarations requires GreptimeDB 1.3; on earlier versions it is reported as a missing column rather than as an empty declaration set.

Tool results are bounded by GREPTIMEDB_MAX_RESULT_BYTES (default 1048576, or 1 MiB). A query result over the budget returns fewer rows and reports it in truncated and truncation_reason; a result with no rows to shed is cut with a notice at the end. The budget is a backstop against a result too large to be consumed, so lower it if your MCP client rejects results before it is reached.

Cross-database queries

The server connects to one database, but reads are not restricted to it:

ToolHow to reach another database
execute_sql, query_range, describe_tableQualify the table as schema.table
execute_tqlmetric{__schema__="other_db"}, which accepts = only
search_table_semanticsPass schema
query_semantic_graphCatalog-wide already; no scoping needed

The connected account needs read permission on the target database. Use SHOW DATABASES to list them.

query_semantic_graph reads greptime_private.semantic_entities and greptime_private.semantic_relationships, which require GreptimeDB 1.3. At startup the server checks that both views exist, carry the columns it reads, and are readable by the connected account; when they are not, the tool is not offered and the reason is logged. Its time window is required and half-open, [start_time, end_time) over observed_at, and rows are aggregated across the 60-second observation buckets in that window.

Pipeline Management
ToolDescription
list_pipelinesList all pipelines or get details of a specific pipeline
create_pipelineCreate a new pipeline with YAML configuration
dryrun_pipelineTest a pipeline with sample data without writing to database
delete_pipelineDelete a specific version of a pipeline
Dashboard Management
ToolDescription
list_dashboardsList all Perses dashboard definitions
create_dashboardCreate or update a Perses dashboard definition
delete_dashboardDelete a dashboard definition
Resources & Prompts
  • Resources: Browse tables via greptime:// /data URIs
  • Prompts: Built-in Jinja templates for common tasks — pipeline_creator, log_pipeline, metrics_analysis, promql_analysis, trace_analysis, table_operation, schema_design_advisor, observability_correlation, ingestion_troubleshooting, query_performance_tuning

For LLM integration and prompt usage, see docs/llm-instructions.md.

These tools cover querying and managing data in an existing GreptimeDB. For deployment, server configuration, write protocols, pipeline syntax, schema design, and performance diagnosis, point the assistant at the GreptimeDB skills index at https://docs.greptime.com/SKILL.md.

Configuration

Environment Variables
GREPTIMEDB_HOST=localhost      # Database host

GREPTIMEDB_PORT=4002 # MySQL protocol port (default: 4002) GREPTIMEDB_USER=root # Database user GREPTIMEDB_PASSWORD= # Database password GREPTIMEDB_DATABASE=public # Database name GREPTIMEDB_TIMEZONE=UTC # Session timezone

Optional

GREPTIMEDB_HTTP_PORT=4000 # HTTP API port for pipeline/dashboard management GREPTIMEDB_HTTP_PROTOCOL=http # HTTP protocol (http/https) GREPTIMEDB_POOL_SIZE=5 # Connection pool size GREPTIMEDB_MASK_ENABLED=true # Enable sensitive data masking GREPTIMEDB_MASK_PATTERNS= # Additional patterns (comma-separated) GREPTIMEDB_AUDIT_ENABLED=true # Enable audit logging GREPTIMEDB_ALLOW_WRITE=false # Allow writes: DDL/DML plus pipeline and dashboard changes (DANGEROUS, local/test only) GREPTIMEDB_MAX_RESULT_BYTES=1048576 # Byte budget for a single tool result (1 MiB)

Transport (for HTTP server mode)

GREPTIMEDB_TRANSPORT=stdio # stdio, sse, or streamable-http GREPTIMEDB_LISTEN_HOST=0.0.0.0 # HTTP server bind host GREPTIMEDB_LISTEN_PORT=8080 # HTTP server bind port GREPTIMEDB_ALLOWED_HOSTS= # DNS rebinding protection (comma-separated) GREPTIMEDB_ALLOWED_ORIGINS= # CORS allowed origins (comma-separated)

CLI Arguments
greptimedb-mcp-server \

--host localhost \ --port 4002 \ --database public \ --user root \ --password "" \ --timezone UTC \ --pool-size 5 \ --mask-enabled true \ --allow-write false \ --transport stdio

HTTP Server Mode

For containerized or Kubernetes deployments:

# Streamable HTTP (recommended for production)

greptimedb-mcp-server --transport streamable-http --listen-port 8080

SSE mode (legacy)

greptimedb-mcp-server --transport sse --listen-port 3000

DNS Rebinding Protection

By default, DNS rebinding protection is disabled for compatibility with proxies, gateways, and Kubernetes services. To enable it, use --allowed-hosts:

# Enable DNS rebinding protection with allowed hosts

greptimedb-mcp-server --transport streamable-http \ --allowed-hosts "localhost:*,127.0.0.1:*,my-service.namespace:*"

With custom allowed origins for CORS

greptimedb-mcp-server --transport streamable-http \ --allowed-hosts "my-service.namespace:*" \ --allowed-origins "http://localhost:*,https://my-app.example.com"

Or via environment variables

GREPTIMEDB_ALLOWED_HOSTS="localhost:*,my-service.namespace:*" \ GREPTIMEDB_ALLOWED_ORIGINS="http://localhost:*" \ greptimedb-mcp-server --transport streamable-http

If you encounter 421 Invalid Host Header errors, either disable protection (default) or add your host to the allowed list.

Security

Read-Only Database User (Recommended)

Create a read-only user in GreptimeDB using static user provider:

mcp_readonly:readonly=your_secure_password
Application-Level Security Gate

All queries go through a security gate that:

  • Blocks: DROP, DELETE, TRUNCATE, UPDATE, INSERT, ALTER, CREATE, GRANT, REVOKE, EXEC, LOAD, COPY
  • Blocks: Encoded bypass attempts (hex, UNHEX, CHAR)
  • Allows: SELECT, SHOW, DESCRIBE, TQL, EXPLAIN, UNION
Write Mode (Disabled by Default)

The server is read-only by default. Write mode enables every operation that changes stored state:

  • destructive SQL (DDL/DML such as CREATE, DROP, ALTER, INSERT, UPDATE, DELETE) through execute_sql
  • create_pipeline, delete_pipeline, create_dashboard, delete_dashboard
# Environment variable

GREPTIMEDB_ALLOW_WRITE=true greptimedb-mcp-server

Or CLI argument

greptimedb-mcp-server --allow-write true

When enabled, the security gate is bypassed for execute_sql, and the server logs a warning on startup. With write mode off, those four tools return an error without contacting the server; list_pipelines, list_dashboards and dryrun_pipeline are read-only and stay available.

⚠️ Danger: This lets an AI assistant run destructive statements against your

database. Never enable it against production data. Combine with a read-only

database user if you only need read access.

Data Masking

Sensitive columns are automatically masked (******) based on column name patterns:

  • Authentication: password, secret, token, api_key, credential
  • Financial: credit_card, cvv, bank_account
  • Personal: ssn, id_card, passport

Configure with --mask-patterns phone,email to add custom patterns.

Audit Logging

All tool invocations are logged:

2025-12-10 10:30:45 - greptimedb_mcp_server.audit - INFO - [AUDIT] execute_sql | query="SELECT * FROM cpu LIMIT 10" | success=True | duration_ms=45.2

Disable with --audit-enabled false.

Development

# Clone and setup

git clone https://github.com/GreptimeTeam/greptimedb-mcp-server.git cd greptimedb-mcp-server uv venv && source .venv/bin/activate uv sync

Run tests

pytest

Format & lint

uv run black . uv run flake8 src

Debug with MCP Inspector

npx @modelcontextprotocol/inspector uv --directory . run -m greptimedb_mcp_server.server

License

MIT License - see LICENSE.md.

Acknowledgement

Inspired by:

PopNx fragen