Skip to content

PkgSeek Linux Intelligence

by yeagoo · remote · no sign-in to list tools · v0.1.19 · published by GitHub user yeagoo

Linux package, file, command, vulnerability, lifecycle, migration, and repository intelligence.

Changes · 7

23 tools: 7 change things and 16 only read.

Scanned Oct 21, 2026

4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http pkgseek https://api.pkgseek.com/mcp

Findings

Matches of fixed checks, with the text they matched.

4 warn
  • The server marks "lint_command" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.command), which can change anything it can reach.

    What this check looks for
  • The server marks "explain_command" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "explain_command" says "explain": a word for reading.

    What this check looks for
  • The server marks "suggest_fix" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "return": a word for reading.

    What this check looks for
  • The server marks "check_release_lifecycle" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "evaluate": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

23 tools

Changes things 7Claude Code: ask
  • check_release_lifecycleEvaluate whether a Linux distribution release is active, nearing EOL or unsupported under a CI policy.1 finding

    Why it is in this group

    • The description's first verb is "evaluate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "check_release_lifecycle" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "evaluate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Evaluate whether a Linux distribution release is active, nearing EOL or unsupported under a CI policy.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • diagnose_linux_errorTurn a package-not-found or command-not-found error into matching packages and install guidance.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Turn a package-not-found or command-not-found error into matching packages and install guidance.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • explain_commandExplain and statically inspect a command using the Command Doctor knowledge base.1 finding

    Why it is in this group

    • The name "explain_command" says "explain": a word for reading.
    • The input takes a statement or command to run (input.command), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "explain_command" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "explain_command" says "explain": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Explain and statically inspect a command using the Command Doctor knowledge base. The command is never executed.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • identify_binaryReverse an executable name to curated tools and packages.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Reverse an executable name to curated tools and packages.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • lint_commandStatically inspect a shell command for unsupported flags and portability issues.1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.command), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "lint_command" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.command), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Statically inspect a shell command for unsupported flags and portability issues. The command is never executed.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • plan_distro_migrationMap packages from one distribution release to another and report missing or ambiguous replacements.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Map packages from one distribution release to another and report missing or ambiguous replacements.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • suggest_fixReturn conservative, sourced guidance for command syntax or portability problems.1 finding

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    • The input takes a statement or command to run (input.command), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "suggest_fix" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "return": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Return conservative, sourced guidance for command syntax or portability problems. The command is never executed.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
Only reads 16Claude Code: allow
  • compare_distro_releasesCompare package additions, removals and version changes between two releases.No findings

    Why it is in this group

    • The name "compare_distro_releases" says "compare": a word for reading.
    Description, as the server wrote it
    Compare package additions, removals and version changes between two releases.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • compare_distrosCompare installation names and commands for a tool across Linux distributions.No findings

    Why it is in this group

    • The name "compare_distros" says "compare": a word for reading.
    Description, as the server wrote it
    Compare installation names and commands for a tool across Linux distributions.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • compare_package_matrixCompare up to 50 inventory items across 5 explicit native repository targets.No findings

    Why it is in this group

    • The name "compare_package_matrix" says "compare": a word for reading.
    Description, as the server wrote it
    Compare up to 50 inventory items across 5 explicit native repository targets. Read-only; indexed-build CVEs only, no cross-distro ranking. Alternatives require source evidence and user confirmation before installation. Disabled servers reject the call.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • compare_package_versionsCompare a package's versions and repositories across distributions.No findings

    Why it is in this group

    • The name "compare_package_versions" says "compare": a word for reading.
    Description, as the server wrote it
    Compare a package's versions and repositories across distributions.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • get_contextGet a token-efficient context pack with trust and execution guardrails for an agent.No findings

    Why it is in this group

    • The name "get_context" says "get": a word for reading.
    Description, as the server wrote it
    Get a token-efficient context pack with trust and execution guardrails for an agent.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • get_distro_lifecycleList cached lifecycle facts for a Linux distribution.No findings

    Why it is in this group

    • The name "get_distro_lifecycle" says "get": a word for reading.
    Description, as the server wrote it
    List cached lifecycle facts for a Linux distribution.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • get_packageGet package metadata and evidence.No findings

    Why it is in this group

    • The name "get_package" says "get": a word for reading.
    Description, as the server wrote it
    Get package metadata and evidence. arch requires distro and release. Use view=availability to list indexed builds (requires release); absence is not vendor non-support.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • get_package_historyTrace indexed package version history for regression investigation.No findings

    Why it is in this group

    • The name "get_package_history" says "get": a word for reading.
    Description, as the server wrote it
    Trace indexed package version history for regression investigation.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • get_repository_healthRead repository freshness and counts.No findings

    Why it is in this group

    • The name "get_repository_health" says "get": a word for reading.
    Description, as the server wrote it
    Read repository freshness and counts. Use view=coordinates for the paginated release/native-architecture catalog and coverage.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • get_toolGet a sourced tool record, commands, flags and distribution mappings.No findings

    Why it is in this group

    • The name "get_tool" says "get": a word for reading.
    Description, as the server wrote it
    Get a sourced tool record, commands, flags and distribution mappings.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • get_vulnerabilityGet a cached CVE or CNNVD record and distribution-aware affected-package evidence.No findings

    Why it is in this group

    • The name "get_vulnerability" says "get": a word for reading.
    Description, as the server wrote it
    Get a cached CVE or CNNVD record and distribution-aware affected-package evidence.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • query_file_providesFind packages that contain a command or filesystem path.No findings

    Why it is in this group

    • The name "query_file_provides" says "query": a word for reading.
    Description, as the server wrote it
    Find packages that contain a command or filesystem path.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • resolve_installResolve a tool and distribution to its package, real binary and install command.No findings

    Why it is in this group

    • The name "resolve_install" says "resolve": a word for reading.
    Description, as the server wrote it
    Resolve a tool and distribution to its package, real binary and install command.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • search_packagesSearch package names across repositories and distributions.No findings

    Why it is in this group

    • The name "search_packages" says "search": a word for reading.
    Description, as the server wrote it
    Search package names across repositories and distributions.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • search_toolsSearch curated Linux command-line tools.No findings

    Why it is in this group

    • The name "search_tools" says "search": a word for reading.
    Description, as the server wrote it
    Search curated Linux command-line tools.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
  • search_vulnerabilitiesSearch cached CVE or CNNVD records, with optional distribution and severity filters.No findings

    Why it is in this group

    • The name "search_vulnerabilities" says "search": a word for reading.
    Description, as the server wrote it
    Search cached CVE or CNNVD records, with optional distribution and severity filters.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.19. Values in angle brackets are yours to fill in.

claude mcp add --transport http pkgseek https://api.pkgseek.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__pkgseek__search_tools",
      "mcp__pkgseek__get_tool",
      "mcp__pkgseek__resolve_install",
      "mcp__pkgseek__query_file_provides",
      "mcp__pkgseek__compare_distros",
      "mcp__pkgseek__search_packages",
      "mcp__pkgseek__get_package",
      "mcp__pkgseek__compare_package_versions",
      "mcp__pkgseek__search_vulnerabilities",
      "mcp__pkgseek__get_vulnerability",
      "mcp__pkgseek__get_distro_lifecycle",
      "mcp__pkgseek__compare_distro_releases",
      "mcp__pkgseek__get_package_history",
      "mcp__pkgseek__get_repository_health",
      "mcp__pkgseek__get_context",
      "mcp__pkgseek__compare_package_matrix"
    ],
    "ask": [
      "mcp__pkgseek__identify_binary",
      "mcp__pkgseek__diagnose_linux_error",
      "mcp__pkgseek__lint_command",
      "mcp__pkgseek__explain_command",
      "mcp__pkgseek__suggest_fix",
      "mcp__pkgseek__check_release_lifecycle",
      "mcp__pkgseek__plan_distro_migration"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as pkgseek. Review it before you use it.