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

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

−3 this week 78 Trust /100

Last scanned (9 hours ago)

Scores higher than 74% of PyPI servers

Category Monitoring and Observability

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 build step with no custom scripting around it. View diagnostics → Pass
  • 2 of 40 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 Management77
  • Stability observed for 23 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
What we tested

Checks we ran (16)

  • Malware scan
  • Known CVEs
  • Install scripts
  • Dependency health
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

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.

  • 7 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

  • 6 Nov 26 +15
    • Malware scan: unverified → pass ▲ security
  • 5 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 4 Nov 26 −4
    • Stability: pass → 0.67 functional
  • 30 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 29 Oct 26 0
    • Stability: 0.97 → pass security
  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Oct 26 −1
    • Stability: pass → 0.93 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 7 Nov 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
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend Known build tool hatchling.build

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

Dependencies 40 packages
Packages resolved 40
Stale 1
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_id––relationships only: a canonical destination id this graph returned.
dst_type––relationships only: destination endpoint type.
end_timestringyesExclusive end of the window, RFC3339.
entity_id––entities only: a canonical id this graph returned.
entity_type––entities only: service, k8s.pod, host, ...
limitinteger–Maximum rows to return.
provenance––relationships only: how the edge was obtained -- trace (paired spans), attribute (identities on one row), declared, or agent.
rel_type––relationships only: calls, runs_on, contains, part_of, uses, invokes, depends_on, owns, or a custom declared value.
scope––entities only: the namespace or environment an id is scoped to.
src_id––relationships only: a canonical source id this graph returned.
src_type––relationships 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.

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
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 78 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 7 November 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 7 November 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.

What did VerifyMCP test on the io.github.GreptimeTeam/greptimedb-mcp-server server?

VerifyMCP ran 16 checks on io.github.GreptimeTeam/greptimedb-mcp-server, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to a PyPI package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.