productivity
GitHub MCP Integration for Codex
Connect GitHub to Codex through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect GitHub to Codex
Use KosmoKrator as a local MCP proxy for Codex so coding sessions can reach selected integrations with explicit write policy.
Register kosmo mcp:serve as a local stdio server and choose the integration allowlist. The gateway is local, scoped to this integration, and starts with
--write=deny so Codex can inspect read-capable tools without receiving write access by default.
GitHub MCP Config for Codex
Keep write access denied or ask-based unless the workspace is trusted.
{
"mcpServers": {
"kosmokrator-github": {
"type": "stdio",
"command": "kosmo",
"args": [
"mcp:serve",
"--integration=github",
"--write=deny"
]
}
}
} Run the Gateway Manually
kosmokrator mcp:serve --integration=github --write=deny Why Use KosmoKrator Here
Expose only GitHub instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
GitHub Tools Visible to Codex
Codex sees stable MCP tool names generated from the GitHub integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
integration__github__github_list_repos | github.github_list_repos | Read | List repositories for the authenticated GitHub user. Supports filtering by type (all, owner, public, private, member), sorting (created, updated, pushed, full_name), and direction. |
integration__github__github_get_repo | github.github_get_repo | Read | Get detailed information about a specific GitHub repository, including description, stats, default branch, and more. |
integration__github__github_create_repo | github.github_create_repo | Write | Create a new repository for the authenticated GitHub user. Optionally set description, visibility, and auto-initialize with a README. |
integration__github__github_search_repos | github.github_search_repos | Read | Search for repositories on GitHub using keywords, language filters, stars, and more. Returns matching repositories with metadata. |
integration__github__github_list_issues | github.github_list_issues | Read | List issues in a GitHub repository. Supports filtering by state (open, closed, all), labels, and sorting. |
integration__github__github_get_issue | github.github_get_issue | Read | Get detailed information about a specific GitHub issue, including title, body, labels, assignees, milestone, and comments count. |
integration__github__github_create_issue | github.github_create_issue | Write | Create a new issue in a GitHub repository. Requires a title. Optionally set body, assignees, labels, and milestone. |
integration__github__github_update_issue | github.github_update_issue | Write | Update an existing issue in a GitHub repository. Can change title, body, state (open/closed), assignees, labels, and milestone. |
integration__github__github_add_labels | github.github_add_labels | Write | Add one or more labels to a GitHub issue. Labels are specified by name. If a label does not exist in the repository, it will be created. |
integration__github__github_create_issue_comment | github.github_create_issue_comment | Write | Add a comment to a GitHub issue or pull request. The comment body supports GitHub Markdown. |
integration__github__github_list_pull_requests | github.github_list_pull_requests | Read | List pull requests in a GitHub repository. Supports filtering by state (open, closed, all) and sorting. |
integration__github__github_get_pull_request | github.github_get_pull_request | Read | Get detailed information about a specific GitHub pull request, including title, body, branch info, merge status, and review status. |
integration__github__github_create_pull_request | github.github_create_pull_request | Write | Create a new pull request in a GitHub repository. Requires a title, head branch (source), and base branch (target). |
integration__github__github_update_pull_request | github.github_update_pull_request | Write | Update an existing pull request in a GitHub repository. Can change title, body, state (open/closed), and base branch. |
integration__github__github_merge_pull_request | github.github_merge_pull_request | Write | Merge a GitHub pull request. Supports merge commit, squash, or rebase merge methods. |
integration__github__github_list_pull_request_reviews | github.github_list_pull_request_reviews | Read | List all reviews on a GitHub pull request, including review state (approved, changes_requested, commented, dismissed). |
integration__github__github_create_review | github.github_create_review | Write | Create a review on a GitHub pull request. Can approve, request changes, or comment. Optionally include inline review comments on specific lines. |
integration__github__github_list_commits | github.github_list_commits | Read | List commits in a GitHub repository. Supports filtering by branch (SHA), file path, and author. |
integration__github__github_get_commit | github.github_get_commit | Read | Get detailed information about a specific commit, including author, committer, message, and file changes. |
integration__github__github_get_file_content | github.github_get_file_content | Read | Get the content of a file or directory from a GitHub repository. Returns base64-encoded content for files, or a listing for directories. |
integration__github__github_create_or_update_file | github.github_create_or_update_file | Write | Create a new file or update an existing file in a GitHub repository. For updates, the SHA of the existing file is required. Content should be provided as plain text (it will be base64-encoded automatically). |
integration__github__github_create_branch | github.github_create_branch | Write | Create a new branch in a GitHub repository. Requires a reference name (e.g. "refs/heads/my-feature") and the SHA of the commit to branch from. |
integration__github__github_list_branches | github.github_list_branches | Read | List branches in a GitHub repository. Returns branch names and the SHA of each branch's latest commit. |
integration__github__github_list_releases | github.github_list_releases | Read | List releases in a GitHub repository. Returns release tag, title, body, draft/prerelease status, and assets. |
integration__github__github_create_release | github.github_create_release | Write | Create a new release in a GitHub repository. Requires a tag name. Optionally set target commit, release name, body, draft, and prerelease flags. |
integration__github__github_search_issues | github.github_search_issues | Read | Search for issues and pull requests across all of GitHub. Supports GitHub search syntax like "repo:owner/repo is:issue is:open label:bug". |
integration__github__github_get_current_user | github.github_get_current_user | Read | Get the authenticated GitHub user's profile information, including username, name, email, bio, public repos count, and more. |
integration__github__github_create_gist | github.github_create_gist | Write | Create a new GitHub gist. Provide a description, a map of filenames to their content, and whether the gist should be public or secret. |
integration__github__github_list_workflow_runs | github.github_list_workflow_runs | Read | List GitHub Actions workflow runs for a repository. Supports filtering by status (completed, in_progress, queued, etc.). |
integration__github__github_dispatch_workflow | github.github_dispatch_workflow | Write | Trigger a GitHub Actions workflow dispatch event. The workflow must have a "workflow_dispatch" trigger in its YAML configuration. Requires the workflow ID or filename and a ref (branch or tag). |