Ghcli Connector MCP Server
GitHub CLI commands executed directly within your MCP-compliant AI agent environment.
Data last scanned today · Reviewed today
Overview
This Go-based MCP server functions by shelling out to the local GitHub CLI binary already present on your system. By leveraging the existing `gh` installation, it grants AI agents access to the entire scope of GitHub CLI capabilities, including issue, pull request, project, and workflow management, without needing to maintain a curated list of API endpoints. The server operates as a single static binary and does not require complex runtime dependencies like Python or uv. It relies on the host's existing `gh` authentication—using the OS keychain or standard environment variables—to execute commands while providing a read-only safety gate for state-changing operations.
Our verdict
With a security score of 35/100, this server is currently classified as high-risk. The score reflects the fact that it is a community-maintained project rather than an official vendor release, and critical aspects such as the authentication implementation and read-only mode have not been independently reviewed. It is suitable for experimental use by developers who already manage their own GitHub CLI authentication, but it is not recommended for environments requiring verified security guarantees.
- Requires zero direct dependencies for operation
- Provides immediate access to full GitHub CLI feature set
- Uses host-level authentication via established gh CLI
- Implemented as a single static Go binary
- High risk score due to lack of editorial review
- Authentication methods have not undergone security auditing
- Community-maintained with no official vendor backing
Tools
| Tool | Description | Risk |
|---|---|---|
| ghcli_exec | Run any gh <command> <subcommand> ... command. Read-only by default — commands that change GitHub state need GHCLI_MCP_ALLOW_WRITE=true on the server and confirm=true on the call. | high |
| ghcli_help | Show gh <command> [subcommand] --help text — always safe, use it to check exact syntax before calling ghcli_exec. | low |
| ghcli_whoami | Show the GitHub identity (login, name, profile URL) the configured auth resolves to. | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What are the prerequisites for running this MCP server?
You must have the GitHub CLI installed and authenticated on your host machine, as the server shells out to the existing `gh` binary. While the server is a Go binary, you do not need the Go toolchain if you use the prebuilt binaries provided in the releases.
›How do I perform write operations like creating issues or pull requests?
State-changing commands are disabled by default for safety. To enable them, you must set the environment variable `GHCLI_MCP_ALLOW_WRITE=true` at the server level and pass `confirm=true` within the specific tool call.
›Can the server automatically detect the repository I am working in?
No, this server does not have a working directory, so it cannot rely on `gh`'s standard current-working-directory repo detection. You must provide an explicit repository flag, such as `-R owner/repo`, for any commands that require a repo scope.
›How can I restrict the server to only interact with specific repositories?
You can use the `GHCLI_MCP_ALLOWED_REPOS` environment variable to define a comma-separated allowlist of repositories, such as `owner/repo`. This restriction is only enforced when the command includes an explicit `-R` or `--repo` flag.
›Does the server support GitHub Enterprise?
Yes, you can target a GitHub Enterprise hostname instead of the default github.com by setting the `GH_HOST` environment variable.
Changelog
Badge
Maintain this server? Add the live badge to your README.