KosmoKrator

productivity

GitHub MCP Integration for LangGraph

Connect GitHub to LangGraph through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.

30 functions 16 read 14 write API key auth

Connect GitHub to LangGraph

Run KosmoKrator integration calls from LangGraph nodes while preserving local credentials and permissions.

Use a graph node that calls the KosmoKrator CLI for deterministic steps or an MCP client for dynamic tool selection. The gateway is local, scoped to this integration, and starts with --write=deny so LangGraph can inspect read-capable tools without receiving write access by default.

GitHub MCP Config for LangGraph

Headless CLI calls fit repeatable graph edges; MCP fits exploratory agent nodes.

{
  "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

Scoped tools

Expose only GitHub instead of a broad multi-service tool list.

Local credentials

Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.

Write policy

Start read-only, then opt into ask or allow for trusted workspaces.

GitHub Tools Visible to LangGraph

LangGraph sees stable MCP tool names generated from the GitHub integration catalog.

MCP toolSource functionTypeDescription
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).

Related GitHub Pages