Skip to main content
Glama
rodlunt

engineering-audit

by rodlunt

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ENGINEERING_AUDIT_CONFIGNoPath to a saved configuration JSON for headless runs. If set, get_config returns immediately.
ENGINEERING_AUDIT_RULES_DIRYesPath to the rules directory containing domain rule documents. Equivalent to the --rules-dir CLI argument.

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
list_domainsA

List every domain loaded from the rules pack, and report any files in the pack directory that were skipped because they had no Trigger line.

get_domainA

Return the full document text for one domain, given its id (e.g. 'd01').

    This tool serves the full rule text: it is meant for the local agent
    driving the audit, which needs the rules to apply them. Nothing else
    in this package returns rule body text.
    
begin_runA

Start a fresh audit run and create its output directory.

    assistant/model/repo_name/repo_commit/started are supplied by the
    calling agent; tool_version defaults to the installed package version
    if omitted; environment is optional free-form metadata. repo_dir is
    the path to the repository being audited, on disk; it is optional,
    but file_issues needs it to detect the GitHub repository to file
    against, unless a repo is given explicitly on that call instead.
    Calling this twice without finishing the first run (via
    render_report) is an error, since it would silently discard whatever
    domain results have already been recorded; pass replace=True to
    explicitly discard the in-progress run and start over.
    
start_configA

Begin configuring the audit run.

    If the ENGINEERING_AUDIT_CONFIG environment variable names a path to
    a valid AuditConfig JSON file, it is loaded immediately (the
    documented headless/CI path); an invalid or unreadable file is a
    loud error, never a silently-applied default. Otherwise this starts
    the interactive localhost configuration page and returns its URL for
    the agent to show the user.
    
get_configA

Fetch the resolved audit configuration.

    Requires start_config to have been called first. In preset mode the
    configuration is already known and is returned immediately. In
    interactive mode this blocks for up to timeout_s seconds waiting for
    the user to submit the configuration page; on timeout it raises a
    clear error rather than proceeding with a default configuration the
    user never actually chose. Call it again (the user's submission is
    still awaited) rather than treating a timeout as a green light.
    
record_domain_resultA

Record the audit result for one domain.

    The payload itself is pydantic-validated by DomainResult (finding and
    verdict consistency, could-not-run reason, could-not-evaluate notes).
    On top of that: the domain must be one of the domains selected for
    this run, and a completed result must carry a verdict for every rule
    the domain defines; a completed result missing a verdict raises
    IncompleteResultError listing exactly which rule ids are missing, so
    the agent can fix and resubmit rather than a skipped rule silently
    passing. Re-recording an already-recorded domain requires
    replace=True, to guard against an accidental overwrite.
    
run_statusA

Report progress for the current run: which selected domains have recorded results, which are still missing, and the findings count so far. Read-only.

file_issuesA

Preview or file GitHub issues for every recorded finding, via the user's own gh CLI.

    Requires config.issue_mode == "github": if the user chose in-report
    delivery instead, this raises rather than filing issues nobody asked
    for. Requires at least one recorded domain result.

    confirm=False (the default) NEVER files anything and never invokes
    gh at all: it returns a preview {repo, count, titles, instruction}
    so the calling agent can show the user exactly what is about to be
    filed on their repository, and get explicit agreement, before a
    single issue goes out. Filing on someone's repo is outward-facing;
    this confirmation step is mandatory, not decorative.

    confirm=True files one issue per finding that has not already been
    filed (a finding whose rule_id is already in this run's filed set is
    skipped, so retrying after a partial failure does not double-file
    the ones that succeeded). The target repository is `repo` if given,
    otherwise detected from the audited repository directory recorded
    by begin_run's repo_dir. If any issue fails to file, filing stops
    immediately and the error lists exactly which rule ids were filed
    (with their URLs) and which were not, so a retry knows where to
    resume.
    
submit_feedbackA

Send optional run feedback to the tool author.

    Requires a resolved configuration. There is nothing to send unless
    config.feedback_text was set on the configuration page, or the
    calling agent supplies extra_text; if neither is present this
    raises rather than filing an empty, pointless issue.

    The feedback body always carries the free text plus a run-metadata
    section (tool version, rules pack, assistant, model, repository,
    timestamps), and then each telemetry section the user consented to
    on the configuration page (coverage totals, findings rollup by
    severity/domain id, self-assessment, environment); an unconsented
    section is left out entirely. Finding text itself is never
    included, only counts.

    Files a labelled issue on the tool author's feedback repository via
    gh. If gh is unavailable or filing fails for any reason, the
    feedback is never lost: this returns a mailto fallback instead,
    with the same body, so the agent can offer to open the user's mail
    client or hand over the text to paste in manually.
    
render_reportA

Finish the run and render its report.

    Requires a resolved configuration. Sets meta.finished to the given
    ISO timestamp, renders the deterministic HTML report (which itself
    refuses to render an incomplete run: a selected domain with no
    recorded result, or a completed result missing a rule verdict, raises
    rather than producing a report that looks clean over a gap), and
    writes both report.html and run-state.json to the run's output
    directory. Any issue URLs filed this run via file_issues, and any
    feedback issue filed via submit_feedback, are carried on the
    RunState itself, so the written run-state.json is self-sufficient:
    it (and its schema_version) can be handed to
    engineering-audit-render later to re-render the same report without
    this server, this run tracker, or either URL, still in memory.
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rodlunt/engineering-audit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server