MCP server · trust report

io.github.cyanheads/openalex-mcp-server

2 checks that ran failed — version behavior and transport config — so this release can’t be trusted as-is.

Publisher
io.github.cyanheads
Repository
github.com/cyanheads/openalex-mcp-server
Install
npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server, npm:@cyanheads/openalex-mcp-server
Versions
44
MCP revision
2025-11-25 · superseded
Inspected
6 of 6 checks · 100%
Scored
2026-09-09 · 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

    warn25% of grade

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

    tool "openalex_resolve_name" param "query" description: off-vendor URL in a description (ror.org); capability text should not name where data goes. tool "openalex_resolve_name" param "query" description: off-vendor URL in a description (pubmed.ncbi.nlm.nih.gov); capability text should not name where data goes. tool "openalex_search_entities" param "id" description: off-vendor URL in a description (ror.org); capability text should not name where data goes. tool "openalex_search_entities" param "id" description: off-vendor URL in a description (pubmed.ncbi.nlm.nih.gov); capability text should not name where data goes. tool "openalex_get_citation_graph" param "seed_id" description: off-vendor URL in a description (pubmed.ncbi.nlm.nih.gov); capability text should not name where data goes.

  • Supply chain

    pass25% of grade

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

    repository linkage verified

  • 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 0.7.10 (patch bump): tool "openalex_resolve_name" description changed (wording only, no injection pattern); tool "openalex_describe_fields" description changed (wording only, no injection pattern); new hardcoded outbound host/BCC destination(s): api.openalex.org, caseyjhand.com, github.com, mcp.example.com, openalex.org, www.buymeacoffee.com.

  • Transport config

    fail10% of grade

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

    remote MCP endpoint declares NO authentication (unauthenticated remote — nginx-ui/CVE-2026-33032 class); manifest/source references Telemetry behavior — disclosure

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.7.12 · current2026-09-09 C67.56/6 · 100%B→C in v0.7.12
v0.7.102026-09-03 B77.56/6 · 100%±0
v0.7.92026-08-22 B77.56/6 · 100%±0
v0.7.82026-07-27 B77.55/6 · 90%±0
v0.7.42026-07-10 B77.55/6 · 90%±0
v0.7.12026-06-11 B77.55/6 · 90%±0
v0.6.142026-05-25 B77.56/6 · 100%±0
v0.6.132026-05-23 B77.55/6 · 90%±0
v0.6.102026-05-16 B77.55/6 · 90%—