productivity
GitHub MCP Integration for LangChain
Connect GitHub to LangChain through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect GitHub to LangChain
Bridge LangChain agents to local KosmoKrator integration tools through MCP or headless CLI calls.
Use the MCP gateway when the agent should discover tools, or wrap kosmo integrations:call for fixed chains. The gateway is local, scoped to this integration, and starts with
--write=deny so LangChain can inspect read-capable tools without receiving write access by default.
GitHub MCP Config for LangChain
Keep the gateway scoped to the integration and operation class needed by the chain.
{
"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 LangChain
LangChain 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). |