productivity
GitHub MCP Integration for Vercel AI SDK
Connect GitHub to Vercel AI SDK through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect GitHub to Vercel AI SDK
Use KosmoKrator as a local integration gateway for Vercel AI SDK agents and scripts.
Create an MCP client that starts or connects to the KosmoKrator gateway for the selected integration. The gateway is local, scoped to this integration, and starts with
--write=deny so Vercel AI SDK can inspect read-capable tools without receiving write access by default.
GitHub MCP Config for Vercel AI SDK
Prefer CLI JSON calls when a workflow only needs one deterministic integration operation.
{
"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 Vercel AI SDK
Vercel AI SDK 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). |