Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Gluecron

REMOTE · GLUECRON.COM

AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).

Available components

0 this week 91 Trust /100

Last scanned (18 hours ago)

Scores higher than 98% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Version Control

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability78
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 20012 tokens (~166/item across 120 items; 119 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage91
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 73% of tool parameters carry a description.Partial
Tool Safety99
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 16 of 17 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "gluecron_list_ready_to_merge" implies "merge" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 120 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
What we tested

Checks we ran (13)

  • TLS certificate
  • Authorization
  • HTTPS
  • HSTS header
  • DNSSEC
  • Transport
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this hosted endpoint (2)

  • Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
  • Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • New tool “gluecron_revoke_all_credentials”, which the server declares destructive security
    • Tool “gluecron_create_repo_token” rewrote its description, which is the text the model reads security
    • Tool “gluecron_get_pr” rewrote its description, which is the text the model reads security
    • Tool “gluecron_get_workflow_logs” rewrote its description, which is the text the model reads security
    • Tool “gluecron_list_runners” rewrote its description, which is the text the model reads security
    • Tool “gluecron_list_workflow_runs” rewrote its description, which is the text the model reads security
    • Tool “gluecron_pr_status_summary” rewrote its description, which is the text the model reads security
    • Tool “gluecron_resolve_pr_conflict” rewrote its description, which is the text the model reads security
    • Tool “gluecron_set_branch_protection” rewrote its description, which is the text the model reads security
    • Tool “gluecron_update_repo” rewrote its description, which is the text the model reads security
    • New tool “gluecron_propose_pr_conflict_resolution” functional
    • “gluecron_update_repo” added an optional parameter “conflict_resolution_mode” cosmetic
    • “gluecron_create_repo_token” reworded the description of “permissions” cosmetic
    • “gluecron_resolve_pr_conflict” reworded the description of “choices” cosmetic
  • 1 Nov 26 0
    • Tool “gluecron_create_deploy_token” rewrote its description, which is the text the model reads security
    • “gluecron_create_deploy_token” added an optional parameter “deliver” cosmetic
    • “gluecron_create_deploy_token” added an optional parameter “token_id” cosmetic
  • 29 Oct 26 −1
    • Tool “gluecron_ci_health” rewrote its description, which is the text the model reads security
    • Tool “gluecron_get_branch_protection” rewrote its description, which is the text the model reads security
    • Tool “gluecron_get_pr_checks” rewrote its description, which is the text the model reads security
    • Tool “gluecron_list_runners” rewrote its description, which is the text the model reads security
    • Destructive annotations: 15 of 16 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "gluecron_list_ready_to_merge" implies "merge" and declares readOnlyHint instead, contradicting what its own name says it does. functional
    • New tool “gluecron_list_ready_to_merge” functional
    • “gluecron_create_repo_token” reworded the description of “permissions” cosmetic
  • 28 Oct 26 0
    • Tool “gluecron_create_runner_registration_token” rewrote its description, which is the text the model reads security
    • Tool “gluecron_get_pr” rewrote its description, which is the text the model reads security
    • Tool “gluecron_get_pr_checks” rewrote its description, which is the text the model reads security
    • Tool “gluecron_list_pr_comments” rewrote its description, which is the text the model reads security
    • Tool “gluecron_pr_status_summary” rewrote its description, which is the text the model reads security
    • Schema quality: 16294 → 18044 ▼ functional
    • New tool “gluecron_list_pr_conflicts” functional
    • New tool “gluecron_ci_health” functional
    • New tool “gluecron_commit_pr_conflict_resolution” functional
    • New tool “gluecron_resolve_pr_conflict” functional
    • New tool “gluecron_security_ioc_hits” functional
    • “gluecron_create_runner_registration_token” added an optional parameter “exclusive” cosmetic
    • “gluecron_create_runner_registration_token” added an optional parameter “repositories” cosmetic
  • 27 Oct 26 0
    • Tool “gluecron_get_workflow_logs” rewrote its description, which is the text the model reads security
    • Tool “gluecron_handover” rewrote its description, which is the text the model reads security
    • Tool “gluecron_pr_status_summary” rewrote its description, which is the text the model reads security
  • 25 Oct 26 0
    • New tool “gluecron_delete_branch”, which the server declares destructive security
    • New tool “gluecron_delete_comment”, which the server declares destructive security
    • New tool “gluecron_edit_comment”, which the server declares destructive security
  • 23 Oct 26 0
    • Tool “gluecron_set_auto_merge” rewrote its description, which is the text the model reads security
  • 22 Oct 26 0
    • Tool “gluecron_ci_queue_status” rewrote its description, which is the text the model reads security
    • Tool “gluecron_get_workflow_run” rewrote its description, which is the text the model reads security
    • Tool “gluecron_prioritize_workflow_run” rewrote its description, which is the text the model reads security
    • “gluecron_prioritize_workflow_run” added an optional parameter “level” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://gluecron.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=gluecron.com CN=YR1,O=Let's Encrypt,C=US 31 Oct 2026 29 Jan 2027 RSA 4096 SHA256-RSA 61f97f9651a5996c26d5bdfc43da4535558
SANs: gluecron.com, www.gluecron.com
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of gluecron.com. — Not signed

Zone DS Keys Algorithms Outcome
. Trust anchor 20326, 38696 8, 8 Verified
com. DS published 19718 13 Verified
gluecron.com. No DS Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://gluecron.com/.well-known/oauth-protected-resource"

Bearer resource_metadata="https://gluecron.com/.well-known/oauth-protected-resource"
Header Value
strict-transport-security max-age=63072000; includeSubDomains
content-security-policy default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' data: https://fonts.gstatic.com; img-src 'self' data: blob: https:; media-src 'self' data: blob: https:; connect-src 'self' wss://gluecron.com; worker-src 'self' blob:; manifest-src 'self'; frame-src 'self'; frame-ancestors 'self'; base-uri 'self'; object-src 'none'
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), geolocation=(), payment=(), usb=(), microphone=(self)

