Skip to main content
Glama
zegroged

vacuous-tests-mcp

by zegroged

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_testsA

Scan a file or directory for tests that cannot fail.

Reports tests that pass regardless of the behaviour of the code they claim to cover: assertions that are true by construction, tests with no assertion at all, empty bodies, and tests that are skipped while still appearing in the suite.

Python is analysed with the ast module and is exact. Rust and JavaScript/TypeScript use a brace-matching text scanner, which is a heuristic tuned to miss cases rather than invent them. Every finding carries a file and line so it can be checked directly.

Args: path: File or directory to scan. Build and dependency directories (target, node_modules, .venv, ...) are skipped automatically. include_skipped: Include tests marked skipped or ignored. These always run green because they do not run at all, but they are usually deliberate, so they are reported at info severity. max_findings: Cap on returned findings. The summary always counts every finding, including any beyond the cap.

list_rulesA

List every rule the scanner applies, with a one-paragraph description of each.

explain_ruleA

Explain one rule: what it detects and how the finding is usually resolved.

Args: rule: A rule id as returned by list_rules or by a finding, for example self-referential-source.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: listing available rules, explaining a specific rule, and scanning tests for vacuous assertions. There is no overlap between scan_tests and the two rule-related tools, and list_rules/explain_rule are clearly separated by verb (list vs. explain).

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern: list_rules, explain_rule, scan_tests. The naming is predictable and aligns perfectly with the tool's action.

Tool Count5/5

With 3 tools, the server is well-scoped for its purpose—a test scanner with rule documentation. Each tool earns its place, and the count falls squarely within the typical 3-15 range for a focused server.

Completeness5/5

The tool surface fully covers the intended workflow: discover rules, understand a rule, and run the scanner. There are no obvious gaps—the scanner's options are handled via arguments rather than requiring additional tools, and the rule lifecycle (list/explain) is complete for a read-only server.

Maintenance

ActivityMaintained
ResponsivenessNo issues