Gluecron
REMOTE · GLUECRON.COM
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Available components
Last scanned (18 hours ago)
Scores higher than 98% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Version Control
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
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
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 →
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
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 |
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 →
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}.
| Name | Type | Req | Description |
|---|---|---|---|
| environment | string | – | Environment name (or id) |
| name | string | yes | Variable name: letters, digits and _, not starting with a digit or GITHUB_ (stored upper-case) |
| org | string | – | Organisation slug |
| owner | string | – | Repo owner — username or organisation slug (omit when passing org) |
| repo | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | – |
| repo | string | yes | – |
| run_id | string | yes | The run's id, or a unique leading part of it (8+ hex characters) |
| step | string | – | Only this step's logs: its name (exact, else substring, case-insensitive) or its 1-based position within its job |
| tail_lines | number | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | – |
| repo | string | yes | – |
| run_id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| merged_since_hours | number | – | Window for recently merged PRs (default 48, max 720) |
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Upstream action as workflows write it, e.g. actions/github-script |
| ref | string | yes | Tag, branch or full commit SHA, e.g. v7 |
| upstream_url | string | – | 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| labels | array | yes | Label names (strings) |
| number | number | yes | – |
| owner | string | yes | – |
| repo | string | yes | – |
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}]}.
| Name | Type | Req | Description |
|---|---|---|---|
| all | boolean | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max tests (default 25, max 100) |
| owner | string | yes | – |
| repo | string | yes | – |
| window_days | number | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | – | all (default) | issue (general comments) | review (review comments + review summaries) |
| limit | number | – | Max entries (default 50, max 100) |
| number | number | yes | PR number |
| offset | number | – | Entries to skip. Use `nextOffset` from the previous response. |
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo name |
| since | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| fresh | boolean | – | Bypass the ten-minute probe cache (default false) |
| hunks | boolean | – | Include each editable file's marked-up content and hunks (default false) |
| number | number | yes | PR number |
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max rows per page (default 50, max 100) |
| offset | number | – | Rows to skip, for paging. Use `nextOffset` from the previous response. |
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo name |
| state | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org | string | – | Organisation slug: every repository of the org you can read |
| owner | string | – | Repo owner — username or organisation slug (with repo) |
| repo | string | – | 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}]}.
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | Username, 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'.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | – |
| path | string | – | Sub-path within the repo |
| recursive | boolean | – | – |
| ref | string | – | Branch / tag / sha. Omit (or pass HEAD) for the default branch. |
| repo | string | yes | – |
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}]}.
| Name | Type | Req | Description |
|---|---|---|---|
| environment | string | – | Environment name (or id) |
| limit | integer | – | Page size, 1–100 (default 30) |
| offset | integer | – | Rows to skip (default 0) |
| org | string | – | Organisation slug |
| owner | string | – | Repo owner — username or organisation slug (omit when passing org) |
| repo | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | Only runs for this branch (short name or refs/heads/...) |
| event | string | – | push | pull_request | manual | schedule | ... |
| limit | number | – | Max rows (default 30, max 100) |
| offset | number | – | Rows to skip, for paging |
| owner | string | yes | – |
| repo | string | yes | – |
| status | string | – | 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?}.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_high_risk | boolean | – | When true, bypass the M3 risk-score soft-block on critical-band PRs. |
| number | number | yes | PR number |
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| base_branch | string | – | – |
| body | string | – | – |
| head_branch | string | yes | – |
| owner | string | yes | – |
| repo | string | yes | – |
| title | string | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| number | number | yes | – |
| owner | string | yes | – |
| repo | string | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| level | string | – | normal (default) | high | critical — high and critical need a site admin |
| owner | string | yes | – |
| repo | string | yes | – |
| run_id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | – |
| repo | string | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| base_sha | string | yes | Commit sha to fork from |
| changelog | string | – | Optional changelog text |
| dependency | string | yes | – |
| from_version | string | yes | – |
| owner | string | yes | – |
| repo | string | yes | – |
| to_version | string | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| again | boolean | – | Ask again for files that already have a proposal at this pair (default false) |
| base_sha | string | – | Optional: baseSha from gluecron_list_pr_conflicts; a moved base is refused |
| head_sha | string | – | Optional: headSha from gluecron_list_pr_conflicts; a moved head is refused |
| number | number | yes | PR number |
| owner | string | yes | Repo owner — username or organisation slug |
| paths | array | – | Optional: only these conflicted files (default: every text file without a saved resolution) |
| repo | string | yes | Repo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| number | number | yes | – |
| owner | string | yes | – |
| repo | string | yes | – |
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}.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | string | yes | The repository's full name, owner/name, to confirm |
| id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| encoding | string | – | 'utf8' (default) or 'base64' |
| end_line | number | – | Last line to return (1-based, inclusive; clamped to the file's length). Text files only. |
| owner | string | yes | – |
| path | string | yes | – |
| ref | string | – | Branch / tag / sha (default HEAD) |
| repo | string | yes | – |
| start_line | number | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | Natural-language description |
| dry_run | boolean | – | When true, returns the plan and does NOT execute. |
| repository_ids | array | – | 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| lease_id | string | yes | – |
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}.
| Name | Type | Req | Description |
|---|---|---|---|
| number | number | yes | Issue number |
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max rows per page (default 25, max 50) |
| offset | number | – | Rows to skip, for paging. Use `nextOffset` from the previous response. |
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo 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).
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | Repo owner — username or organisation slug |
| path | string | yes | File path within the repo |
| ref | string | – | Branch / tag / commit. Defaults to the repository's actual default branch (which may not be 'main' — e.g. 'Main'). |
| repo | string | yes | Repo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max rows per page (default 20, max 50) |
| offset | number | – | Rows to skip. Use `nextOffset` from the previous response. |
| query | string | yes | Search 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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Review body (Markdown) |
| number | number | yes | – |
| owner | string | yes | – |
| repo | string | yes | – |
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}.
| Name | Type | Req | Description |
|---|---|---|---|
| owner | string | yes | Repo owner — username or organisation slug |
| repo | string | yes | Repo name |
| run_id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| base_sha | string | yes | baseSha from gluecron_list_pr_conflicts |
| choices | object | – | Hunk id → mine | main | both-mine-first | both-main-first | base | ai | {kind:'custom', lines} |
| content | string | – | The whole resolved file |
| head_sha | string | yes | headSha from gluecron_list_pr_conflicts |
| keep | string | – | 'mine' | 'main' — take one side whole |
| number | number | yes | PR number |
| owner | string | yes | Repo owner — username or organisation slug |
| path | string | yes | The conflicted file's repo-relative path |
| repo | string | yes | Repo 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| comment | string | – | – |
| environments | array | – | Environment names (or ids), as strings, to decide; omitted = every waiting one |
| owner | string | yes | – |
| repo | string | yes | – |
| run_id | string | yes | The run's id, or a unique leading part of it (8+ hex characters) |
| state | string | yes | "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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | string | yes | Exactly 'REVOKE ALL CREDENTIALS' (platform) or 'REVOKE <username>' (user) |
| force_2fa_reenrol | boolean | – | Delete TOTP seeds and recovery codes so the user enrols again |
| force_password_reset | boolean | – | Replace the password so the old one stops working, and send the reset email |
| scope | string | yes | 'platform' (every user) or 'user' (one account) |
| username | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Token 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}.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Runner 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Token id |
| type | string | yes | Token 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.
| Name | Type | Req | Description |
|---|---|---|---|
| expected_rotation_count | number | – | Optional compare-and-swap guard: the rotationCount you last saw. |
| grace_seconds | number | – | Seconds the old secret keeps working (0 to 604800). Default 0. |
| id | string | yes | Token id |
| type | string | yes | Token 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.
| Name | Type | Req | Description |
|---|---|---|---|
| files_only | boolean | – | Return unique files with match counts instead of matching lines |
| glob | string | – | Only search files matching this git pathspec glob (e.g. **/*.test.ts); relative to `path` when both are given |
| ignore_case | boolean | – | Case-insensitive match (default false) |
| limit | number | – | Max matches, or max files with files_only (default 50, max 200) |
| owner | string | yes | – |
| path | string | – | Only search under this repo-relative directory or file (literal prefix, e.g. src/lib) |
| query | string | yes | Pattern (git grep basic regex) |
| ref | string | – | Branch / tag / sha (default: the repo's default branch) |
| repo | string | yes | – |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| owner | string | yes | – |
| query | string | yes | Search keyword |
| repo | string | yes | – |
| state | string | – | open | closed | all (default open) |
No output schema declared.
No examples provided.
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
claude mcp add --transport http com-gluecron-gluecron 'https://gluecron.com/mcp'
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.