install-language-server-2a72fc — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited install-language-server-2a72fc (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
language-servers is an MCP bridge to one or more Language Server Protocol servers. The MCP does not contain TypeScript, Pyright, Rust, or Roslyn itself. Instead it reads the active config file reported by language-servers://profiles. Each entry under language-servers: declares one profile: how to launch the server, which file extensions it handles, which workspace markers it expects, and any preload or environment settings.
When an MCP tool like outline, inspect, references, rename, completion, or diagnostics is called on a matching file, the MCP chooses the matching profile, starts that language server over stdio if needed, and proxies the request.
This skill is for the part the MCP will not do automatically:
language-servers MCP server is available in this sessionreload so the MCP rereads the YAMLUse this skill for both setup and troubleshooting:
Use language-servers://profiles as the source of truth:
manager.configPath tells you which YAML file is activemanager.state tells you whether config exists or setup is still uninitializedprofiles shows the declared profiles from YAML with runtime state overlaid on toplanguage-servers://profiles/{name} and language-servers://profiles/{name}/logs show per-profile details and logsIf language-servers://profiles is unavailable, stop and say that the language-servers MCP server is not connected in this session. Do not guess config state without the resource.
language-servers://profiles MCP resource.manager.configPath, manager.state, and profiles to find the active YAML file and current runtime state.configPath. Do not guess a different YAML file.profiles.language-servers://profiles/{name} and language-servers://profiles/{name}/logs if the profile exists or is failing.manager.configPath is null or manager.state is uninitialized, run npx -y @p1va/symbols@latest config init.language-servers.yaml in the current workspace unless the user chose a different config location.language-servers://profiles again and confirm the config path now exists.reload, and logs..c .h .cpp .cc .cxx .hpp .hxx .C .H.cs.go.java.kt .kts.lua.php.py .pyi.rb .rake .gemspec .ru .erb.rs.swift.ts .tsx .js .jsx .mts .cts .mjs .cjsnpx, a separate global install may be unnecessary.language-servers.command, extensions, workspace_files, and diagnostics explicit.workspace_files carefully. They identify which repos count as a workspace for that server and which profiles can participate in workspace-wide search.package.json unless you intentionally want that profile to apply to very mixed repositories.preload_files only when the reference calls for it.reload.language-servers://profiles again and confirm the profile is present.outline, inspect, completion, diagnostics, or references.not_started until the first matching file-backed call. That is normal.language-servers://profiles/{name}language-servers://profiles/{name}/logsreload if the config changed, then revalidate on the same file.reload is the only apply-config action. Do not restart the MCP server unless the user explicitly asks.not_started after reload is expected. Use a matching file-backed tool call to start the profile.workspace_files or missing extensions are common routing failures.workspace_files can make workspace-wide search start the wrong server.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.