{"name":"io.github.attebury/remogram","slug":"attebury-remogram","title":"Remogram","description":"SCM & forge boundary MCP: normalized, typed JSON from attributed Gitea, GitLab, and GitHub providers","url":"https://mcp.market/server/attebury-remogram","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"devtools","tags":["devtools"],"presence":{"score":17,"stars":0,"forks":0,"downloads_week":28,"last_push_at":"2026-07-06T21:19:39.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/attebury/remogram","website":null,"version":"0.2.0-beta.4","remotes":[],"packages":[{"registryType":"npm","identifier":"@remogram/mcp","version":"0.2.0-beta.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"GitHub API token for github-api repositories.","format":"string","isSecret":true,"name":"GITHUB_TOKEN"},{"description":"Alternative GitHub API token for github-api repositories.","format":"string","isSecret":true,"name":"GH_TOKEN"},{"description":"GitLab API token for gitlab-api repositories.","format":"string","isSecret":true,"name":"GITLAB_TOKEN"},{"description":"Gitea API token for gitea-api repositories.","format":"string","isSecret":true,"name":"GITEA_TOKEN"},{"description":"Repository root for Remogram to inspect when the MCP host launches from another working directory.","format":"string","name":"REMOGRAM_CWD"},{"description":"Optional path to a local operator write-command overlay.","format":"string","name":"REMOGRAM_OPERATOR_CONFIG"}]}],"tools":[{"name":"attestation_read","description":"Read commit status attestation bindings for a SHA.","write_action":false,"price_micros":0,"input_schema":null},{"name":"branch_protection","description":"Branch protection policy facts: required status contexts, protected rules, approvals signal.","write_action":false,"price_micros":0,"input_schema":null},{"name":"command_contract_export","description":"Read command contract metadata for all commands or one command key.","write_action":false,"price_micros":0,"input_schema":null},{"name":"cr_body","description":"Change request description body with close_keywords helper.","write_action":false,"price_micros":0,"input_schema":null},{"name":"cr_close","description":"Close an open change request on the configured forge without merging.","write_action":false,"price_micros":0,"input_schema":null},{"name":"cr_comments","description":"Review comments for a change request (sanitized bodies, truncation-aware).","write_action":false,"price_micros":0,"input_schema":null},{"name":"cr_edit","description":"Update change request title and/or body on the configured forge.","write_action":true,"price_micros":0,"input_schema":null},{"name":"cr_files","description":"Changed file paths for a change request (bounded, truncation-aware).","write_action":false,"price_micros":0,"input_schema":null},{"name":"cr_inventory","description":"Aggregate open change requests with checks and merge-plan facts into a semantic-diff slice.","write_action":false,"price_micros":0,"input_schema":null},{"name":"cr_open","description":"Open a change request (pull request) on the configured forge.","write_action":false,"price_micros":0,"input_schema":null},{"name":"doctor","description":"Read-only provider readiness diagnostics for config, remote trust, auth, capabilities, and checks.","write_action":false,"price_micros":0,"input_schema":null},{"name":"forge_changes","description":"Forge activity events since an observed_at boundary (PR lifecycle, head SHA moves, check conclusions).","write_action":false,"price_micros":0,"input_schema":null},{"name":"forge_log_ingest","description":"Ingest a Gitea webhook JSON payload into the local forge event log.","write_action":false,"price_micros":0,"input_schema":null},{"name":"forge_log_read","description":"Read normalized events from the local forge event log.","write_action":false,"price_micros":0,"input_schema":null},{"name":"forge_queue_snapshot","description":"Composed forge queue snapshot (repo status, CR slice, merge summaries).","write_action":false,"price_micros":0,"input_schema":null},{"name":"issue_bundle","description":"Create an issue_bundle packet for issue lifecycle and linked review context.","write_action":true,"price_micros":0,"input_schema":null},{"name":"issue_close","description":"Close an open forge issue on the configured repository.","write_action":false,"price_micros":0,"input_schema":null},{"name":"issue_comment","description":"Post a comment on a forge issue.","write_action":true,"price_micros":0,"input_schema":null},{"name":"issue_comments","description":"Issue comments (sanitized bodies, truncation-aware).","write_action":false,"price_micros":0,"input_schema":null},{"name":"issue_inventory","description":"Aggregate open issues into a semantic-diff inventory slice with pagination cursors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"issue_open","description":"Open a forge issue on the configured repository (Gitea v1).","write_action":false,"price_micros":0,"input_schema":null},{"name":"issue_view","description":"Issue metadata facts with optional linked change request snapshot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"merge_execute","description":"Execute a forge merge for an open change request after SHA-bound preflight.","write_action":true,"price_micros":0,"input_schema":null},{"name":"merge_plan","description":"Merge readiness facts: mergeability, checks, blockers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"observer_snapshot","description":"Deprecated alias for forge_queue_snapshot — prefer forge_queue_snapshot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"plugin_boundary","description":"Read forge plugin boundary metadata (emit surfaces, denied claims, contract export linkage).","write_action":false,"price_micros":0,"input_schema":null},{"name":"pr_checks","description":"CI/check conclusions for a PR number or git ref.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pr_status","description":"PR metadata and mergeability facts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"provider_capabilities","description":"Structured provider capability facts for commands, auth, checks, host binding, pagination, and write support.","write_action":false,"price_micros":0,"input_schema":null},{"name":"publish_execute","description":"Push a local branch to the configured git remote (requires publish_branch write_commands).","write_action":true,"price_micros":0,"input_schema":null},{"name":"publish_plan","description":"Plan branch publication to the configured git remote before opening a change request.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ref_compare","description":"Compare two refs with exact SHAs and ahead/behind counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ref_inventory","description":"List repository refs with SHAs, default branch hint, and optional ancestry hints.","write_action":false,"price_micros":0,"input_schema":null},{"name":"repo_status","description":"Forge repo status facts (auth, capabilities, default branch).","write_action":false,"price_micros":0,"input_schema":null},{"name":"review_bundle","description":"Create a review_bundle packet for reviewed head/base, decision, and summary facts.","write_action":true,"price_micros":0,"input_schema":null},{"name":"semantic_diff","description":"Composed semantic diff since a time or git ref boundary.","write_action":false,"price_micros":0,"input_schema":null},{"name":"status_set","description":"Set a commit status (check context) on the configured forge.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sync_plan","description":"Local vs remote sync facts and divergent-remote blockers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"verify_bind","description":"Create a verify_bind packet bound to a target SHA and optional proof metadata.","write_action":true,"price_micros":0,"input_schema":null},{"name":"whoami","description":"Authenticated forge identity facts (login, can_write, token scope/expiry signals).","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-09-26T11:36:55.304Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T11:36:55.388Z","components":{"code":{"score":25,"max":25,"notes":["6 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 82 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@remogram/mcp","version":"0.2.0-beta.4","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-07-04T15:52:37.169Z","repositoryUrl":"git+https://github.com/attebury/remogram.git","weeklyDownloads":28}],"repo":{"found":true,"owner":"attebury","repo":"remogram","archived":false,"pushedAt":"2026-07-06T21:19:39Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/149034?v=4","ownerCreatedAt":"2009-11-04T22:43:55Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/149034?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":28,"license":"MIT","lastPushAt":"2026-07-06T21:19:39.000Z","score":17}}}},"grade_history":[],"reviews":[]}