VMware Log Insight
PYPI · VMWARE-LOG-INSIGHT
Read-only VMware Aria Operations for Logs (Log Insight): search + aggregation. 7 MCP tools.
Available components
Last scanned (5 hours ago)
Scores higher than 56% of PyPI servers
Category Monitoring and Observability
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 Security50
- Malware scan not yet available for this package.Unverified
- 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
- 3 of 39 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 18 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability63
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2871 tokens (~410/item across 7 items; 7 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 check failed: the tool surface changed between 1.9.0 and 2.4.1: 7 tool removals, 0 breaking changes, 7 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Checks we ran (15)
- 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
Checks we could not complete (1)
These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.
- Malware scan in Supply Chain SecurityMalware scan not yet available for this package.
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 →
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.
- 5 Nov 26 −15
- Malware scan: pass → unverified ▼ security
- 2 Nov 26 +15
- Malware scan: unverified → pass ▲ security
- 1 Nov 26 −15
- Malware scan: pass → unverified ▼ security
- 29 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 28 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- 26 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 20 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- 19 Oct 26 +15
- Malware scan: unverified → pass ▲ security
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 5 Nov 2026 · Analysed pypi/vmware-log-insight@2.4.1
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 39 packages
| Packages resolved | 39 |
|---|---|
| Stale | 3 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
aggregate_logs ~790
[READ] Aggregate matching events into a time series and detect spikes. WHEN: to find when/whether log volume burst without pulling raw events. Follow up with search_logs on the spike window. RETURNS: {aggregation, field, bin_width_ms, constraints, bins:[{timestamp_ms, end_ms, value}] oldest first, spikes:[{timestamp_ms, end_ms, value, zscore}]}, plus 'note' when an empty series has a likely cause. For SAMPLE each bin's value is one example event {timestamp_ms, text, fields}, and no spikes are computed. The appliance omits bins with no events; for COUNT and UCOUNT those are added back as 0 (filled_empty_bins: true) so a burst after a quiet stretch still stands out. On a sparse series (a few events in an hour) that makes most non-empty bins spikes — read them as "events happened here", not as bursts. A bin is flagged as a spike when it sits at least 2 standard deviations above the mean; a series of fewer than 3 bins, or a flat one, reports no spikes rather than calling everything a spike — so an empty 'spikes' list is not evidence of calm when the window is short. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| aggregation | string | – | The function applied within each bin — exactly one of COUNT, UCOUNT, AVG, MIN, MAX, SUM, STDDEV, VARIANCE, SAMPLE (lower case is accepted and upper-cased). Anything else raises a ValueError listing t… |
| begin_ms | – | – | Absolute window start as epoch milliseconds (seconds are refused). Usable on its own; must be before end_ms; cannot be combined with last. |
| bin_width_ms | integer | – | Width of each time bin in milliseconds, must be positive (default 60000 = one minute). It sets the resolution of both the series and the spike test: bins much wider than the burst average it away, bi… |
| end_ms | – | – | Absolute window end as epoch milliseconds. Usable on its own; cannot be combined with last. |
| field | – | – | The field the function applies to, as listed by list_log_fields ('name') — e.g. aggregation="UCOUNT", field="hostname" counts distinct hosts per bin. Required for UCOUNT/AVG/MIN/MAX/SUM/STDDEV/VARIAN… |
| last | – | – | Relative window ending now — "30m", "2h", "7d" (units s/m/h/d) or a bare number of seconds. Cannot be combined with begin_ms/end_ms. Omit all three and the window defaults to the last hour. |
| target | – | – | Log Insight target name as spelled in ~/.vmware-log-insight/config.yaml. Omit to use that file's default_target — with no default configured, omitting it is an error that lists the configured names. |
| text | – | – | Word(s) matched with CONTAINS (whole words, not substrings; `*` is a wildcard), exactly as in search_logs. Omit to aggregate every event in the window. |
No output schema declared.
No examples provided.
get_log_alert ~241
[READ] Get the stored definition of one alert. Use this after list_log_alerts. Returns the same sanitized {id, name, enabled, info} projection as an list_log_alerts row plus 'raw_keys' — the sorted key names the appliance actually sent — so you can see what else the definition carries without this skill guessing at its shape. For when the alert fired, use get_log_alert_history. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| alert_id | string | yes | The alert id exactly as returned in an list_log_alerts row's 'id' field (not the alert's name). An empty or malformed id (anything with '/', '?', spaces, or '..') is refused before any call; an unkno… |
| target | – | – | Log Insight target name as spelled in ~/.vmware-log-insight/config.yaml. Omit to use that file's default_target — with no default configured, omitting it is an error that lists the configured names. |
No output schema declared.
No examples provided.
get_log_alert_history ~325
[READ] List recent trigger-history records for an alert. Use this for when an alert fired, not how it's defined. Returns the family list envelope {items, returned, limit, total, truncated, hint}; each item is {timestamp_ms (when it fired), acknowledged, message_count, messages: [{timestamp_ms, text}]} with at most 3 of the record's events (verified on 8.18.7). An alert that never fired returns an empty list, not an error. The appliance pages history, so a page shorter than limit is the whole history (real total); a full page has total null and truncated true. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| alert_id | string | yes | The alert id exactly as returned in an list_log_alerts row's 'id' field (not the alert's name). An empty or malformed id is refused before any call; an unknown id is HTTP 404 (or 500) on 8.18.7. |
| limit | integer | – | Maximum history records returned, most recent first, 1..50 (default 50) — 50 is the appliance's own page cap; a larger value is lowered and 'note' says so. There is no offset, so records older than t… |
| target | – | – | Log Insight target name as spelled in ~/.vmware-log-insight/config.yaml. Omit to use that file's default_target — with no default configured, omitting it is an error that lists the configured names. |
No output schema declared.
No examples provided.
get_log_insight_version ~128
[READ] Return the Log Insight appliance version/build (diagnostics and query-syntax compatibility). Returns {version, release_name, build}. Use this first when a query behaves unexpectedly, to confirm the appliance version before trusting search_logs. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| target | – | – | Log Insight target name as spelled in ~/.vmware-log-insight/config.yaml. Omit to use that file's default_target — with no default configured, omitting it is an error that lists the configured names.… |
No output schema declared.
No examples provided.
list_log_alerts ~249
[READ] List defined Log Insight alerts. Returns the family list envelope {items, returned, limit, total, truncated, hint}; each item is {id, name, enabled, info}. Start here, then pass an id to get_log_alert or get_log_alert_history. total is the real count matching name_filter, so truncated answers whether more exist; raise limit or narrow name_filter when true. Read-only — this skill never creates/edits/deletes alerts.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum items in the page (default 50). It slices the matches after filtering; 'total' still reports every match, so a small limit never hides how many alerts exist. |
| name_filter | – | – | Case-insensitive substring matched against the alert's name only (not its id or description). Omit to list every defined alert. The appliance returns the whole collection either way and the filter ru… |
| target | – | – | Log Insight target name as spelled in ~/.vmware-log-insight/config.yaml. Omit to use that file's default_target — with no default configured, omitting it is an error that lists the configured names. |
No output schema declared.
No examples provided.
list_log_fields ~325
[READ] List the fields this appliance knows (static and extracted). Use this to pick a 'field' for aggregate_logs, or to learn what a key in a search_logs event's 'fields' means. Returns the family list envelope {items, returned, limit, total, truncated, hint}; each item is {name, internal_name, type}; a content-pack field adds 'display_name' and 'content_pack', and its 'name' is qualified ("com.vmware.vsphere:<display name>"); 'unresolved': true (with a 'note') means its pack's namespace is unknown, so that name will match nothing. 'name' is what aggregate_logs takes; 'type' (STRING, NUMBER, ...) says which functions apply. No limit — every matching field is returned. An 8.18.7 appliance with the default content packs has ~340 fields (~15k tokens unfiltered), so pass name_filter. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| name_filter | – | – | Case-insensitive substring matched against 'name' — for a content-pack field the qualified name, so "vsphere" matches every vSphere-pack field. Omit to return every field this appliance extracts. Fie… |
| target | – | – | Log Insight target name as spelled in ~/.vmware-log-insight/config.yaml. Omit to use that file's default_target — with no default configured, omitting it is an error that lists the configured names. |
No output schema declared.
No examples provided.
search_logs ~626
[READ] Search Log Insight events within a time window. WHEN: to find the actual log lines behind an incident (e.g. what vmkernel logged during a storage event). For "where did logs burst?" use aggregate_logs instead; for vCenter alarms use vmware-monitor. RETURNS: {count, complete (False if truncated), constraints, events: [{timestamp_ms, text, fields}]}, plus 'note' when limit was lowered. 'fields' is a flat {name: value} dict — hostname, appname, procid, source, facility and the other static fields the appliance attached (content-pack fields are not included: the query does not ask for them). Feed events to vmware-debug build_incident_timeline to correlate across sources. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| begin_ms | – | – | Absolute window start as epoch milliseconds (not seconds — a value that looks like seconds is refused). May be given without end_ms, which then means "from this instant onwards". Must be before end_m… |
| end_ms | – | – | Absolute window end as epoch milliseconds (not seconds). May be given without begin_ms, which then means "everything up to this instant". Cannot be combined with last. |
| last | – | – | Relative window ending now, as a quantity plus a unit suffix — s, m, h or d ("30m", "2h", "7d") — or a bare number of seconds. Anything else raises a ValueError naming the accepted forms. Cannot be c… |
| limit | integer | – | Maximum events returned, 1..200, default 50. A larger value is lowered to 200 and the result's 'note' says so. Each event is ~650 characters, so 50 is already ~8k tokens: narrow the window or the tex… |
| target | – | – | Log Insight target name as spelled in ~/.vmware-log-insight/config.yaml. Omit to use that file's default_target — with no default configured, omitting it is an error that lists the configured names. |
| text | – | – | Word(s) matched against the event message with the CONTAINS operator. Log Insight matches whole words, not substrings: "localhost" finds "localhost.localdomain", "localdom" finds nothing, "localdom*"… |
No output schema declared.
No examples provided.
How do I install the VMware Log Insight MCP server?
VMware Log Insight runs locally as a PyPI package, launched with uvx vmware-log-insight mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · vmware-log-insight
claude mcp add vmware-skills-vmware-log-insight -- uvx vmware-log-insight mcp
What is the VMware Log Insight MCP server?
VMware Log Insight is an MCP server listed in the public MCP registry as io.github.vmware-skills/vmware-log-insight. Read-only VMware Aria Operations for Logs (Log Insight): search + aggregation. 7 MCP tools. This page covers its PyPI package (vmware-log-insight).
Is the VMware Log Insight MCP server safe to use?
VMware Log Insight scores 54 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 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 VMware Log Insight MCP server expose?
VMware Log Insight exposes 7 tools: list_log_alerts, get_log_alert, get_log_alert_history, search_logs, aggregate_logs, and 2 more. Their descriptions and schemas cost roughly 2,684 tokens of context every time the server is loaded.
Is the VMware Log Insight MCP server still maintained?
VMware Log Insight is still listed as active in the MCP registry. We last reached this channel on 5 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 VMware Log Insight MCP server under?
VMware Log Insight 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 VMware Log Insight MCP server?
VerifyMCP ran 15 checks on VMware Log Insight, covering Known CVEs, Install scripts, Dependency health, Source repository and 11 more. One item could not be completed, a gap on our side rather than a finding about VMware Log Insight: Malware scan. 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.