Protected resource metadata

Document https://gluecron.com/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://gluecron.com/mcp
Authorisation server https://gluecron.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://gluecron.com/mcp Verified 200
http (plaintext) http://gluecron.com/mcp HTTPS enforced 301 https://gluecron.com/mcp
MCP tools · 119 exposed · ~19,992 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
gluecron_get_variable ~147

Read one Actions variable by name. Pass owner + repo for a repository variable, owner + repo + environment for an environment variable, or org for an organisation variable (organisation variables need an admin-scoped token). Not found is an error. Returns {name, value, createdAt, updatedAt}.

NameTypeReqDescription
environmentstring–Environment name (or id)
namestringyesVariable name: letters, digits and _, not starting with a digit or GITHUB_ (stored upper-case)
orgstring–Organisation slug
ownerstring–Repo owner — username or organisation slug (omit when passing org)
repostring–Repo name

No output schema declared.

No examples provided.

gluecron_get_workflow_logs ~485

Return a workflow run's logs plus a failure summary. Always includes run metadata (number, workflow, event, ref, sha), per-job and per-step status / exit code / duration, `failedSteps` (`job / step`) and `testFailures` (failing test names, read from each step's structured results parsed before its log was cut, or the reason they cannot all be named; null when no job failed). `testFailures.details` marks each failure `flaky` (an active forensic label with a repro, from another run — with its label and flip rate), `known` (also failing on the default branch's latest run), `infra` (timed out under load) or `new`, with its file, message, the targeted retry's verdict and this run's determinism-forensics finding (`forensic`: class, label, variable, repro) when they ran. A step whose log was cut carries `fullLog` (artifact download of the uncut output). `step` (a step name or 1-based position within its job) returns only that step's stdout/stderr; `tail_lines` keeps the last N lines. The full per-job logs are included only when neither is given. JSON-friendly companion to the ZIP-download endpoint. A private repository's logs require 'repo' scope (OAuth: write:repo); every token read is audited. For a read-only CI audit credential, a repository token with {"runners": "read", "actions": "read"} (the ci-audit preset, gluecron_create_repo_token) reads the same masked logs over REST — GET /api/v2/repos/:owner/:repo/actions/runs/:id/logs, or one job's at actions/jobs/:job_id/logs — under the same rule and audit; repository tokens are not accepted on /mcp.

NameTypeReqDescription
ownerstringyes–
repostringyes–
run_idstringyesThe run's id, or a unique leading part of it (8+ hex characters)
stepstring–Only this step's logs: its name (exact, else substring, case-insensitive) or its 1-based position within its job
tail_linesnumber–Keep only the last N lines of each returned log (max 5000)

No output schema declared.

No examples provided.

gluecron_get_workflow_run ~254

Fetch a workflow run's metadata + status. Mirrors GET /api/v2/repos/.../actions/runs/:id. Also says how it relates to automatic retries: `retryOf` / `retryOfRunNumber` (the run this one retries after a deploy or a lost runner) and `retriedAs` ({id, runNumber} of the run that retried this one, or null). A queued run that no runner can take carries `queueReason` (e.g. "waiting for a runner: 2 configured, 0 reachable, last seen 4m ago"). `workClass` (interactive / review / push / schedule — how the CI claim shares slots); a queued run carries `queue` ({code, text}: its place in the claim order, from the claim plan itself); a schedule run carries `coalescedFires` / `lastCoalescedAt`, and `coalescedNote` when later scheduled fires folded into it while it was queued.

NameTypeReqDescription
ownerstringyes–
repostringyes–
run_idstringyesThe run's id, or a unique leading part of it (8+ hex characters)

No output schema declared.

No examples provided.

gluecron_handover ~263

Start here when picking up work: the live state of a repository, read from git and CI rather than from a handoff doc. Returns `summary` (one paragraph), `blockers` (most urgent first), the default branch's CI per workflow (red streak, since when, last green run), the build this Gluecron instance serves and how many commits it is behind (when it is this repository), every open PR grouped green / pending / failing / draft as the merge gate judges it, PRs merged in the last `merged_since_hours` (default 48), the CI queue, and — when the default branch carries `docs/plans/capacity-plan.json` — `plan`: the next items, items in flight, decisions waiting on the owner and drift between the ledger and the PRs; and `plans`, the same for every `docs/plans/*-plan.json` ledger (each read with the `idPrefix` it declares, default CAP; at most 10). Read-only.

NameTypeReqDescription
merged_since_hoursnumber–Window for recently merged PRs (default 48, max 720)
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_import_action ~193

Site admins only (needs an 'admin'-scoped token). Import a third-party GitHub Action at ONE tag, branch or full commit SHA into the Gluecron mirror namespace (gluecron-actions/<owner>--<repo>), so workflows that say `uses: owner/repo@ref` can run it. Workflow runs never fetch from github.com; an action that is not imported is skipped. Re-importing the same ref updates it to what upstream has now. Audit-logged. Returns {action, ref, sha, previousSha, mirror, upstreamUrl, hasActionYml}.

NameTypeReqDescription
actionstringyesUpstream action as workflows write it, e.g. actions/github-script
refstringyesTag, branch or full commit SHA, e.g. v7
upstream_urlstring–Optional; default https://github.com/<owner>/<repo>.git

No output schema declared.

No examples provided.

gluecron_label_issue ~73

Attach one or more labels to an issue. Labels are created if they don't yet exist on the repo. Requires 'repo' scope. Returns {labels}.

NameTypeReqDescription
labelsarrayyesLabel names (strings)
numbernumberyes–
ownerstringyes–
repostringyes–

No output schema declared.

No examples provided.

gluecron_learning_status ~117

Site admins only (needs an 'admin'-scoped token). Whether CI failures are being turned into lessons: classified failures, lesson.pattern events (matched to a docs/ops/CI_GATE_LESSONS.md row, or candidates), recurring candidates, and failures left without a lesson for over an hour, over 7 days. 'N failures, 0 lessons' reads RED. Also each pattern's count and register row, and the register. Counts only: no log text or repository. Returns {health, patterns, register}.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gluecron_list_deleted_repos ~118

List deleted repositories you can restore or purge: your personal ones and those of organizations you own (a site admin may pass all: true for the whole instance). Each has its id, full_name and restorable_until — after that date it is purged automatically. Read-only. Needs 'repo' scope. Returns {total_count, repositories:[{id, full_name, private, deleted_at, deleted_by, restorable_until}]}.

NameTypeReqDescription
allboolean–Site admins only: every deleted repository on the instance

No output schema declared.

No examples provided.

gluecron_list_flaky_tests ~240

List a repository's flaky tests. A test is flaky only with a forensic repro: when it failed, CI re-ran just that test in the same order, alone, with the clock shifted +137 ms and +1 s, in TZ=Pacific/Chatham and in a fixed random order, and a variable flipped its verdict N times in a row on the same git tree. Each entry has the test, file, state (active / expired / resolved, or unexplained = flipped with no repro, NOT flaky), label (clock-dependent, order-dependent, concurrency-dependent), the variable, the exact repro command, owner, expiry, issue number, flip rate and evidence runs. Information only — flaky tests are never skipped or quarantined; one targeted retry, and the merge gate excuses a failure only when that retry passed in the same run and the label is active.

NameTypeReqDescription
limitnumber–Max tests (default 25, max 100)
ownerstringyes–
repostringyes–
window_daysnumber–Flip evidence from this many days back (default and max 30)

No output schema declared.

No examples provided.

gluecron_list_pr_comments ~399

List every comment on a pull request in chronological order: general comments (kind `issue_comment`), inline review comments (`review_comment`: path, line, thread {id, inReplyToId, position, replies, resolved, resolvedAt, resolvedBy}) and review summaries (`review`: state approved | changes_requested | commented). Each entry has author {login, type user|bot}, isAi (written by a model: false for gluecron[bot]'s own notes, e.g. a person's conflict resolution or a merge-train notice), onBehalfOf (on such a note, the person it was posted for), body, createdAt, updatedAt. A review thread is the inline comments on one file+line; the earliest is its root and holds the resolved state. Gluecron does not store a review comment's commit or diff side, so `commitId` and `side` are always null. Only approved (moderated) comments; unsubmitted draft reviews are private to their author and not listed. `kind`: all (default) | issue | review (review comments + review summaries). `since`: ISO-8601 — only entries updated at or after it. Paged: `total` is the full filtered count, `nextOffset` pages through it. Works anonymously on public repos; private repos need read access.

NameTypeReqDescription
kindstring–all (default) | issue (general comments) | review (review comments + review summaries)
limitnumber–Max entries (default 50, max 100)
numbernumberyesPR number
offsetnumber–Entries to skip. Use `nextOffset` from the previous response.
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name
sincestring–ISO-8601 timestamp; only entries updated at or after it

No output schema declared.

No examples provided.

gluecron_list_pr_conflicts ~275

What stands between a PR and a clean merge, as the merge gate, the PR page and the Conflicts tab see it (one shared probe): status up-to-date | clean | conflicts | unknown, `mergeable`, the base/head shas the answer is for, files settled with no one in the loop (ruleSettled: each with `by` = structured (structured, code-aware merge) or rules (the deterministic merge rules)), and each unresolved file with its kind in plain words (both edited / binary / deleted on one side / added on both / rename / submodule / too large), whether the browser can edit it or only keep one side, and any saved draft. With hunks: true, each editable file's diff3 text labelled by branch name and its hunks (id, mine, base, main) for gluecron_resolve_pr_conflict. Also the exact git commands for the command line. Read-only.

NameTypeReqDescription
freshboolean–Bypass the ten-minute probe cache (default false)
hunksboolean–Include each editable file's marked-up content and hunks (default false)
numbernumberyesPR number
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_list_prs ~126

List pull requests on a repo, filtered by state (open|closed|merged|all). Authenticated callers only. Returns up to 50 summary rows.

NameTypeReqDescription
limitnumber–Max rows per page (default 50, max 100)
offsetnumber–Rows to skip, for paging. Use `nextOffset` from the previous response.
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name
statestring–open | closed | merged | all (default: open)

No output schema declared.

No examples provided.

gluecron_list_ready_to_merge ~244

Pull requests that are green and clean and that nobody has merged: open, not a draft, CI green at the head, no gate failing or running, no standing request for changes, branch protection satisfied, no conflicts (the merge gate's own conflict probe), and auto-merge NOT armed. Each comes with a plain sentence ("Green and clean for 3 days — nobody has merged it"), whether you can merge it (canMerge) or arm it (canArm), and the merge / arm endpoints. Also `waiting_on_you`: open PRs where you are a requested reviewer or code owner and have not reviewed. Scope: owner + repo for one repository; org for an organisation; neither for every repository you can merge in. `not_ready` lists the other open PRs in scope with the first reason. To act: gluecron_set_auto_merge (arm) or gluecron_merge_pr. Read-only.

NameTypeReqDescription
orgstring–Organisation slug: every repository of the org you can read
ownerstring–Repo owner — username or organisation slug (with repo)
repostring–Repo name (with owner)

No output schema declared.

No examples provided.

gluecron_list_repo_secrets ~108

List a repository's workflow secrets — NAMES ONLY, with created/updated times; values are never returned. Use it to check that a secret such as CRON_SECRET exists before a workflow needs it. Needs admin access to the repository and 'repo' scope. Returns {repository, total_count, secrets:[{name, created_at, updated_at}]}.

NameTypeReqDescription
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_list_repo_tokens ~49

List the fine-grained repository tokens you have minted (never the secret): repository, permissions, state (active / expired / revoked), expiry and last use. Needs 'repo' scope.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gluecron_list_runners ~240

List the CI runners registered to an owner (username, org slug, or 'platform'): id, name, url, labels, slots, online, last seen, revoked; allowSharedOverflow (the setting); and sharedLane, whether the owner's jobs actually run on shared runners: 'used (no own runners)', 'overflow allowed' or 'not used (own runners only)', explained in sharedLaneDetail. Needs a PAT with 'repo' scope (or a session) and the right to manage the owner's runners. For a read-only credential — a security audit watching for rogue runners — mint a repository token with {"runners": "read"} (gluecron_create_repo_token) and call GET /api/v2/repos/:owner/:repo/actions/runners: it lists the same runners and lane and can do nothing else (repository tokens are not accepted on /mcp). Add {"actions": "read"} (the ci-audit preset) and the same token also lists workflows, runs and jobs and reads their masked logs, still with no write anywhere.

NameTypeReqDescription
ownerstringyesUsername, org slug, or 'platform'

No output schema declared.

No examples provided.

gluecron_list_tokens ~177

List your own tokens (never a secret): type, name, status (active / expiring / expired / revoked / never_used / stale), last 4 characters, scopes or permissions, repository, expiry, last use (time, IP, client), use count and rotation state. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_), or omit it for all three (types your token's scopes cannot read are listed under `omitted`). PATs need 'user' scope to read; repository and deploy tokens need 'repo'.

NameTypeReqDescription
typestring–Token type: pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). Omit for all.

No output schema declared.

No examples provided.

gluecron_list_tree ~154

List directory contents at a ref. `path` scopes the listing to a subtree and is honoured in BOTH modes; `recursive: true` walks the whole subtree instead of one level. Always returns the same shape: {path, ref, recursive, entries, truncated, totalCount}. Recursive entries carry full repo-relative paths; non-recursive entries carry names. A ref that does not exist is an error, never an empty listing.

NameTypeReqDescription
ownerstringyes–
pathstring–Sub-path within the repo
recursiveboolean––
refstring–Branch / tag / sha. Omit (or pass HEAD) for the default branch.
repostringyes–

No output schema declared.

No examples provided.

gluecron_list_variables ~199

List Actions configuration variables (${{ vars.NAME }}) with their values. Pass owner + repo for a repository variable, owner + repo + environment for an environment variable, or org for an organisation variable (organisation variables need an admin-scoped token). Admin of the repository or organisation only. Paged: limit (≤100, default 30) / offset. Mirrors GET …/actions/variables. Returns {scope, total, limit, offset, nextOffset, variables:[{name, value, createdAt, updatedAt}]}.

NameTypeReqDescription
environmentstring–Environment name (or id)
limitinteger–Page size, 1–100 (default 30)
offsetinteger–Rows to skip (default 0)
orgstring–Organisation slug
ownerstring–Repo owner — username or organisation slug (omit when passing org)
repostring–Repo name

No output schema declared.

No examples provided.

gluecron_list_workflow_runs ~284

List a repository's workflow runs, newest first, with optional branch/status/event filters. Mirrors GET /api/v2/repos/.../actions/runs. The companion to gluecron_get_workflow_run / gluecron_cancel_workflow_run — this is how an agent finds the run ids to inspect or cancel (issue #10493: without it, stale queued runs could not be discovered from the tool surface at all). Needs read access to the repository. For a read-only CI audit credential (no code, no secrets, no writes), mint a repository token with {"runners": "read", "actions": "read"} (the ci-audit preset, gluecron_create_repo_token) and call GET /api/v2/repos/:owner/:repo/actions/runs (and actions/workflows, actions/runs/:id/jobs): repository tokens are not accepted on /mcp.

NameTypeReqDescription
branchstring–Only runs for this branch (short name or refs/heads/...)
eventstring–push | pull_request | manual | schedule | ...
limitnumber–Max rows (default 30, max 100)
offsetnumber–Rows to skip, for paging
ownerstringyes–
repostringyes–
statusstring–queued | running | success | failure | cancelled

No output schema declared.

No examples provided.

gluecron_merge_pr ~148

Merge an open PR. Enforces the same checks as the HTTP merge flow: not a draft, head SHA resolves, GateTest+AI-review hard gates pass, branch-protection rules satisfied. M3: soft-blocks when the pre-merge risk score is `critical` unless `confirm_high_risk: true` is passed. Returns {merged, sha?, reason?, riskScore?}.

NameTypeReqDescription
confirm_high_riskboolean–When true, bypass the M3 risk-score soft-block on critical-band PRs.
numbernumberyesPR number
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_open_draft_pr ~91

Open a draft pull request. Same payload as gluecron_create_pr but forces is_draft=true. Useful for AI-in-progress PRs that shouldn't run mergeability checks yet.

NameTypeReqDescription
base_branchstring––
bodystring––
head_branchstringyes–
ownerstringyes–
repostringyes–
titlestringyes–

No output schema declared.

No examples provided.

gluecron_pr_status_summary ~275

Compute a one-shot status summary for a PR: state, risk score (and whether it describes the current head), CI state for the head commit as the merge gate sees it (with `ci.failures`: for each failed run, the failed step, up to 8 file:line rows linked to the head sha, the tool's own guidance block and the full step log URL, or `{withheld, required, hint}` when this credential may not read the run's logs), AI-review verdicts (trio), gate signals, `merge` — the conflict probe the merge gate uses (status up-to-date | clean | conflicts | unknown, unresolved files with kinds, files settled by structured merge or the merge rules, conflictsUrl), `conflictRisk` — the early warning (files the base changed since the PR branched that the PR changed too; updateIsClean when updating now would merge cleanly), auto-merge (armed? `last_attempt.reason` says what it waits for or what happens next), and `mergeTrain.lastDequeue` — the merge train's newest receipt for a green merge preview it did not merge (which commit, which runs, why). Read-only.

NameTypeReqDescription
numbernumberyes–
ownerstringyes–
repostringyes–

No output schema declared.

No examples provided.

gluecron_prioritize_workflow_run ~188

Move a QUEUED workflow run into the priority lane: the runner claims it ahead of the class order, highest `level` first (normal < high < critical), then oldest (issue #10898). The lane holds at most a third of the runner slots, so prioritizing many runs cannot starve the rest. Calling again on a prioritized queued run changes its level. Only queued runs; a running or finished run is reported, not changed. Requires 'repo' scope and write access; `high` and `critical` also require a site admin.

NameTypeReqDescription
levelstring–normal (default) | high | critical — high and critical need a site admin
ownerstringyes–
repostringyes–
run_idstringyesThe run's id, or a unique leading part of it (8+ hex characters)

No output schema declared.

No examples provided.

gluecron_propose_doc_update ~56

Manual trigger for the AI doc-update flow: scans tracked sections on the default branch and opens a PR rewriting stale prose. Requires 'repo' scope.

NameTypeReqDescription
ownerstringyes–
repostringyes–

No output schema declared.

No examples provided.

gluecron_propose_migration ~101

Propose a dependency-upgrade PR. Wraps src/lib/migration-assistant.proposeMajorMigration. Requires 'repo' scope.

NameTypeReqDescription
base_shastringyesCommit sha to fork from
changelogstring–Optional changelog text
dependencystringyes–
from_versionstringyes–
ownerstringyes–
repostringyes–
to_versionstringyes–

No output schema declared.

No examples provided.

gluecron_propose_pr_conflict_resolution ~373

Ask AI (Opus 5.5) to PROPOSE a resolution for each conflict block of a PR's text files — the Conflicts tab's 'Propose resolutions' button. Nothing is committed: each proposal (the block's lines, an explanation, a confidence 0..1) is stored for the (base, head) pair and shown on the Conflicts tab and in gluecron_list_pr_conflicts (`unresolved[].proposal`); accept a block with gluecron_resolve_pr_conflict `choices: {<hunk id>: 'ai'}`, edit it with a custom choice, or pick another option, then gluecron_commit_pr_conflict_resolution. Refused when the repository's merge-conflict mode is Manual only, when the PR author opted out of AI for conflicts, or when AI is unavailable (paused, not configured, over budget) — the error says which. A file over 60 KiB is reported too-large; repository text is sent as fenced data with secrets redacted. A file already proposed at this pair is not sent again unless again: true. Requires write access and 'repo' scope.

NameTypeReqDescription
againboolean–Ask again for files that already have a proposal at this pair (default false)
base_shastring–Optional: baseSha from gluecron_list_pr_conflicts; a moved base is refused
head_shastring–Optional: headSha from gluecron_list_pr_conflicts; a moved head is refused
numbernumberyesPR number
ownerstringyesRepo owner — username or organisation slug
pathsarray–Optional: only these conflicted files (default: every text file without a saved resolution)
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_provision_pr_sandbox ~85

Provision (or re-provision) a sandbox for a PR. Wraps pr-sandbox.provisionSandbox. Requires 'repo' scope. Returns {ok:false, reason:'not enabled on this host'} when no sandbox provisioner runs on the host.

NameTypeReqDescription
numbernumberyes–
ownerstringyes–
repostringyes–

No output schema declared.

No examples provided.

gluecron_purge_repo ~175

PERMANENTLY delete an already-deleted repository now, instead of waiting for its restore window to end. IRREVERSIBLE: the git data, LFS objects, issues, PRs, releases, packages, CI history and settings are removed and cannot be restored (data already in the instance's backups ages out on the backup schedule). Only works on a repository already deleted with gluecron_delete_repo; `confirm` must be its full name (owner/name). Owner (personal owner, or an org owner) or a site admin; needs 'admin' scope. Audited as repo.purge. Returns {purged: true, id, full_name}.

NameTypeReqDescription
confirmstringyesThe repository's full name, owner/name, to confirm
idstringyesThe deleted repository's id

No output schema declared.

No examples provided.

gluecron_read_file ~228

Read a file from a repo at a given ref. Mirrors GET /api/v2/repos/:owner/:repo/contents/:path. Returns {path, size, content, encoding, totalLines}. Pass `start_line` / `end_line` (1-based, inclusive) to read only part of a text file. A text file over ~60 KB read with no range returns its first ~60 KB of whole lines with `truncated: true`, `startLine`/`endLine` and a hint — ask for the next range to read on.

NameTypeReqDescription
encodingstring–'utf8' (default) or 'base64'
end_linenumber–Last line to return (1-based, inclusive; clamped to the file's length). Text files only.
ownerstringyes–
pathstringyes–
refstring–Branch / tag / sha (default HEAD)
repostringyes–
start_linenumber–First line to return (1-based, inclusive). Text files only.

No output schema declared.

No examples provided.

gluecron_refactor_across_repos ~104

Plan + execute a refactor that spans multiple repos owned by the caller. Wraps src/lib/multi-repo-refactor.ts. `dry_run: true` returns the plan only. Requires 'repo' scope.

NameTypeReqDescription
descriptionstringyesNatural-language description
dry_runboolean–When true, returns the plan and does NOT execute.
repository_idsarray–Optional explicit repo IDs to scope the refactor to.

No output schema declared.

No examples provided.

gluecron_release_lease ~33

Release a lease by id. Idempotent. Returns {released}.

NameTypeReqDescription
lease_idstringyes–

No output schema declared.

No examples provided.

gluecron_reopen_issue ~65

Reopen a previously closed issue. Requires authenticated caller with write access. Idempotent. Returns {state}.

NameTypeReqDescription
numbernumberyesIssue number
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_repo_explain_codebase ~66

Return the cached AI 'explain this codebase' Markdown for a public repo (most recent commit). Returns null when no cached explanation exists yet.

NameTypeReqDescription
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_repo_health ~90

Compute the current health report for a public repo: overall score (0-100), letter grade, per-category breakdown (security/testing/complexity/dependencies/documentation/activity), and a list of insights to fix next. Backed by computeHealthScore in src/lib/intelligence.ts.

NameTypeReqDescription
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_repo_list_issues ~96

List open issues for a public repository. Returns up to 50 ordered by most-recent.

NameTypeReqDescription
limitnumber–Max rows per page (default 25, max 50)
offsetnumber–Rows to skip, for paging. Use `nextOffset` from the previous response.
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_repo_read_file ~119

Read a single file from a repository at a given ref (branch / tag / commit). Private repos are readable when the authenticated caller has access. Returns the text content (binary files rejected).

NameTypeReqDescription
ownerstringyesRepo owner — username or organisation slug
pathstringyesFile path within the repo
refstring–Branch / tag / commit. Defaults to the repository's actual default branch (which may not be 'main' — e.g. 'Main').
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_repo_search ~120

Search Gluecron repositories by keyword (name + description), case-insensitively. Returns public repos plus any private repos owned by the authenticated caller. Default 20 per page, max 50; `total` is the full match count and `nextOffset` pages through it.

NameTypeReqDescription
limitnumber–Max rows per page (default 20, max 50)
offsetnumber–Rows to skip. Use `nextOffset` from the previous response.
querystringyesSearch keyword (1-100 chars)

No output schema declared.

No examples provided.

gluecron_request_changes ~122

Request changes on a PR. Records a 'changes requested' review by the caller, which holds the PR on every merge path (web button, API, MCP merge, merge queue, merge train, autopilot) until the caller approves or someone with write access dismisses it (gluecron_dismiss_review), and posts the body as a comment. Requires 'repo' scope and write access.

NameTypeReqDescription
bodystringyesReview body (Markdown)
numbernumberyes–
ownerstringyes–
repostringyes–

No output schema declared.

No examples provided.

gluecron_rerun_failed_jobs ~143

Re-run a failed or cancelled workflow run at the SAME commit (same inputs, same PR merge preview) — the run page's Re-run. Gluecron re-runs every job of the run (per-job re-run does not exist yet); a successful or still-running run is refused. Joins an identical queued run instead of stacking another. Requires write access and 'repo' scope. Returns {runId, previousRunId, joinedExistingRun, url}.

NameTypeReqDescription
ownerstringyesRepo owner — username or organisation slug
repostringyesRepo name
run_idstringyesThe run's id (uuid)

No output schema declared.

No examples provided.

gluecron_resolve_pr_conflict ~356

Save a resolution for ONE conflicted file of a PR, as a draft for the exact (base_sha, head_sha) pair gluecron_list_pr_conflicts returned (a moved branch is refused: reload). Pass exactly one of: `content` (the whole resolved file — no conflict markers, at most 512 KiB), `choices` (hunk id → 'mine' | 'main' | 'both-mine-first' | 'both-main-first' | 'base' | 'ai' (the block's AI proposal from gluecron_propose_pr_conflict_resolution) | {kind:'custom', lines:[…]}; applied server-side, a stale hunk id is refused), or `keep` ('mine' = the PR branch's version, 'main' = the base branch's; the only options for binary files and files one side deleted). Nothing is committed until gluecron_commit_pr_conflict_resolution. Requires write access and 'repo' scope.

NameTypeReqDescription
base_shastringyesbaseSha from gluecron_list_pr_conflicts
choicesobject–Hunk id → mine | main | both-mine-first | both-main-first | base | ai | {kind:'custom', lines}
contentstring–The whole resolved file
head_shastringyesheadSha from gluecron_list_pr_conflicts
keepstring–'mine' | 'main' — take one side whole
numbernumberyesPR number
ownerstringyesRepo owner — username or organisation slug
pathstringyesThe conflicted file's repo-relative path
repostringyesRepo name

No output schema declared.

No examples provided.

gluecron_restore_repo ~136

Restore a deleted repository by id (from gluecron_list_deleted_repos) before its restorable_until date: git data, LFS objects, issues, PRs, collaborators and webhooks come back exactly as they were. Cancelled CI runs stay cancelled and stopped webhook deliveries are not re-sent. Refused when another repository now has the same name in that namespace. Owner (personal owner, or an org owner) or a site admin; needs 'admin' scope. Audited as repo.restore. Returns {restored: true, id, full_name}.

NameTypeReqDescription
idstringyesThe deleted repository's id

No output schema declared.

No examples provided.

gluecron_review_deployment ~188

Approve or reject a workflow run's jobs waiting on a protected environment (`environment:` with required reviewers). The caller must be a reviewer of every environment selected (the environment's reviewers, or the repository owner when none are listed). An approval runs the job (after the environment's wait timer, if any); a rejection fails it. Mirrors POST /api/v2/repos/.../actions/runs/:id/pending_deployments. Requires 'repo' scope.

NameTypeReqDescription
commentstring––
environmentsarray–Environment names (or ids), as strings, to decide; omitted = every waiting one
ownerstringyes–
repostringyes–
run_idstringyesThe run's id, or a unique leading part of it (8+ hex characters)
statestringyes"approved" or "rejected"

No output schema declared.

No examples provided.

gluecron_revoke_all_credentials ~297

Site admins only (needs an 'admin'-scoped token). Revoke every browser session, personal access token (repository tokens included) and OAuth grant — for every user (scope 'platform') or for one (scope 'user' + username). Optionally force a password reset (old password stops working, reset email sent) and 2FA re-enrolment (seeds and recovery codes deleted). Confirm by sending `confirm` exactly: 'REVOKE ALL CREDENTIALS' for platform, 'REVOKE <username>' for one user; anything else changes nothing. Platform scope revokes YOUR OWN sessions and tokens too, including the token making this call. Audit-logged. Not covered: SSH keys, passkeys, deploy keys/tokens, CI runners, app installation tokens. Returns counts, actorSignedOut and notCovered.

NameTypeReqDescription
confirmstringyesExactly 'REVOKE ALL CREDENTIALS' (platform) or 'REVOKE <username>' (user)
force_2fa_reenrolboolean–Delete TOTP seeds and recovery codes so the user enrols again
force_password_resetboolean–Replace the password so the old one stops working, and send the reset email
scopestringyes'platform' (every user) or 'user' (one account)
usernamestring–Required when scope is 'user'

No output schema declared.

No examples provided.

gluecron_revoke_repo_token ~59

Revoke one of your fine-grained repository tokens by id (from gluecron_list_repo_tokens). It stops working on its next use. Needs 'repo' scope. Audit-logged.

NameTypeReqDescription
idstringyesToken id

No output schema declared.

No examples provided.

gluecron_revoke_runner ~71

Revoke a CI runner by id: nothing is dispatched to it from now on, its next heartbeat is refused and it stops accepting jobs. Cannot be undone — register a new runner instead. Returns {id, revoked}.

NameTypeReqDescription
idstringyesRunner id (from gluecron_list_runners)

No output schema declared.

No examples provided.

gluecron_revoke_token ~130

Revoke one of your tokens by type and id. It stops working on its next use; this cannot be undone. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). PATs need 'admin' scope; repository and deploy tokens need 'repo'. Audit-logged.

NameTypeReqDescription
idstringyesToken id
typestringyesToken type: pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_)

No output schema declared.

No examples provided.

gluecron_rotate_token ~252

Rotate one of your tokens: mint a new secret with the same name, scopes / permissions, repository and expiry, returned ONCE as `token`. `grace_seconds` (default 0, max 604800 = 7 days) keeps the old secret working that long; 0 kills it now. Rotating again ends an earlier grace period. `expected_rotation_count` (from gluecron_get_token's rotationCount) makes it compare-and-swap; two concurrent rotations never both win. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). PATs need 'admin' scope; repository and deploy tokens need 'repo'. Audit-logged.

NameTypeReqDescription
expected_rotation_countnumber–Optional compare-and-swap guard: the rotationCount you last saw.
grace_secondsnumber–Seconds the old secret keeps working (0 to 604800). Default 0.
idstringyesToken id
typestringyesToken type: pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_)

No output schema declared.

No examples provided.

gluecron_search_code ~329

Literal / regex code search (git grep, basic regex) across a repo at a ref. The dependable way to find code on this host — works on every repo, indexed or not. Optional scoping: `path` (a directory or file prefix, literal), `glob` (git pathspec glob such as `src/**/*.ts`, relative to `path` when both are given), `ignore_case`, and `files_only` (unique files with match counts instead of lines). Returns {owner, repo, ref, total, truncated, matches: [{file, line, text}]}, or with files_only {owner, repo, ref, total, totalMatches, truncated, files: [{file, count}]}. Omit `ref` for the default branch.

NameTypeReqDescription
files_onlyboolean–Return unique files with match counts instead of matching lines
globstring–Only search files matching this git pathspec glob (e.g. **/*.test.ts); relative to `path` when both are given
ignore_caseboolean–Case-insensitive match (default false)
limitnumber–Max matches, or max files with files_only (default 50, max 200)
ownerstringyes–
pathstring–Only search under this repo-relative directory or file (literal prefix, e.g. src/lib)
querystringyesPattern (git grep basic regex)
refstring–Branch / tag / sha (default: the repo's default branch)
repostringyes–

No output schema declared.

No examples provided.

gluecron_search_issues ~75

Search issues by title/body keyword on a single repo, filtered by state. Returns ranked rows.

NameTypeReqDescription
limitnumber––
ownerstringyes–
querystringyesSearch keyword
repostringyes–
statestring–open | closed | all (default open)

No output schema declared.

No examples provided.

Install

How do I install the Gluecron MCP server?

Gluecron is a hosted endpoint at https://gluecron.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · gluecron.com

# add to Claude Code
claude mcp add --transport http com-gluecron-gluecron 'https://gluecron.com/mcp'
Common questions

What is the Gluecron MCP server?

Gluecron is an MCP server listed in the public MCP registry as com.gluecron/gluecron. AI-native git hosting, repos, PRs, issues, CI gates, and AI code review over MCP (60 tools). This page covers its hosted endpoint (https://gluecron.com/mcp).

Is the Gluecron MCP server safe to use?

Gluecron scores 91 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Gluecron MCP server expose?

Gluecron exposes 119 tools: gluecron_repo_search, gluecron_repo_read_file, gluecron_repo_list_issues, gluecron_repo_explain_codebase, gluecron_repo_health, and 114 more. Their descriptions and schemas cost roughly 19,992 tokens of context every time the server is loaded.

Does the Gluecron MCP server require authentication?

Yes. Gluecron asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Gluecron MCP server still maintained?

Gluecron is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What did VerifyMCP test on the Gluecron MCP server?

VerifyMCP ran 13 checks on Gluecron, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.