Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
scan_skillA

Scans a third-party AI agent-skill directory (a SKILL.md manifest plus its bundled hooks/scripts) for known attack patterns before that skill is installed or executed: remote-code-execution hooks (SG02), file-scope escalation (SG03), supply-chain-risky install hooks (SG04), obfuscated payloads (SG05), credential harvesting (SG06), frontmatter spoofing (SG07), prompt injection in the skill's own instructional text (SG08), and marketplace typosquatting (SG10). Call this before installing or running any agent skill you did not author yourself -- the same way you would not execute an unreviewed shell script from a stranger; it has nothing useful to do on skills you already trust.

This is a read-only, offline, side-effect-free operation: every rule pack ships inside the installed wheel, so no network call happens at scan time, and the target's own files are only ever read and pattern-matched, never eval()'d, exec()'d, or imported. Re-running it on an unchanged target is idempotent. Two suppression mechanisms exist in the underlying CLI (.skillguardignore and inline "# skillguard-ignore: SGxx" comments) but this tool never honors either, even if the target ships its own .skillguardignore -- every call runs at full strictness since the target is by definition untrusted. One coverage gap: SG09 (cross-skill privilege chaining across a set of skills) only runs through the separate scan_skill_set()/scan-set CLI path, not through this single-directory tool. An invalid path or unreadable target raises an error rather than returning a silently-clean result.

Parameters: path (string, required) is the filesystem path to the skill directory to scan, e.g. "/skills/pdf-tools" containing SKILL.md plus its hooks/. severity_threshold (string, optional, one of HIGH/MEDIUM/LOW, default HIGH) is the minimum finding severity that flips the result's exit code to non-zero -- lower it to MEDIUM or LOW for a stricter review. timeout_ms (integer, optional, default 10000) caps the per-file scan time in milliseconds; files that exceed it land in the result's timeouts list instead of failing the whole scan. Example calls: {"path": "/skills/pdf-tools"} for a default HIGH-severity scan; {"path": "/skills/pdf-tools", "severity_threshold": "LOW"} to surface every finding; {"path": "/skills/pdf-tools", "timeout_ms": 30000} for a larger skill that needs more per-file time.

Returns a JSON string with: target (the scanned path), filesScanned, severityThreshold, exitCode (0 = clean, 1 = a finding at/above threshold was found, 2 = target/config error), summary (finding counts by severity), findings (a list of {ruleId, category, severity, message, file, line, snippet?}), timeouts (files that hit the per-file limit), unscannedFiles (recognized-but-unsupported-language files), and warnings ({code, message} entries, e.g. for an invalid rule pack). A non-zero exitCode means the skill tripped a finding at or above the configured threshold and should not be trusted without human review.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.7/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusing it with another tool. Its purpose is clearly described and distinct within the server's scope.

Naming Consistency5/5

The single tool name 'scan_skill' follows a clear verb_noun pattern, and with only one tool there are no inconsistencies to evaluate.

Tool Count3/5

The server has only one tool, which feels thin for a security scanning domain. While it is comprehensive for single-skill scans, the description references a separate scan_skill_set path that is not exposed, leaving the tool set on the borderline of being too sparse.

Completeness3/5

The tool thoroughly covers many attack patterns (SG02-SG08, SG10) for a single skill directory, but explicitly lacks SG09 (cross-skill chaining) which requires a separate tool path. This is a notable gap in the security review lifecycle, as multi-skill scenarios cannot be fully assessed.

Maintenance

ActivityMaintained
ResponsivenessNo issues