{"id":"shuymn-gh-mcp","name":"gh-mcp","homepage":null,"repo_url":"https://github.com/shuymn/gh-mcp","category":"devtools","subcategories":[],"tags":["ai-ml","mcp","github","authentication","cli-tool","developer-tools","security","supply-chain-integrity"],"what_it_does":"`gh-mcp` is a GitHub CLI extension that launches the `github-mcp-server` bundled binary as an MCP server, using the user’s existing `gh` authentication instead of requiring manual GitHub PAT setup. It verifies the bundled server archive via a pinned SHA256, extracts it for the current platform, and starts the server while passing credentials and configuration through environment variables.","use_cases":["Run GitHub-backed MCP tools (e.g., repos/issues/PR-related) from any MCP client (Claude Code, etc.) using existing `gh auth`","Avoid manual GitHub PAT creation for MCP workflows","Provide read-only or limited toolset MCP access to reduce risk from agent-driven operations"],"not_for":["Producing an HTTP/REST API for GitHub data directly (this is an MCP server wrapper, not a web API)","Platforms where the bundled `github-mcp-server` archive for the OS/architecture is not available","Environments where forwarding environment variables (including proxy/cert settings) from an untrusted wrapper process is unacceptable"],"best_when":"You already use `gh auth login` and want an agent/MCP client to interact with GitHub via the official `github-mcp-server` without handling PATs manually.","avoid_when":"You run `gh mcp` from an untrusted wrapper process (due to explicit note about proxy/certificate variable forwarding) or you cannot control the forwarded `GITHUB_*` environment values safely.","alternatives":["Run `github-mcp-server` directly with a manually configured PAT (external MCP server setup)","Use a containerized/deployed `github-mcp-server` behind your own auth/proxy controls","Use other MCP GitHub integrations that support OAuth/PKCE or direct GitHub App authentication (if available)"],"af_score":64.7,"security_score":67.2,"reliability_score":32.5,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:34:00.549419+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Uses existing `gh` CLI authentication; launches bundled `github-mcp-server` with credentials derived from `gh` session/auth config","Environment-variable configuration for server behavior (e.g., toolsets, read-only)"],"oauth":false,"scopes":false,"notes":"No OAuth flow is described for this extension itself; it relies on whatever `gh` authentication mode the user has configured (e.g., PAT stored/managed by `gh`) and passes credentials to the child MCP server via environment variables."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing information is provided in the README."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":64.7,"security_score":67.2,"reliability_score":32.5,"mcp_server_quality":78.0,"documentation_accuracy":82.0,"error_message_quality":null,"error_message_notes":"No documented machine-readable error codes or retry semantics are provided, but troubleshooting sections are concrete and actionable.","auth_complexity":85.0,"rate_limit_clarity":10.0,"tls_enforcement":75.0,"auth_strength":70.0,"scope_granularity":55.0,"dependency_hygiene":45.0,"secret_handling":85.0,"security_notes":"Strengths: bundled archive integrity verification via pinned SHA256; troubleshooting calls out insecure cache directory permissions; README states the GitHub token is never stored by the extension and credentials are passed to the server process via environment variables; temp extracted binary is removed after exit. Concerns/uncertainties: scope granularity is limited to toolsets/read-only and dynamic discovery flags (not explicit OAuth scopes); dependency/CVE hygiene is not assessable from provided content; TLS enforcement for network calls to GitHub is not described (assumed via `gh`/server defaults).","uptime_documented":0.0,"version_stability":45.0,"breaking_changes_history":30.0,"error_recovery":55.0,"idempotency_support":"false","idempotency_notes":"The wrapper starts a server process; idempotency is not applicable/explicitly discussed. Re-running may re-extract/validate bundles depending on cache/extraction behavior, but no guarantees are stated.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["If running `gh mcp` from an untrusted wrapper process, proxy/certificate variables may be forwarded (per trust model note).","Unsupported OS/architecture will fail due to missing bundled archive.","Misconfigured `GITHUB_*` environment values (e.g., containing line breaks or NUL bytes) can break the forwarded environment.","Credential availability depends on `gh` being logged in and a default host being configured."]}}