MCP server · trust report

ai.bowmark/bowmark

1 check that ran failed — version behavior — so this release can’t be trusted as-is.

Publisher
ai.bowmark
Repository
github.com/bowmark-ai/skill
Install
pypi:bowmark-mcp, pypi:bowmark-mcp, npm:bowmark-mcp, pypi:bowmark-mcp, npm:bowmark-mcp, pypi:bowmark-mcp, npm:bowmark-mcp, pypi:bowmark-mcp, npm:@bowmark/mcp
Versions
724
MCP revision
2025-11-25 · superseded
Inspected
6 of 6 checks · 100%
Scored
2026-09-04 · 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 checks4 clean2 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 25 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

    warn25% of grade

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

    package name "@bowmark/mcp" is edit-distance 2 from popular package "yup" (typosquat candidate)

  • Credential hygiene

    pass15% of grade

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

    No hardcoded secrets, secret-shaped tool parameters, or leaked keys found. PASS = no static red flag; static analysis cannot prove the code honors env-based secret handling at runtime.

  • Permission scope

    pass15% of grade

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

    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 8.90.0 (minor bump): new hardcoded outbound host/BCC destination(s): api.bowmark.ai, bowmark.ai, github.com.

  • 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://api.bowmark.ai/mcp/registry" uses TLS (https); remote endpoint uses OAuth (strongest auth mode)

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
v8.95.0 · current2026-09-04 B77.56/6 · 100%±0
v8.90.02026-09-03 B87.56/6 · 100%±0
v8.85.02026-09-02 B87.56/6 · 100%±0
v8.78.02026-09-01 B82.56/6 · 100%±0
v8.73.02026-08-31 B87.56/6 · 100%±0
v8.71.02026-08-30 B87.56/6 · 100%±0
v8.67.02026-08-29 B87.56/6 · 100%±0
v8.63.02026-08-28 B77.56/6 · 100%±0
v8.62.02026-08-27 B77.56/6 · 100%±0
v8.57.12026-08-25 B77.56/6 · 100%±0
v8.54.02026-08-25 B77.56/6 · 100%±0
v8.52.12026-08-22 B77.56/6 · 100%±0
v8.52.02026-08-20 B77.56/6 · 100%±0
v8.51.02026-08-19 B77.55/6 · 90%±0
v8.50.02026-08-17 B77.56/6 · 100%±0
v8.49.02026-08-15 B77.56/6 · 100%±0
v8.48.12026-08-14 B77.56/6 · 100%±0
v8.47.12026-08-14 B77.56/6 · 100%±0
v8.42.42026-08-13 B77.56/6 · 100%C→B in v8.42.4
v8.41.02026-08-12 C72.56/6 · 100%B→C in v8.41.0
v8.35.02026-08-11 B77.56/6 · 100%±0
v8.34.22026-08-10 B77.56/6 · 100%±0
v8.32.32026-08-09 B77.56/6 · 100%±0
v8.28.12026-08-08 B77.56/6 · 100%±0
v8.20.02026-08-07 B77.56/6 · 100%A→B in v8.20.0
v8.16.32026-08-06 A906/6 · 100%±0
v8.12.02026-08-05 A906/6 · 100%±0
v8.8.72026-08-04 A906/6 · 100%±0
v8.3.62026-08-03 A906/6 · 100%±0
v8.2.202026-08-02 A906/6 · 100%±0
v8.2.02026-08-01 A905/6 · 90%±0
v6.3.22026-07-31 A1005/6 · 90%±0
v5.3.12026-07-30 A1005/6 · 90%±0
v3.111.22026-07-28 A906/6 · 100%±0
v3.111.12026-07-27 A905/6 · 90%±0
v3.106.102026-07-26 A905/6 · 90%±0
v3.106.12026-07-25 A905/6 · 90%±0
v3.104.02026-07-24 A905/6 · 90%±0
v3.102.02026-07-24 A905/6 · 90%±0
v3.101.12026-07-24 A1005/6 · 90%±0
v3.100.02026-07-24 A906/6 · 100%±0
v3.99.02026-07-24 A905/6 · 90%±0
v3.97.02026-07-24 A905/6 · 90%±0
v3.94.52026-07-22 A1005/6 · 90%±0
v3.94.22026-07-22 A905/6 · 90%±0
v3.94.02026-07-22 A1005/6 · 90%±0
v3.93.22026-07-22 A905/6 · 90%±0
v3.93.02026-07-22 A905/6 · 90%±0
v3.84.02026-07-21 A905/6 · 90%±0
v3.80.02026-07-20 A906/6 · 100%B→A in v3.80.0
v3.79.22026-07-20 B806/6 · 100%±0
v3.79.12026-07-19 B1003/6 · 55%±0
v3.78.32026-07-18 B1004/6 · 65%±0
v3.78.22026-07-18 B1004/6 · 65%±0
v3.78.12026-07-18 B1003/6 · 55%±0
v3.77.22026-07-18 B1004/6 · 65%A→B in v3.77.2
v3.77.12026-07-18 A905/6 · 90%±0
v3.75.32026-07-17 A905/6 · 90%±0
v3.75.02026-07-16 A905/6 · 90%B→A in v3.75.0
v3.60.172026-07-09 B806/6 · 100%A→B in v3.60.17
v3.60.162026-07-09 A1005/6 · 90%±0
v3.60.112026-07-09 A1005/6 · 90%B→A in v3.60.11
v3.55.132026-07-05 B1004/6 · 65%A→B in v3.55.13
v3.55.122026-07-04 A905/6 · 90%B→A in v3.55.12
v3.53.32026-07-03 B904/6 · 75%±0
v3.53.02026-07-03 B904/6 · 75%insf→B in v3.53.0
v3.29.12026-06-16 insufficient2/6 · 35%B→insf in v3.29.1
v3.29.02026-06-16 B904/6 · 75%±0
v3.25.12026-06-11 B904/6 · 75%±0
v3.24.02026-06-10 B904/6 · 75%±0
v1.1.02026-05-28 B1004/6 · 75%