MCP server · trust report

io.github.Vaquill-AI/vaquill-mcp

3 checks that ran failed — supply chain, credential hygiene and version behavior — so this release can’t be trusted as-is.

Publisher
io.github.Vaquill-AI
Repository
github.com/Vaquill-AI/vaquill-mcp
Install
remote only
Versions
5
MCP revision
2025-11-25 · superseded
Inspected
6 of 6 checks · 100%
Scored
2026-09-03 · rubric 1.0.0

What we checked

Six static checks, weighted by risk. Every result reflects only what could be observed in the published package and repository — never intent.

6 checks3 clean3 flagged
  • Injection surface

    pass25% of grade

    Tool descriptions/manifest scanned for instruction-injection patterns (imperatives at the model, hidden text, 'ignore previous', data-exfil URLs).

    Scanned 225 text field(s); no instruction-injection patterns found. PASS = no static red flag. A server can serve different tool descriptions at runtime (the rug-pull class), which static scanning cannot see.

  • Supply chain

    fail25% of grade

    Package provenance: namespace verification, repo linkage, maintainer count, account age, postinstall scripts, typosquat distance.

    Python build script executes at build time: network call in build script

  • Credential hygiene

    fail15% of grade

    How the server takes secrets (env vs plaintext config vs hardcoded); secrets appearing in tool schemas.

    tool "create_watch" has a secret-shaped input parameter "webhookSecret" — secrets must never be tool parameters (the model would supply/handle the credential). tool "update_watch" has a secret-shaped input parameter "webhookSecret" — secrets must never be tool parameters (the model would supply/handle the credential).

  • Permission scope

    pass15% of grade

    Declared tools vs. breadth (filesystem, network, exec); flags shell-exec and unbounded filesystem access.

    Network egress present (pyproject declares an HTTP client dependency) — expected for most servers and not a finding on its own. No shell-exec, unbounded/sensitive filesystem, or download-and-run primitives found in scanned source. PASS = no static red flag. Static scanning is blind to code fetched or executed at runtime.

  • Version behavior

    fail10% of grade

    Diff of tool definitions between versions; new permissions or changed descriptions in a patch release (the postmark-mcp class).

    vs prior 0.3.0 (minor bump): tool "create_watch" description changed (wording only, no injection pattern); tool "create_watch" gained input property(ies): corpusType, webhookUrl, webhookSecret, emailAddress, scope, webhookAuth; tool "delete_watch" description changed (wording only, no injection pattern); tool "get_section_changes" description changed (wording only, no injection pattern); tool "get_section_changes" gained input property(ies): limit, sinceId, beforeId, changeKind, order; tool "get_section_cited_by" description changed (wording only, no injection pattern); tool "get_section_cross_state" description changed (wording only, no injection pattern); tool "get_section_definitions" description changed (wording only, no injection pattern); tool "get_section_neighbors" description changed (wording only, no injection pattern); tool "get_sections_batch" description changed (wording only, no injection pattern); tool "get_sections_batch" gained input property(ies): actIds; tool "get_us_statute_section" description changed (wording only, no injection pattern); tool "get_us_statute_section_text" description changed (wording only, no injection pattern); tool "get_us_statute_section_text" gained input property(ies): format, structured, asOf; tool "get_watch_change_diff" description changed (wording only, no injection pattern); tool "list_boards" description changed (wording only, no injection pattern); tool "list_boards" gained input property(ies): corpusType; tool "list_statute_divisions" description changed (wording only, no injection pattern); tool "list_statute_divisions" gained input property(ies): corpusType, titleNumber, chapter, part; tool "list_statutes_coverage" description changed (wording only, no injection pattern); tool "list_watch_changes" description changed (wording only, no injection pattern); tool "list_watch_changes" gained input property(ies): sinceId, beforeId, since, changeKind, order; tool "list_watch_deliveries" description changed (wording only, no injection pattern); tool "list_watches" description changed (wording only, no injection pattern); tool "resolve_statute_citation" description changed (wording only, no injection pattern); tool "resolve_statute_citation" gained input property(ies): cite, state, corpusType; tool "search_us_statutes" description changed (wording only, no injection pattern); tool "search_us_statutes" gained input property(ies): corpusType, yearFrom, yearTo, excludeRepealed, actStatus, changedSince, agency, documentType, publishedFrom, publishedTo, titleNumber, chapter, part, source, fields, offset, excerptChars, matchType; tool "test_watch" description changed (wording only, no injection pattern); tool "update_watch" description changed (wording only, no injection pattern); tool "update_watch" gained input property(ies): isActive, webhookUrl, webhookSecret, scope, emailAddress, webhookAuth; new tool "fetch" touches a sensitive surface (email/exec/net/fs); new tool "resolve_statute_citations_batch" appeared; new tool "search" touches a sensitive surface (email/exec/net/fs); new hardcoded outbound host/BCC destination(s): github.com, www.vaquill.ai.

  • Transport config

    pass10% of grade

    Remote servers: TLS and auth mode (none/token/OAuth). Local servers: whether the manifest indicates it phones home.

    remote endpoint "https://mcp.vaquill.ai/s/_" uses TLS (https); remote endpoint "https://mcp.vaquill.ai/in/s/_" uses TLS (https); remote endpoint uses static token / bearer auth (acceptable)

Version history

Each release plotted by grade against the safe line at B. A version that sinks below the line has lost its trusted standing — the shape of a rug-pull.

VersionPublishedGradeScoreInspectedChange
v0.4.0 · current2026-09-02 D506/6 · 100%±0
v0.3.02026-08-28 D47.56/6 · 100%C→D in v0.3.0
v0.2.02026-08-08 C656/6 · 100%±0
v0.1.22026-07-18 C655/6 · 90%