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.
23 tools: 7 change things and 16 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things7Claude Code: ask: see these tools
- Only reads16Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnlint_command
The server marks "lint_command" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched 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.
- Warnexplain_command
The server marks "explain_command" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "explain_command" says "explain": a word for reading.
- Warnsuggest_fix
The server marks "suggest_fix" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "return": a word for reading.
The server marks "check_release_lifecycle" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "evaluate": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "evaluate": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "explain_command" says "explain": a word for reading.
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".
What this check looks forMatched 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.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "return": a word for reading.
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.
