Public leaderboard

Public assessment

ofershap/mcp-server-github-actions (mcp-server-github-actions)

mcp-server-github-actions · v1.0.0 · scanned

What changed in the harness

Selection accuracy 95→91, token cost up 8%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

24.7 / 30

24.7 out of 30
03Economics

19.9 / 20

19.9 out of 20
04Discoverability

11.3 / 20

11.3 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

8 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
list_workflows
name_restates_behavior no_return_description
Retrieves the workflow definition files configured in the repository (e.g. files under .github/workflows/), returning each workflow's ID, name, file path, and state.
list_runs
name_restates_behavior no_return_description
Retrieves recent workflow run history for the repository, optionally narrowed to a specific workflow_id or status, returning run metadata such as run ID, status, conclusion, branch, and trigger event.
get_run
name_restates_behavior no_return_description
Retrieves full metadata for a single workflow run identified by run_id, returning fields such as status, conclusion, triggering event, branch, commit SHA, and timestamps.
rerun_workflow
no_return_description
Re-runs every job in a previously executed workflow run (all jobs, not just failed ones), returning confirmation that the new run was queued.
rerun_failed_jobs
no_return_description
Re-runs only the jobs that failed in a previous workflow run, leaving successful jobs untouched, and returns confirmation that the rerun was queued.
cancel_run
no_return_description
Cancels a workflow run that is currently in progress or queued, returning confirmation that the cancellation request was accepted.
list_artifacts
name_restates_behavior no_return_description
Retrieves the build artifacts uploaded during a specific workflow run, returning each artifact's name, size, expiration date, and download URL.
trigger_workflow
no_return_description
Starts a new run of a workflow that has a workflow_dispatch trigger defined, using the given ref and optional inputs, and returns confirmation that the run was queued.

Selection evidence

Confusable tool pairs.

6 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
get_run get_run_logs medium A request like "show me what happened in run 123" could plausibly be served by either fetching run metadata or fetching logs; agent may pick get_run when logs are wanted or vice versa.
rerun_workflow rerun_failed_jobs high "Re-run the failed CI run" is ambiguous between re-running the entire workflow and re-running only the failed jobs; both take identical params and differ only in description nuance.
list_workflows list_runs medium "List the workflows for this repo" could be misread as wanting run history; both are repo-level list operations differing mainly in whether they list workflow definitions vs run instances.
rerun_workflow trigger_workflow medium "Run the workflow again" could be interpreted as re-running a prior run (rerun_workflow, needs run_id) or dispatching a fresh run (trigger_workflow, needs workflow_id/ref), especially if the user doesn't clearly specify which.
get_run cancel_run low Both operate on a run_id and share 'get the run' phrasing in casual requests like 'stop/check run 123', but their action verbs (get vs cancel) are distinct enough to rarely confuse.
list_runs list_artifacts low Both are list operations tied to workflow runs, but 'list runs' vs 'list artifacts from a run' target different entities and are unlikely to be swapped given clear schema differences (owner/repo vs run_id).

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard