gavel
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gavel_archA | Check architecture layer violations (DDD layer rules). Returns per-project violations with rule, source and target packages. Runs a full analysis (not --quick) because architecture checks are skipped in quick mode. |
| gavel_coverageA | Get code coverage for a project. Runs a full analysis and reports the overall percentage plus a per-file breakdown. Pass 'files' to focus on specific files and see their uncovered line ranges. |
| gavel_findingsA | Discover every lint finding across a project in one call. Runs a quick analysis (findings only, no coverage), returns a by-rule summary plus a flat file:line list with gate-blocking NEW findings sorted first. Filter by project, rule, or severity. |
| gavel_initA | Initialize Gavel in the workspace from an existing gavel.yaml. Installs Bazel aspects, registers tool dependencies in MODULE.bazel, and sets up .bazelrc includes. |
| gavel_judgeB | Run static analyzers and evaluate the quality gate for configured projects. Returns verdict (pass/fail), findings count, coverage, and rule-by-rule results. |
| gavel_lint_fileA | Get lint findings for a specific file. Runs a quick analysis (findings only, no coverage) and returns findings filtered to the requested file path. |
| gavel_trendsA | Show quality trends for a project — coverage, findings, and verdict history over recent analysis runs. Requires a Gavel server (GAVEL_SERVER_URL). |
| gavel_validateA | Validate Gavel structural setup — checks that required files exist, .bazelrc includes are in place, and MODULE.bazel has the expected entries. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Architecture policy | Layer definitions and deny rules from architecture.yml — what imports are forbidden |
| Gavel configuration | Workspace configuration from gavel.yaml — projects, quality gates, languages, server settings |
| Gavel projects | All projects configured in gavel.yaml with their patterns, languages, and quality gate summaries |
TDQS
Scored across 8 tools
Most tools map cleanly to distinct concerns: architecture, coverage, project-wide findings, single-file linting, initialization, validation, judgment, and trends. The only minor overlap is between gavel_findings and gavel_lint_file, but their project-wide vs. per-file scope is clearly differentiated.
All tools share the consistent gavel_ prefix and snake_case style, but the second element mixes nouns (arch, coverage, findings, trends) with verbs (init, judge, validate, lint_file). This is readable and predictable at the prefix level, but it does not follow a uniform verb_noun convention.
Eight tools is well within the ideal range for a focused static-analysis quality-gate server. Each tool addresses a meaningful part of the workflow without feeling padded or redundant.
The toolset covers the full expected lifecycle: setup with init, structural setup checks with validate, running the quality gate with judge, and accessing the main analysis outputs for coverage, lint findings, architecture violations, and historical trends. There are no obvious missing operations that would leave an agent stuck.