Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.GreptimeTeam/greptimedb-mcp-server

PYPI · GREPTIMEDB-MCP-SERVER · SCANNED SEP 21

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

+15 this week 67 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 1 of 41 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 1914 tokens (~127/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage78
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 25% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "execute_sql" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the io.github.GreptimeTeam/greptimedb-mcp-server server?

io.github.GreptimeTeam/greptimedb-mcp-server runs locally as a PyPI package, launched with uvx greptimedb-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · greptimedb-mcp-server

# add to Claude Code
claude mcp add greptimeteam-greptimedb-mcp-server -- uvx greptimedb-mcp-server
// .cursor/mcp.json
{
  "mcpServers": {
    "greptimeteam-greptimedb-mcp-server": {
      "command": "uvx",
      "args": [
        "greptimedb-mcp-server"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "greptimeteam-greptimedb-mcp-server": {
      "command": "uvx",
      "args": [
        "greptimedb-mcp-server"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add greptimeteam-greptimedb-mcp-server -- uvx greptimedb-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "greptimeteam-greptimedb-mcp-server": {
      "type": "local",
      "command": [
        "uvx",
        "greptimedb-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add greptimeteam-greptimedb-mcp-server --command uvx --arg greptimedb-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  greptimeteam-greptimedb-mcp-server:
    command: "uvx"
    args: ["greptimedb-mcp-server"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "greptimeteam-greptimedb-mcp-server": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "greptimedb-mcp-server"
      ]
    }
  }
}
# add to Vellum
assistant mcp add greptimeteam-greptimedb-mcp-server -t stdio -c uvx -a greptimedb-mcp-server
// mcp.json
{
  "mcpServers": {
    "greptimeteam-greptimedb-mcp-server": {
      "command": "uvx",
      "args": [
        "greptimedb-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 18 Sept 26 0
    • Security disclosure: unverified → fail functional
  • 17 Sept 26 0
    • Security disclosure: fail → unverified functional
  • 15 Sept 26 +15
    • Malware scan: unverified → pass security
  • 14 Sept 26 +13
    • Malware scan: pass → unverified security
    • Injection markers: unverified → pass security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: unverified → 100 functional
    • MCP protocol: unverified → pass functional
    • Schema quality: unverified → 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 25 functional
    • First check of Destructive annotations: 0 functional
    • First check of Schema quality: good functional
    • First check of Tool coverage: 100 functional
    • Package version: 0.4.7 → 0.6.0 functional
  • 7 Sept 26 0
    • Security disclosure: unverified → fail functional
  • 6 Sept 26 0
    • Security disclosure: fail → unverified functional
  • 27 Aug 26 0
    • Security disclosure: unverified → fail functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Analysed pypi/greptimedb-mcp-server@0.6.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 41 packages
Packages resolved 41
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 15 exposed · ~1,895 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
create_dashboard ~35

Create or update a Perses dashboard definition in GreptimeDB.

NameTypeReqDescription
definitionstringyes
namestringyes
NameTypeReqDescription
resultstringyes

No examples provided.

create_pipeline ~31

Create a new pipeline in GreptimeDB.

NameTypeReqDescription
namestringyes
pipelinestringyes
NameTypeReqDescription
resultstringyes

No examples provided.

delete_dashboard ~26

Delete a Perses dashboard definition from GreptimeDB.

NameTypeReqDescription
namestringyes
NameTypeReqDescription
resultstringyes

No examples provided.

delete_pipeline ~34

Delete a specific version of a pipeline from GreptimeDB.

NameTypeReqDescription
namestringyes
versionstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

describe_table ~221

Get a table profile: schema, semantic metadata, sample rows, and guidance. Use it when deciding how to query an unfamiliar table. When the right table is not known yet, search_table_semantics first; describing candidates one by one is slower than querying the data. The semantic profile says what the table means, not what its data says. signal_type is metric, log, trace, or event; source and source_version name the ingestion protocol; pipeline names the schema that shaped the rows; semantic_options carries signal-specific facts such as metric type and unit. metadata_quality describes how the metric type was obtained -- `declared` by the protocol or `inferred` from the name -- and says nothing about telemetry quality. entity_declarations lists the entities the table contributes to the semantic graph. A null or missing semantic field means unknown, not the opposite fact.

NameTypeReqDescription
include_samplesboolean
include_semanticsboolean
sample_limitinteger
tablestringyes
NameTypeReqDescription
resultstringyes

No examples provided.

dryrun_pipeline ~133

Test a pipeline with sample data without writing to the database. You can test a pipeline in two ways: - Provide 'pipeline' with inline YAML configuration - Provide 'pipeline_name' to test a previously saved pipeline Args: pipeline: Pipeline YAML configuration (inline) pipeline_name: Name of saved pipeline (mutually exclusive with pipeline) data: Test data in JSON/NDJSON format data_type: Optional content type (e.g., 'application/x-ndjson')

NameTypeReqDescription
datastring
data_type
pipeline
pipeline_name
NameTypeReqDescription
resultstringyes

No examples provided.

execute_sql ~81

Execute SQL query against GreptimeDB. Please use MySQL dialect. Read-only by default. When the server runs with write mode enabled (--allow-write / GREPTIMEDB_ALLOW_WRITE), destructive SQL (DDL/DML) is also permitted.

NameTypeReqDescription
formatstring
limitinteger
querystringyes
NameTypeReqDescription
resultstringyes

No examples provided.

execute_tql ~72

Execute TQL query for time-series analysis. TQL is PromQL-compatible - use standard PromQL syntax.

NameTypeReqDescription
endstringyes
formatstring
lookback
querystringyes
startstringyes
stepstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

explain_query ~38

Analyze SQL or TQL query execution plan.

NameTypeReqDescription
analyzeboolean
querystringyes
verboseboolean
NameTypeReqDescription
resultstringyes

No examples provided.

health_check ~18

Check GreptimeDB connection status and server version.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes

No examples provided.

list_dashboards ~21

List all Perses dashboard definitions stored in GreptimeDB.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes

No examples provided.

list_pipelines ~25

List all pipelines or get details of a specific pipeline.

NameTypeReqDescription
name
NameTypeReqDescription
resultstringyes

No examples provided.

query_range ~78

Execute time-window aggregation query using GreptimeDB's RANGE query syntax.

NameTypeReqDescription
alignstringyes
by
fill
formatstring
limitinteger
order_by
selectstringyes
tablestringyes
where
NameTypeReqDescription
resultstringyes

No examples provided.

query_semantic_graph ~817

Query the semantic graph: which entities exist and which are related. Use view=summary when the entity and relationship types in this graph are not known yet; it reports them with the endpoint type pairs each relationship connects. With a type or an id already in hand, query entities or relationships directly. The window is required and half-open, [start_time, end_time), over observed_at -- the 60-second bucket an observation was recorded in. Rows are aggregated across the buckets in the window, and the result echoes the window and the limit it used. relationships returns one row per edge per confidence. The database reports confidence 1.0 for a bucket whose client and server spans paired and 0.5 for one where only the client was seen, and it switches request_count, error_count and the durations to whichever population that bucket describes: paired requests timed by the server span, or unmatched clients timed by their own. An edge observed both ways therefore comes back as two rows. unmatched_count reports client spans with no paired server span. Durations are in seconds. entities returns one row per distinct set of attributes, so an entity whose descriptive attributes changed inside the window appears more than once; item_count counts rows, not entities. first_seen and last_seen bound where the row was observed inside this window, not when the entity first existed. Ordering is by type and endpoint. Only `calls` edges carry request, error and duration counts, so pass rel_type=calls to order by error and request count instead. When complete is false, more rows matched than the limit and later types may be absent entirely rather than merely cut short. A missing edge is not evidence that two entities are unrelated: it can also mean the call was not instrumented, was sampled out, or fell outside this window. Entities are not deduplicated across identity schemes, so one process can appear under two ids if two sources named it differently. entity_id_attrs names th…

NameTypeReqDescription
dst_idrelationships only: a canonical destination id this graph returned.
dst_typerelationships only: destination endpoint type.
end_timestringyesExclusive end of the window, RFC3339.
entity_identities only: a canonical id this graph returned.
entity_typeentities only: service, k8s.pod, host, ...
limitintegerMaximum rows to return.
provenancerelationships only: how the edge was obtained -- trace (paired spans), attribute (identities on one row), declared, or agent.
rel_typerelationships only: calls, runs_on, contains, part_of, uses, invokes, depends_on, owns, or a custom declared value.
scopeentities only: the namespace or environment an id is scoped to.
src_idrelationships only: a canonical source id this graph returned.
src_typerelationships only: source endpoint type.
start_timestringyesInclusive start of the window, RFC3339, e.g. 2026-09-05T07:00:00Z. Without an offset it is read as UTC.
viewstringyessummary: which entity and relationship types exist and what they connect. entities: the nodes. relationships: the edges.
NameTypeReqDescription
resultstringyes

No examples provided.

search_table_semantics ~265

Find tables by observability concept when the right table name is unknown. Searches table names, semantic options, and entity declarations, and ranks tables by how many query terms they matched. Use it before describe_table when the schema is wide or table names do not say what they hold. It searches schema metadata only, never telemetry row values, so it can say which table holds Redis memory usage but not which row belongs to `Redis02`. It ranks on the values in that metadata, not on the schema's own key names, so search for `gauge` or `bytes` rather than `metric type`. Once it returns candidates, query their data or describe one of them; do not describe every candidate in turn. It covers only the database this server is connected to, unlike describe_table, which accepts a schema-qualified name. Only tables carrying a `greptime.semantic.*` option, or one a built-in convention derives a declaration for, are visible here. A table absent from the results may still exist and hold the data, so fall back to SHOW TABLES rather than concluding it is not there.

NameTypeReqDescription
limitinteger
querystringyes
signal_type
NameTypeReqDescription
resultstringyes

No examples provided.

Common questions

What is the io.github.GreptimeTeam/greptimedb-mcp-server server?

io.github.GreptimeTeam/greptimedb-mcp-server is listed in the public MCP registry as io.github.GreptimeTeam/greptimedb-mcp-server. Query GreptimeDB metrics, logs and traces with SQL, TQL and RANGE. Manage pipelines and dashboards. This page covers its PyPI package (greptimedb-mcp-server).

Is the io.github.GreptimeTeam/greptimedb-mcp-server server safe to use?

io.github.GreptimeTeam/greptimedb-mcp-server scores 67 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.GreptimeTeam/greptimedb-mcp-server server expose?

io.github.GreptimeTeam/greptimedb-mcp-server exposes 15 tools: execute_sql, describe_table, search_table_semantics, query_semantic_graph, health_check, and 10 more. Their descriptions and schemas cost roughly 1,895 tokens of context every time the server is loaded.

Is the io.github.GreptimeTeam/greptimedb-mcp-server server still maintained?

io.github.GreptimeTeam/greptimedb-mcp-server is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.GreptimeTeam/greptimedb-mcp-server server under?

io.github.GreptimeTeam/greptimedb-mcp-server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.