Skip to main content
Glama

Server Details

Security scanner for MCP servers and skills: Unicode injection, patterns, secrets.

Ownership verified
Status
Healthy
Uptime
99.9% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct purpose: read_skill reads a specific skill file, skills_list_tool lists skills, trust_scan_file scans a single file, and trust_scan_server scans an entire server/package. No two tools overlap in function, making misselection unlikely.

Naming Consistency3/5

Most tools follow a verb_noun pattern (read_skill, trust_scan_file, trust_scan_server), but skills_list_tool deviates with noun_verb_tool structure and includes a redundant 'tool' suffix. This inconsistency, though minor, creates a slight lack of predictability.

Tool Count5/5

With only 4 tools, the server is tightly scoped for its dual purpose of skill management and security scanning. Each tool is essential and covers a distinct operation, fitting well within the ideal 3-15 tool range.

Completeness4/5

The server covers the core lifecycle for skills (list and read) and security scanning (file and server). A minor gap is the lack of a dedicated tool to scan a directory without treating it as a full server, but the existing tools handle the primary use cases effectively.

Available Tools

4 tools
read_skillRead SkillAInspect

Read a product skill file by its skill:// URI.

ParametersJSON Schema
NameRequiredDescriptionDefault
uriYese.g. skill://<product>/<skill-name>/SKILL.md Get valid URIs from `skills_list_tool`.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. The verb 'read' implies a non-destructive operation, but the description does not elaborate on error handling, idempotency, or any side effects. Since it is a simple read operation, the primary behavior is clear, but the lack of explicit clarification about potential failures or returned data (beyond the output schema) leaves a gap. A 3 reflects adequate basic coverage without richer context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the essential purpose without any fluff. It wastes no words and is immediately actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, an output schema exists), the description is sufficient. It states the action and the URI input. It does not explicitly mention prerequisites beyond the URI source, but that is covered in the schema. The lack of error details is acceptable for a straightforward read tool, so a 4 is appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for the single parameter `uri` already includes a concrete example and instruction to get URIs from `skills_list_tool`. With 100% schema coverage, the baseline is 3. The tool description adds no additional meaning beyond paraphrasing the schema; it does not compensate further because the schema is already thorough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('read'), a clear resource ('product skill file'), and the exact input mechanism ('skill:// URI'). It clearly distinguishes itself from sibling tools like skills_list_tool, which lists skills, and the ledger_* family, which handles ledgers. An agent can immediately understand what action this performs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs obtaining valid URIs from `skills_list_tool`, which is a sibling tool, thus providing a clear workflow: list first, then read. This is a direct usage guideline. However, it does not explicitly state when not to use this tool, but the referral to the list tool implies a prerequisite sequence that sufficiently routes the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skills_list_toolSkills List ToolAInspect

List this product's skills. Each entry carries the SKILL.md URI, its name and description, verbatim frontmatter, and a per-file sha256 manifest. Read a body with read_skill.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses the output structure (entries with URI, name, description, frontmatter, manifest) and hints at a read-only listing operation. However, it doesn't mention pagination, size limits, or whether the manifest is computed on demand, which would be useful for a listing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loads the purpose, and packs the output details into a compact list. Every sentence earns its place, and the pointer to read_skill is a useful routing hint without extra fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter listing tool with an output schema, the description is nearly complete. It explains what each entry contains and how to proceed to read a body. It could mention whether the list is sorted or whether it includes all skills, but these are minor gaps given the output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter semantics burden. The description fully explains what the tool returns, which is the only relevant semantic content. Baseline 4 is appropriate for a no-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists this product's skills and enumerates exactly what each entry contains (SKILL.md URI, name, description, verbatim frontmatter, sha256 manifest). It also distinguishes itself from the sibling read_skill by pointing to it for reading a body.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the listing tool and directs users to read_skill for body content, giving a clear alternative. It doesn't explicitly state when not to use it, but the context is sufficient for an agent to select it for listing versus reading.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trust_scan_fileScan Single FileA
Read-onlyIdempotent
Inspect

Security-scan a single file for invisible Unicode, dangerous patterns, and secrets.

Returns a severity-weighted score and per-finding detail (rule, severity, location). Read-only: the file is never modified.

ParametersJSON Schema
NameRequiredDescriptionDefault
filepathYesabsolute path of the file to scan

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'Read-only: the file is never modified,' which aligns with the annotations (readOnlyHint=true, destructiveHint=false). It also discloses behavior beyond the annotations by specifying what it scans for and what it returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise—two sentences—and well-structured. It states the purpose, the scope, and the output without any unnecessary verbiage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is complete. It explains what the tool does, what it scans for, what it returns, and its read-only nature, providing all necessary context for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides a clear description for the single parameter 'filepath' ('absolute path of the file to scan'). The tool description does not add significant extra meaning beyond the schema, so it meets the baseline for 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it security-scans a single file, lists the specific categories it checks (invisible Unicode, dangerous patterns, secrets), and describes the output (severity-weighted score and per-finding details). This fully distinguishes it from the sibling tool trust_scan_server which presumably scans a server.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'single file' which differentiates from trust_scan_server, but does not explicitly say 'use this for single files, use trust_scan_server for servers.' However, the scope is clear enough for an agent to infer the correct use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trust_scan_serverScan MCP Server or Skill PackageA
Read-onlyIdempotent
Inspect

Security-scan an MCP server or skill package before trusting it.

Runs all four checks — invisible Unicode prompt-injection, dangerous code patterns (MCP001–006), hardcoded secrets, typosquat package names — and returns a 0-100 score, letter grade, and detailed findings. Run this on any directory BEFORE wiring it into your agent. Read-only: never modifies the scanned target.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesdirectory or file path to scan (on the TrustScan host)
package_nameNopackage name for typosquat detection (e.g. "mcp-server")

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces this with 'Read-only: never modifies the scanned target' and adds meaningful behavioral detail about the four checks performed and the nature of the output. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: the operation, the checks, the output, the recommended usage window, and the read-only guarantee are all covered in a compact, well-front-loaded description. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema, annotations, and fully described parameters, the description provides all the context an agent needs: what the tool does, what it returns, when to run it, and that it is non-destructive. The sibling tool distinction is lightly handled but sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds general context about typosquat detection, which loosely relates to package_name, but it does not add parameter-level meaning beyond what the input schema already provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('security-scan'), a clear resource ('MCP server or skill package'), and names the exact checks and outputs (0-100 score, letter grade, detailed findings). This clearly distinguishes it from the sibling trust_scan_file by targeting packages/directories rather than single files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit timing guidance: 'Run this on any directory BEFORE wiring it into your agent.' This tells the agent when the tool is appropriate. It does not explicitly name trust_scan_file as the alternative for single files, but the directory/package framing implies the distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Addedread_skill
    • Addedskills_list_tool
  2. 2 tool updates
    • Changedtrust_scan_file1 field changed
      • addedInput schema / properties / filepath / description
        Added value: +"absolute path of the file to scan"
    • Changedtrust_scan_server1 field changed
      • changedInput schema / properties / package_name / description
        Previous value: -"package name for typosquat detection"New value: +"package name for typosquat detection (e.g. \"mcp-server\")"
  3. 2 tool updates
    • First observedtrust_scan_file
    • First observedtrust_scan_server

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    Security scanner and MCP server that catches dangerous patterns in MCP servers and AI agent projects, such as leaked secrets, shell execution, and prompt-injection text. Runs as both a CLI and MCP server with CI-friendly severity gates.
    2
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Security scanner for MCP servers. Detects prompt injection, command injection, auth bypass, and excessive permissions across tools, resources, and prompts.
    19 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources