Skip to content

Releases: mcp-box/mcpscore-action

v1.3.0

Choose a tag to compare

@a-akimov a-akimov released this 17 Oct 11:51
a6a5297

Changed

  • A partial audit now fails min-score, as it fails the CLI's
    --fail-under. Without a working credential an auth-gated server is audited
    only on its auth, TLS and transport surface, and that score used to pass the
    gate. The job now fails with a message naming the partial audit and how to
    pass a credential. A workflow that relied on a green partial run needs a
    credential, or no min-score. min-readiness is unchanged.

Added

  • Show failure messages and repair hints in report summaries, with literal text
    rendering and explicit informative/counted readiness labels. Old reports remain supported.

v1.2.0

Choose a tag to compare

@a-akimov a-akimov released this 10 Sep 12:48
282ceaa

Added

  • sarif-path input: the failed rules as SARIF 2.1.0 for GitHub code
    scanning.
    Set it to a file and add a github/codeql-action/upload-sarif
    step, and every failed rule becomes an alert in the repository's Security
    tab, keyed on the rule and the target so a re-run updates it in place. The
    file is written before any gate runs, so a failing build still carries its
    findings. Needs mcpscore 1.14.0 or later (the default, latest, qualifies);
    an older version fails the job with a message naming the requirement.
    The README has the workflow.

v1.1.1

Choose a tag to compare

@a-akimov a-akimov released this 07 Sep 11:36
cefb5cb

Fixed

  • The comment token no longer reaches the audited server. The audit
    subprocess inherited the step environment, including the github-token
    input, so a local target (server code from the pull request under review)
    could read a write-capable token. The action now strips its own token from
    the environment it launches mcpscore with. Secrets you export yourself,
    such as MCPSCORE_TOKEN, are still passed through on purpose.
  • The readiness line in the comment no longer claims readiness is never
    part of the main score.
    Since mcpscore 1.1.0 a server on the modern
    lifecycle has its readiness points counted in the score, and the report
    says so (readiness.counted_in_main). The comment and job summary now
    read "counted in the main score" or "informative, not counted in the main
    score" accordingly.

Changed

  • The audit runs with PYTHONFAULTHANDLER=1, so a native crash in the CLI
    prints a traceback in the job log instead of a bare exit code.

v1.1.0

Choose a tag to compare

@a-akimov a-akimov released this 05 Sep 05:43
4858817

Added

  • Picks up a mcpscore.toml from the checkout. Rules turned off or
    re-ranked in the repository's configuration (or [tool.mcpscore] in
    pyproject.toml) shape the score the action gates on, and the PR comment
    names the file, what it changed, and the rules that tripped a configured
    [gate]. Needs mcpscore 1.12.0 or newer; older engines behave as before.
  • A release script and a publish workflow. make release runs the
    preflight (main, clean, in sync, changelog section, tag free, CI green)
    and creates the GitHub Release; the Publish workflow then moves the
    floating major tag to it in CI, where the move is auditable. Previously
    the major tag was moved by hand.
  • make all mirrors CI (ruff, pyright, pytest, zizmor), like the other
    mcpscore repositories.

Changed

  • A CLI gate exit now publishes the report before failing the job.
    mcpscore exits 3 for --fail-under and a configured [gate] and 4 for a
    --smoke failure, after writing its JSON report. The action used to treat
    any non-zero exit as "could not audit" and skip the report, outputs, job
    summary, and comment; it now publishes them and then fails the job with
    the named reason.

v1.0.1 - Runtime refresh

Choose a tag to compare

@a-akimov a-akimov released this 25 Aug 16:04
4c8c0b2

Bumps the embedded astral-sh/setup-uv from 8.2.0 to 10.0.1 (transient manifest-timeout resilience, current uv checksums) and refreshes the version-input example. The audited mcpscore engine is unaffected: the action always runs the latest engine unless you pin the version input.

v1.0.0 - Audit MCP servers in CI

Choose a tag to compare

@a-akimov a-akimov released this 12 Jul 16:59

First release of the mcpscore GitHub Action — Lighthouse for MCP in your CI.

Audit an MCP server on every pull request, fail the build when quality drops below a threshold you set, and get the report as a PR comment.

- uses: mcp-box/mcpscore-action@v1
  with:
    target: https://your-server.example/mcp
    min-score: 80

What it does

  • Score gate — fail the job when the main score falls below min-score (a percentage).
  • Readiness gate — optionally require readiness for the upcoming MCP 2026-07-28 spec via min-readiness (reported separately, never mixed into the main score).
  • PR comment — posts one report comment and updates it in place on re-runs: score, a pass/fail breakdown by severity, spec version and era, and every failed check by rule_id.
  • Job summary + outputs — the same report in the run summary, the raw JSON on disk, and every number exposed as a step output (score, percentage, era, readiness-*, ...).
  • Deterministic — no API keys, no LLM calls; the same server state always produces the same result, in seconds.

Works against remote servers (Streamable HTTP / SSE) and local .py / .js servers.

Links:

Full changelog: https://github.com/mcp-box/mcpscore-action/commits/v1.0.0