Remogram
NPM · @REMOGRAM/MCP · SCANNED SEP 20
SCM & forge boundary MCP: normalized, typed JSON from attributed Gitea, GitLab, and GitHub providers
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 103 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 75 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability67
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2395 tokens (~59/item across 40 items; 40 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage86
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 59% of tool parameters carry a description.Partial
Tool Safety88
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 2 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "merge_plan" implies "merge" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 40 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Remogram MCP server?
Remogram runs locally as an npm package, launched with npx -y @remogram/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @remogram/mcp
claude mcp add attebury-remogram -- npx -y @remogram/mcp
{
"mcpServers": {
"attebury-remogram": {
"command": "npx",
"args": [
"-y",
"@remogram/mcp"
]
}
}
} {
"servers": {
"attebury-remogram": {
"command": "npx",
"args": [
"-y",
"@remogram/mcp"
]
}
}
} codex mcp add attebury-remogram -- npx -y @remogram/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"attebury-remogram": {
"type": "local",
"command": [
"npx",
"-y",
"@remogram/mcp"
],
"enabled": true
}
}
} openclaw mcp add attebury-remogram --command npx --arg -y --arg @remogram/mcp
mcp_servers:
attebury-remogram:
command: "npx"
args: ["-y", "@remogram/mcp"] {
"McpServers": {
"attebury-remogram": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@remogram/mcp"
]
}
}
} assistant mcp add attebury-remogram -t stdio -c npx -a -y @remogram/mcp
{
"mcpServers": {
"attebury-remogram": {
"command": "npx",
"args": [
"-y",
"@remogram/mcp"
]
}
}
} 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.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
- Security disclosure: unverified → fail ▼ functional
- 16 Sept 26 −3
- Security disclosure: fail → unverified ▼ functional
- Stability: pass → 0.80 functional
- 15 Sept 26 +1
- Stability: 0.97 → pass security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 11 Sept 26 +1
- Security disclosure: fail → unverified ▼ functional
- 9 Sept 26 −3
- Security disclosure: unverified → fail ▼ functional
- Stability: pass → 0.80 functional
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 20 Sept 2026 · Analysed npm/@remogram/mcp@0.2.0-beta.4
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 103 packages
| Packages resolved | 103 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
attestation_read ~33
Read commit status attestation bindings for a SHA.
| Name | Type | Req | Description |
|---|---|---|---|
| context | string | – | – |
| sha | string | yes | – |
No output schema declared.
No examples provided.
branch_protection ~32
Branch protection policy facts: required status contexts, protected rules, approvals signal.
| Name | Type | Req | Description |
|---|---|---|---|
| branch_ref | string | yes | – |
No output schema declared.
No examples provided.
command_contract_export ~37
Read command contract metadata for all commands or one command key.
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | – | Optional command key, for example "issue inventory" |
No output schema declared.
No examples provided.
cr_body ~24
Change request description body with close_keywords helper.
| Name | Type | Req | Description |
|---|---|---|---|
| number | integer | yes | – |
No output schema declared.
No examples provided.
cr_close ~76
Close an open change request on the configured forge without merging.
| Name | Type | Req | Description |
|---|---|---|---|
| actor_id | string | – | Caller actor id; requires session_id when set |
| idempotency_key | string | – | – |
| number | integer | yes | – |
| session_id | string | – | Caller session id; requires actor_id when set (untrusted correlation only) |
No output schema declared.
No examples provided.
cr_comments ~30
Review comments for a change request (sanitized bodies, truncation-aware).
| Name | Type | Req | Description |
|---|---|---|---|
| number | integer | yes | – |
No output schema declared.
No examples provided.
cr_edit ~98
Update change request title and/or body on the configured forge.
| Name | Type | Req | Description |
|---|---|---|---|
| actor_id | string | – | Caller actor id; requires session_id when set |
| body | string | – | – |
| body_file | string | – | – |
| idempotency_key | string | – | – |
| number | integer | yes | – |
| session_id | string | – | Caller session id; requires actor_id when set (untrusted correlation only) |
| title | string | – | – |
No output schema declared.
No examples provided.
cr_files ~29
Changed file paths for a change request (bounded, truncation-aware).
| Name | Type | Req | Description |
|---|---|---|---|
| number | integer | yes | – |
No output schema declared.
No examples provided.
cr_inventory ~87
Aggregate open change requests with checks and merge-plan facts into a semantic-diff slice.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor from prior cr_inventory next_cursor |
| limit | integer | – | Max open CR entries (default 3) |
| slice_ref | string | – | Optional slice ref label for consumers |
| sort | string | – | Open-list slice sort preset (default number_asc) |
No output schema declared.
No examples provided.
cr_open ~204
Open a change request (pull request) on the configured forge.
| Name | Type | Req | Description |
|---|---|---|---|
| actor_id | string | – | Caller actor id; requires session_id when set |
| base | string | yes | Base branch ref |
| body | string | – | Optional change request body |
| body_file | string | – | Path to body file (mutually exclusive with body); use - for stdin |
| dedupe_key | string | – | Durable cross-process dedupe key (24h XDG store) |
| head | string | yes | Head branch ref |
| idempotency | string | – | Idempotency scan mode when forge open-pull scan is incomplete |
| idempotency_key | string | – | Optional agent idempotency key for retry-safe writes |
| repo | string | – | Override forge repo as owner/name on the same host |
| session_id | string | – | Caller session id; requires actor_id when set (untrusted correlation only) |
| title | string | yes | Change request title |
No output schema declared.
No examples provided.
doctor ~44
Read-only provider readiness diagnostics for config, remote trust, auth, capabilities, and checks.
| Name | Type | Req | Description |
|---|---|---|---|
| live | boolean | – | When true, perform a bounded live forge API reachability probe |
No output schema declared.
No examples provided.
forge_changes ~115
Forge activity events since an observed_at boundary (PR lifecycle, head SHA moves, check conclusions).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor from prior forge_changes next_cursor |
| include_issues | boolean | – | Include issue open/close lifecycle events |
| limit | integer | – | Events per page (default 64) |
| log_path | string | – | Override forge event log path |
| since | string | – | ISO-8601 observed_at boundary (required on first page) |
| source | string | – | Event source preference |
No output schema declared.
No examples provided.
forge_log_ingest ~48
Ingest a Gitea webhook JSON payload into the local forge event log.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | – | – |
| log_path | string | – | – |
| stdin | boolean | – | – |
No output schema declared.
No examples provided.
forge_log_read ~41
Read normalized events from the local forge event log.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| log_path | string | – | – |
| since | string | yes | – |
No output schema declared.
No examples provided.
forge_queue_snapshot ~65
Composed forge queue snapshot (repo status, CR slice, merge summaries).
| Name | Type | Req | Description |
|---|---|---|---|
| base_ref | string | – | – |
| cr_limit | integer | – | – |
| include_issues | boolean | – | – |
| include_refs | boolean | – | – |
| integration_ref | string | – | – |
No output schema declared.
No examples provided.
issue_bundle ~58
Create an issue_bundle packet for issue lifecycle and linked review context.
| Name | Type | Req | Description |
|---|---|---|---|
| issue_number | integer | yes | – |
| linked_pr | integer | – | – |
| state | string | – | – |
| title | string | – | – |
| url | string | – | – |
No output schema declared.
No examples provided.
issue_close ~74
Close an open forge issue on the configured repository.
| Name | Type | Req | Description |
|---|---|---|---|
| actor_id | string | – | Caller actor id; requires session_id when set |
| idempotency_key | string | – | – |
| number | integer | yes | – |
| session_id | string | – | Caller session id; requires actor_id when set (untrusted correlation only) |
No output schema declared.
No examples provided.
issue_comment ~87
Post a comment on a forge issue.
| Name | Type | Req | Description |
|---|---|---|---|
| actor_id | string | – | Caller actor id; requires session_id when set |
| body | string | – | – |
| body_file | string | – | – |
| idempotency_key | string | – | – |
| number | integer | yes | – |
| session_id | string | – | Caller session id; requires actor_id when set (untrusted correlation only) |
No output schema declared.
No examples provided.
issue_comments ~26
Issue comments (sanitized bodies, truncation-aware).
| Name | Type | Req | Description |
|---|---|---|---|
| number | integer | yes | – |
No output schema declared.
No examples provided.
issue_inventory ~85
Aggregate open issues into a semantic-diff inventory slice with pagination cursors.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor from prior issue_inventory next_cursor |
| limit | integer | – | Max open issue entries (default 3) |
| slice_ref | string | – | Optional slice ref label for consumers |
| sort | string | – | Open-list slice sort preset (default number_asc) |
No output schema declared.
No examples provided.
issue_open ~139
Open a forge issue on the configured repository (Gitea v1).
| Name | Type | Req | Description |
|---|---|---|---|
| actor_id | string | – | Caller actor id; requires session_id when set |
| body | string | – | Optional issue body (inline cap; use body_file for larger bodies) |
| body_file | string | – | Path to body file for bodies above inline cap (mutually exclusive with body); use - for stdin |
| idempotency_key | string | – | Optional agent idempotency key for retry-safe writes |
| session_id | string | – | Caller session id; requires actor_id when set (untrusted correlation only) |
| title | string | yes | Issue title |
No output schema declared.
No examples provided.
issue_view ~25
Issue metadata facts with optional linked change request snapshot.
| Name | Type | Req | Description |
|---|---|---|---|
| number | integer | yes | – |
No output schema declared.
No examples provided.
merge_execute ~116
Execute a forge merge for an open change request after SHA-bound preflight.
| Name | Type | Req | Description |
|---|---|---|---|
| actor_id | string | – | Caller actor id; requires session_id when set |
| expected_base_sha | string | yes | Expected base SHA (40 hex chars) |
| expected_head_sha | string | yes | Expected head SHA (40 hex chars) |
| method | string | – | Merge method (v1: merge only) |
| number | integer | yes | – |
| session_id | string | – | Caller session id; requires actor_id when set (untrusted correlation only) |
No output schema declared.
No examples provided.
merge_plan ~34
Merge readiness facts: mergeability, checks, blockers.
| Name | Type | Req | Description |
|---|---|---|---|
| allowed_paths | array | – | – |
| number | integer | yes | – |
No output schema declared.
No examples provided.
observer_snapshot ~53
Deprecated alias for forge_queue_snapshot — prefer forge_queue_snapshot.
| Name | Type | Req | Description |
|---|---|---|---|
| cr_limit | integer | – | – |
| include_issues | boolean | – | – |
| include_refs | boolean | – | – |
| integration_ref | string | – | – |
No output schema declared.
No examples provided.
plugin_boundary ~24
Read forge plugin boundary metadata (emit surfaces, denied claims, contract export linkage).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
pr_checks ~19
CI/check conclusions for a PR number or git ref.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
pr_status ~22
PR metadata and mergeability facts.
| Name | Type | Req | Description |
|---|---|---|---|
| number | integer | yes | – |
No output schema declared.
No examples provided.
provider_capabilities ~46
Structured provider capability facts for commands, auth, checks, host binding, pagination, and write support.
| Name | Type | Req | Description |
|---|---|---|---|
| repo | string | – | Override forge repo as owner/name on the same host |
No output schema declared.
No examples provided.
publish_execute ~51
Push a local branch to the configured git remote (requires publish_branch write_commands).
| Name | Type | Req | Description |
|---|---|---|---|
| head | string | yes | Local branch name to publish |
| remote | string | – | Git remote (must match configured config.remote) |
No output schema declared.
No examples provided.
publish_plan ~49
Plan branch publication to the configured git remote before opening a change request.
| Name | Type | Req | Description |
|---|---|---|---|
| head | string | yes | Local branch name to publish |
| remote | string | – | Git remote (must match configured config.remote) |
No output schema declared.
No examples provided.
ref_compare ~56
Compare two refs with exact SHAs and ahead/behind counts.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | yes | Base ref |
| head | string | yes | Head ref |
| repo | string | – | Override forge repo as owner/name on the same host |
No output schema declared.
No examples provided.
ref_inventory ~41
List repository refs with SHAs, default branch hint, and optional ancestry hints.
| Name | Type | Req | Description |
|---|---|---|---|
| repo | string | – | Override forge repo as owner/name on the same host |
No output schema declared.
No examples provided.
repo_status ~37
Forge repo status facts (auth, capabilities, default branch).
| Name | Type | Req | Description |
|---|---|---|---|
| repo | string | – | Override forge repo as owner/name on the same host |
No output schema declared.
No examples provided.
review_bundle ~63
Create a review_bundle packet for reviewed head/base, decision, and summary facts.
| Name | Type | Req | Description |
|---|---|---|---|
| decision | string | – | – |
| number | integer | yes | – |
| reviewed_base_sha | string | – | – |
| reviewed_head_sha | string | – | – |
| summary | string | – | – |
No output schema declared.
No examples provided.
semantic_diff ~20
Composed semantic diff since a time or git ref boundary.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
status_set ~185
Set a commit status (check context) on the configured forge.
| Name | Type | Req | Description |
|---|---|---|---|
| actor_id | string | – | Caller actor id; requires session_id when set |
| context | string | yes | Status context name |
| description | string | – | Optional status description |
| idempotency_key | string | – | Optional agent idempotency key for retry-safe writes |
| note | string | – | Additional attestation note |
| proof_hash | string | – | Attestation proof hash (sha256:...) |
| proof_url | string | – | Attestation proof URL |
| session_id | string | – | Caller session id; requires actor_id when set (untrusted correlation only) |
| sha | string | yes | 40-character commit SHA |
| state | string | yes | Status state |
| target_url | string | – | Optional target URL for the status |
| verifier | string | – | Verifier identity label |
No output schema declared.
No examples provided.
sync_plan ~26
Local vs remote sync facts and divergent-remote blockers.
| Name | Type | Req | Description |
|---|---|---|---|
| remote | string | – | – |
No output schema declared.
No examples provided.
verify_bind ~71
Create a verify_bind packet bound to a target SHA and optional proof metadata.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | Optional verification notes |
| proof_url | string | – | Verification proof URL |
| target_sha | string | yes | 40-character verified target SHA |
| verifier | string | – | Verifier identity or lane label |
No output schema declared.
No examples provided.
whoami ~25
Authenticated forge identity facts (login, can_write, token scope/expiry signals).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the Remogram MCP server?
Remogram is an MCP server listed in the public MCP registry as io.github.attebury/remogram. SCM & forge boundary MCP: normalized, typed JSON from attributed Gitea, GitLab, and GitHub providers. This page covers its npm package (@remogram/mcp).
Is the Remogram MCP server safe to use?
Remogram scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. 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 Remogram MCP server expose?
Remogram exposes 40 tools: doctor, provider_capabilities, repo_status, ref_compare, ref_inventory, and 35 more. Their descriptions and schemas cost roughly 2,395 tokens of context every time the server is loaded.
Is the Remogram MCP server still maintained?
Remogram is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Remogram MCP server under?
Remogram declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.