# Aviation Accident Analysis MCP

> Aviation accident report parsing and prompt generation service under the SHELL framework.

- name: io.github.hzy9981/aviation-accident-analysis
- version: 0.1.0
- connection class: L0 (run_local_package)
- trust: 91/100
- quality: –/100 (not scored)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.hzy9981%2Faviation-accident-analysis
- tools: https://api.protogrid.dev/v1/servers/io.github.hzy9981%2Faviation-accident-analysis/tools

**Runs on your machine: something must execute the package.** Only local packages are published (npm, PyPI, OCI, …). The registry never executes them, so tools are unknown until you run it.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "aviation-accident-analysis": {
      "command": "uvx",
      "args": [
        "aviation-accident-analysis==0.1.0"
      ]
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: n/a
- freshness: 85
- provenance: 90
- drivers: +repository +namespace-matches-repo +website ~liveness-unmeasured ~updated-86d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality –/100 (not scored)

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: n/a (weight 30)

- n/a `tools.descriptions`, `tools.description_length`, `tools.schemas`, `tools.annotations`, `tools.directory_hints`, `tools.token_cost`, `tools.api_dump`: tool list unknown (behind auth, not probed, or empty)

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool list unknown

### dependencies: 67 (weight 15)

- fail `deps.known_vulns`: 22 advisories to act on (malicious, or rated high or critical with a fix available): GHSA-2g87-pp6c-29x5 in aiohttp@3.14.3 (indirect, fixed in 3.14.4), GHSA-5wr8-gcqf-gqf3 in aiohttp@3.14.3 (indirect, fixed in 3.14.4), GHSA-3gq4-3j92-5w49 in nltk@3.9.4 (indirect, fixed in 3.10.3), ...; 14 more of lower severity or without a fix
- pass `deps.mcp_sdk_version`: mcp 2.2.0, no known advisory
- pass `deps.resolvable`: aviation-accident-analysis@0.1.0 resolved: 182 packages

- tools: unknown
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.hzy9981/aviation-accident-analysis.svg)](https://protogrid.dev/servers/io.github.hzy9981/aviation-accident-analysis)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- pypi aviation-accident-analysis@0.1.0: resolved, 181 dependencies, MCP SDK mcp 2.2.0
  - GHSA-m4rf-3fr8-xwx3 (critical) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: JVM argument injection bypass via per-call options in the NLTK Stanford wrappers (incomplete fix of CVE-2026-12841)" https://osv.dev/vulnerability/GHSA-m4rf-3fr8-xwx3
  - GHSA-rhp5-r9x4-f5g2 (critical) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "NLTK: Unsafe Pickle Deserialization in TransitionParser Allows Remote Code Execution" https://osv.dev/vulnerability/GHSA-rhp5-r9x4-f5g2
  - GHSA-x99w-6fgc-pmfw (critical) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Allowlisted pickle loaders still permit code execution in current source" https://osv.dev/vulnerability/GHSA-x99w-6fgc-pmfw
  - GHSA-2g87-pp6c-29x5 (high) in `` aiohttp@3.14.3 ``, indirect, fixed in `` 3.14.4 ``, advisory summary: "aiohttp: Multiple instances of excessive or unbounded memory/CPU use" https://osv.dev/vulnerability/GHSA-2g87-pp6c-29x5
  - GHSA-5wr8-gcqf-gqf3 (high) in `` aiohttp@3.14.3 ``, indirect, fixed in `` 3.14.4 ``, advisory summary: "aiohttp server lacks an initial request/header timeout" https://osv.dev/vulnerability/GHSA-5wr8-gcqf-gqf3
  - GHSA-3gq4-3j92-5w49 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Corpus Reader Sandbox Bypass" https://osv.dev/vulnerability/GHSA-3gq4-3j92-5w49
  - GHSA-568f-pv23-39p4 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "NLTK: Stable FrameNet and NKJP readers parse outside-root XML" https://osv.dev/vulnerability/GHSA-568f-pv23-39p4
  - GHSA-6hm5-jgcp-p838 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "Natural Language Toolkit (NLTK): Path Traversal in NKJPCorpusReader leads to Arbitrary File Read and bypasses the nltk.pathsec sandbox (ENFORCE=True)" https://osv.dev/vulnerability/GHSA-6hm5-jgcp-p838
  - GHSA-6hwm-xvph-95vm (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Uncontrolled search path when invoking the Graphviz 'dot' binary" https://osv.dev/vulnerability/GHSA-6hwm-xvph-95vm
  - GHSA-6ww7-3frv-cqxh (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: pathsec SSRF protection can be bypassed when a proxy is configured" https://osv.dev/vulnerability/GHSA-6ww7-3frv-cqxh
  - GHSA-97qj-x29f-37w7 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Entity-expansion DoS (billion laughs) via remaining raw ElementTree parses" https://osv.dev/vulnerability/GHSA-97qj-x29f-37w7
  - GHSA-fg7f-2386-8897 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "Natural Language Toolkit (NLTK): ReDoS in NLTK ReviewsCorpusReader FEATURES regex" https://osv.dev/vulnerability/GHSA-fg7f-2386-8897
  - GHSA-m42h-3232-vpv3 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "nltk: Arbitrary File Read via Path Traversal in nltk.data.load() through Percent-Encoded Sequences" https://osv.dev/vulnerability/GHSA-m42h-3232-vpv3
  - GHSA-p3m8-78j2-g5p3 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "NLTK: Default ENFORCE=False Disables All pathsec Security Controls" https://osv.dev/vulnerability/GHSA-p3m8-78j2-g5p3
  - GHSA-p4gq-832x-fm9v (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "Natural Language Toolkit (NLTK): URL-Encoded Path Traversal in nltk.data.load() Allows Arbitrary Local File Read" https://osv.dev/vulnerability/GHSA-p4gq-832x-fm9v
  - GHSA-p4rw-rvv2-7xwr (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Corpus readers follow symlinks outside trusted roots despite pathsec enforcement" https://osv.dev/vulnerability/GHSA-p4rw-rvv2-7xwr
  - GHSA-qvv7-cg9c-w4x3 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "Natural Language Toolkit (NLTK): DNS-rebinding SSRF filter bypass in nltk.pathsec.urlopen (nltk.download / nltk.data.load) defeats ENFORCE mode" https://osv.dev/vulnerability/GHSA-qvv7-cg9c-w4x3
  - GHSA-qx2g-xrx7-vfh8 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.1 ``, advisory summary: "NLTK TweetTokenizer vulnerable to denial of service through catastrophic regex backtracking" https://osv.dev/vulnerability/GHSA-qx2g-xrx7-vfh8
  - GHSA-rrv8-h7p8-rx55 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "NLTK: ReDoS in nltk.text.Text.findall() via unvalidated user-supplied regular expressions" https://osv.dev/vulnerability/GHSA-rrv8-h7p8-rx55
  - GHSA-w3v8-gmh9-3wv7 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: ReDoS in nltk.tgrep via unvalidated user-supplied regular expressions" https://osv.dev/vulnerability/GHSA-w3v8-gmh9-3wv7
  - GHSA-x5ph-mj9p-rfr8 (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "NLTK: StreamBackedCorpusView Bypasses pathsec.ENFORCE - Arbitrary Local File Read" https://osv.dev/vulnerability/GHSA-x5ph-mj9p-rfr8
  - GHSA-xh95-f55m-82fw (high) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "Natural Language Toolkit (NLTK) has path traversal in FramenetCorpusReader.frame() that allows arbitrary XML file read, bypassing the nltk.pathsec sandbox (ENFORCE=True)" https://osv.dev/vulnerability/GHSA-xh95-f55m-82fw
  - GHSA-8mgp-746c-j5xp (high) in `` nltk@3.9.4 ``, indirect, no fix yet, advisory summary: "NLTK: Model-artifact APIs bypass pathsec and touch files outside allowed roots" https://osv.dev/vulnerability/GHSA-8mgp-746c-j5xp
  - GHSA-3gqm-fcw5-w839 (moderate) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "NLTK: SSRF Fail-Open in validate\_network\_url() via DNS Resolution Failure" https://osv.dev/vulnerability/GHSA-3gqm-fcw5-w839
  - GHSA-72r2-7mfr-5xr9 (moderate) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "NLTK: FileSystemPathPointer.open() sandbox check is dead code — arbitrary file read via file:// protocol" https://osv.dev/vulnerability/GHSA-72r2-7mfr-5xr9
  - GHSA-8mpw-7fpc-4gqj (moderate) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Pl196xCorpusReader has quadratic ReDoS on malformed TEI blocks" https://osv.dev/vulnerability/GHSA-8mpw-7fpc-4gqj
  - GHSA-cw6x-m8jw-qmrh (moderate) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Uncontrolled recursion in nltk.featstruct.FeatStructReader causes unhandled RecursionError (DoS) via deeply nested feature-structure input" https://osv.dev/vulnerability/GHSA-cw6x-m8jw-qmrh
  - GHSA-f794-5jv7-7672 (moderate) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Downloader.download follows hardlinks and overwrites outside-root files" https://osv.dev/vulnerability/GHSA-f794-5jv7-7672
  - GHSA-ff5c-cp5c-9wjf (moderate) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Uncontrolled resource consumption in RecursiveDescentParser via ambiguous or left-recursive grammars" https://osv.dev/vulnerability/GHSA-ff5c-cp5c-9wjf
  - GHSA-ffj6-66c4-86gw (moderate) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "NLTK downloader allows cross-package resource and model poisoning" https://osv.dev/vulnerability/GHSA-ffj6-66c4-86gw
  - GHSA-vp2x-qp44-57v7 (moderate) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Quadratic CPU Exhaustion in \`XMLCorpusView.\_read\_xml\_fragment()\`" https://osv.dev/vulnerability/GHSA-vp2x-qp44-57v7
  - GHSA-ww6m-cw3f-q94g (moderate) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK: Quadratic-time DoS in PorterStemmer via long runs of 'y'" https://osv.dev/vulnerability/GHSA-ww6m-cw3f-q94g
  - GHSA-494j-54xm-rwp3 (low) in `` aiohttp@3.14.3 ``, indirect, fixed in `` 3.14.4 ``, advisory summary: "AIOHTTP: Secure attribute not enforced for shared cookie" https://osv.dev/vulnerability/GHSA-494j-54xm-rwp3
  - GHSA-2jhm-w3mp-jcwr (low) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.0 ``, advisory summary: "NLTK network URL validation permits SSRF to RFC 6598 shared-address-space hosts" https://osv.dev/vulnerability/GHSA-2jhm-w3mp-jcwr
  - GHSA-cv22-g7mw-8v73 (low) in `` nltk@3.9.4 ``, indirect, fixed in `` 3.10.3 ``, advisory summary: "NLTK CrubadanCorpusReader path traversal allows arbitrary file disclosure" https://osv.dev/vulnerability/GHSA-cv22-g7mw-8v73
  - PYSEC-2026-4318 (unrated) in `` nltk@3.9.4 ``, indirect, no fix yet, advisory summary: "In nltk version 3.9.4, the \`nltk.downloader.Downloader.\_download\_package()\` function writes downloaded package bytes to disk and may extract them before enforcing SHA-256 or MD5 checksum validation. This allows an attacker to tamper with the package response body for \`info.url\` through a compromised" https://osv.dev/vulnerability/PYSEC-2026-4318

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

_none_

## Packages

- pypi aviation-accident-analysis@0.1.0

## Tools (0)

_none observed_
