# com.gluecron/gluecron

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

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 1.0.0
- **Author:** com.gluecron
- **License:** Unknown
- **Endpoints:** streamable-http https://gluecron.com/mcp
- **Source:** https://gluecron.com
- **Endpoint health:** reachable (last checked 2026-09-22T04:49:49.749Z, 5 samples) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

60/100 (B), scored on the content rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: clean
- Obfuscation scan: clean
- Evidence age: 11 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-12T20:57:23.315Z
- **Version scanned:** live
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.

## Tools

62 declared. Observed from a live `tools/list` probe.
- `gluecron_repo_search` — Search Gluecron repositories by keyword (name + description), case-insensitively. Returns public repos plus any private repos owned by the authenticated caller.
- `gluecron_repo_read_file` — 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 te
- `gluecron_repo_list_issues` — List open issues for a public repository. Returns up to 50 ordered by most-recent.
- `gluecron_repo_explain_codebase` — Return the cached AI 'explain this codebase' Markdown for a public repo (most recent commit). Returns null when no cached explanation exists yet.
- `gluecron_repo_health` — Compute the current health report for a public repo: overall score (0-100), letter grade, per-category breakdown (security/testing/complexity/dependencies/docum
- `gluecron_create_issue` — Create a new issue on a Gluecron repository. Requires authenticated caller with write access on the target repo. Returns {number, url}.
- `gluecron_comment_issue` — Add a comment to an existing issue. Requires authenticated caller with write access. Returns {commentId}.
- `gluecron_close_issue` — Close an open issue. Requires authenticated caller with write access. Idempotent — closing an already-closed issue is a no-op. Returns {state}.
- `gluecron_reopen_issue` — Reopen a previously closed issue. Requires authenticated caller with write access. Idempotent. Returns {state}.
- `gluecron_create_pr` — Open a new pull request. `head_branch` is required; `base_branch` defaults to the repo default branch. Requires authenticated caller with write access. Returns 
- `gluecron_get_pr` — Fetch the full detail record of a pull request (title, body, state, branches, draft, author, timestamps). Authenticated callers only (the read tool surface stil
- `gluecron_list_prs` — List pull requests on a repo, filtered by state (open|closed|merged|all). Authenticated callers only. Returns up to 50 summary rows.
- `gluecron_comment_pr` — Add a comment to a pull request. Requires authenticated caller with write access. Returns {commentId}.
- `gluecron_merge_pr` — 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 s
- `gluecron_close_pr` — Close an open pull request without merging. Requires authenticated caller with write access. Idempotent. Returns {state}.
- `gluecron_fork_repo` — Fork a repository to the authenticated caller's namespace. Mirrors POST /:owner/:repo/fork. Returns {owner, repo, url}. Requires 'repo' scope.
- `gluecron_delete_repo` — Permanently delete a repository row (git data on disk is left untouched). Owner-only. Requires 'admin' scope. Returns {deleted: true}.
- `gluecron_update_repo` — Update repository description / visibility / default_branch. Owner-only. Requires 'repo' scope. Returns {ok: true}.
- `gluecron_search_repos` — Full-text search of public repositories by name/description, case-insensitively. Mirrors GET /api/v2/search/repos. `total` is the full match count (not the page
- `gluecron_clone_url` — Return the authenticated HTTPS clone URL for a repo + a credential-helper hint. Use this instead of embedding tokens in URLs. Returns {url, hint}.
- `gluecron_label_issue` — 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}.
- `gluecron_unlabel_issue` — Detach a label from an issue. Idempotent. Requires 'repo' scope. Returns {removed: boolean}.
- `gluecron_assign_issue` — Assign an issue to a user. Gluecron does not yet have a dedicated assignee table; assignment is modelled as an `assignee:<username>` label so it integrates with
- `gluecron_search_issues` — Search issues by title/body keyword on a single repo, filtered by state. Returns ranked rows.
- `gluecron_request_changes` — Post a 'changes requested' AI-review comment on a PR. The comment is tagged with isAiReview=true so the gate-checker recognises it. Requires 'repo' scope.
- `gluecron_search_prs` — Search pull requests by title/body keyword on a repo.
- `gluecron_open_draft_pr` — 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
- `gluecron_generate_pr_description` — Generate an AI commit-message-style description for a diff. Uses src/lib/ai-commit-message.ts under the hood; gracefully degrades to a heuristic when ANTHROPIC_
- `gluecron_read_file` — Read a file from a repo at a given ref. Mirrors GET /api/v2/repos/:owner/:repo/contents/:path. Returns {path, size, content, encoding}.
- `gluecron_write_file` — Create or update a file on a branch via git plumbing. Wraps `createOrUpdateFileOnBranch`. Pass `content` as a UTF-8 string OR `content_base64` for binary. Requi
- `gluecron_delete_file` — Delete a file from a branch via git plumbing. Requires the existing blob sha (optimistic concurrency) and 'repo' scope. Mirrors DELETE /api/v2/contents.
- `gluecron_list_tree` — 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
- `gluecron_get_commit` — Fetch a single commit by SHA: metadata plus the list of files it changed (path, status, additions, deletions). Mirrors GET /api/v2/repos/.../commits/:sha. Patch
- `gluecron_get_diff` — Read the actual changes in a commit or a branch range. Pass `sha` for one commit against its first parent, or `base`+`head` for everything head adds since the m
- `gluecron_create_branch` — Create a new branch ref pointing at an existing sha. Mirrors POST /api/v2/repos/.../git/refs. Requires 'repo' scope. Returns {ref, sha}.
- `gluecron_atomic_multi_file_commit` — Apply a set of file writes + deletes as a single atomic commit on a branch (creates the branch if it doesn't exist). The killer agent tool: blob/tree/commit/ref
- `gluecron_ship_spec` — Drop a spec file in .gluecron/specs/ with status: ready so the autopilot picks it up. Wraps voice-to-pr.shipAsSpec — handle both voice + manual specs. Requires 
- `gluecron_voice_to_pr` — Interpret a free-form voice transcript and either ship it as a spec or create an issue (caller picks via `as`). Wraps src/lib/voice-to-pr.ts. Requires 'repo' sc
- `gluecron_refactor_across_repos` — 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 '
- `gluecron_explain_repo` — Return the cached AI 'explain this codebase' Markdown for a repo. Pure read — never triggers a new generation (use the web UI for that).
- …and 22 more

## Install

**Verdict: review** — Installable, but 2 things to check first: No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
**Cautions** (coverage gaps and advisories — never blocking)
- No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"gluecron\": {\n      \"type\": \"http\",\n      \"url\": \"https://gluecron.com/mcp\"\n    }\n  }\n}"
```

## Blast radius

Extensive blast radius — deletes data; runs on someone else's infrastructure.
- Floor 34, ceiling 58 (tier: extensive)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/com.gluecron%2Fgluecron
- Install plan: https://forgeregistry.com/api/v1/packages/com.gluecron%2Fgluecron/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/com.gluecron%2Fgluecron
- HTML page: https://forgeregistry.com/registry/com.gluecron%2Fgluecron
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
