Manage GitHub repositories, issues, PRs, Projects V2 boards, and workflows directly from Kiro IDE using natural language. This Power wraps the official GitHub MCP Server and adds automated workflows via hooks and steering files.
- 71 tools — repos, issues, PRs, Projects V2, code search, security alerts, notifications, Actions, discussions, and more
- GitHub Projects V2 — list projects, add items, move between columns (Todo → In Progress → Done)
- PR comment auto-respond — analyze and reply to review comments automatically
- AIDLC integration — sync specs to issues, update board status on task completion
- Guided workflows — steering files for project setup, issue management, and board management
- Zero custom code — uses GitHub's official pre-built Docker image, maintained by GitHub
| Requirement | Why | Install |
|---|---|---|
| Kiro IDE | Runs the Power | Download |
| Docker Desktop | Runs the official GitHub MCP Server | Download |
| GitHub PAT | Authenticates API calls | Create one |
repo— Full repository accessproject— GitHub Projects V2 read/writeread:org— Organization project access
git clone https://github.com/<your-org>/kiro-powers-github.git
cd kiro-powers-githubAdd your token to your shell profile (required for Kiro to pass it to Docker):
echo 'export GITHUB_TOKEN="ghp_your_token_here"' >> ~/.zshrc
source ~/.zshrcImportant: The token must be in your shell environment, not just a
.envfile. Kiro resolves${GITHUB_TOKEN}from the environment when spawning the Docker container.
Ensure Docker is running. On first use, the image is pulled automatically (~50MB):
docker pull ghcr.io/github/github-mcp-server- Open Kiro IDE
- Open the Powers panel (sidebar)
- Click "Add power from Local Path"
- Select the
kiro-powers-github/directory - The MCP server connects automatically
In Kiro chat, type: "Who am I on GitHub?"
You should see your GitHub username returned. If not, see Troubleshooting.
Just talk to Kiro in natural language:
Show my open PRs
Create an issue titled "Add retry logic" in my-org/my-repo
List projects for my-org
Move issue #24 to "In Progress" on the Kiro E2E Validation Board
Respond to unanswered comments on my current PR
Show code scanning alerts for my repo
The steering files instruct Kiro to detect your organization automatically using get_teams and default to org-level project lookups. If you need to work with personal projects, specify explicitly:
List my personal projects
Why? GitHub Projects V2 separates user and org namespaces. Without specifying
owner_type: "org", the API searches personal projects only — which won't find org-level boards. The steering files handle this automatically by detecting your org first.
Kiro IDE → spawns Docker container → official GitHub MCP Server (stdio)
↓
GitHub REST + GraphQL APIs
The Power runs ghcr.io/github/github-mcp-server with GITHUB_TOOLSETS=all to enable all 71 tools including Projects V2. Communication happens over stdin/stdout (MCP stdio transport). No network ports, no custom server code.
| Category | Key Tools |
|---|---|
| Projects V2 | projects_list, projects_get, projects_write (add items, update fields, move status) |
| Issues | issue_write (create/update), issue_read, list_issues, search_issues, add_issue_comment |
| Pull Requests | pull_request_read (get, diff, files, comments, reviews, status), create_pull_request, merge_pull_request, update_pull_request |
| Code Reviews | pull_request_review_write, add_comment_to_pending_review, add_reply_to_pull_request_comment |
| Repositories | create_repository, get_file_contents, push_files, create_or_update_file, get_repository_tree |
| Branches & Tags | create_branch, list_branches, list_tags |
| Commits | get_commit, list_commits |
| Code Search | search_code, search_repositories |
| Actions | actions_list, actions_get, actions_run_trigger, get_job_logs |
| Security | list_code_scanning_alerts, list_secret_scanning_alerts, list_dependabot_alerts |
| Discussions | list_discussions, get_discussion, get_discussion_comments |
| Copilot | assign_copilot_to_issue, request_copilot_review |
| Users & Teams | get_me, search_users, get_teams, get_team_members |
| Hook | Trigger | What it does |
|---|---|---|
pr-auto-respond |
Manual (click) | Detects repo/branch, finds PR, responds to unanswered review comments |
pr-comment-responder |
Manual (click) | Same with fallback for any PR |
pr-status |
Manual (click) | Shows status of all open PRs |
aidlc-sync |
After task completion | Updates project board when AIDLC tasks complete |
spec-to-issues |
Manual (click) | Creates GitHub issues from AIDLC user stories |
kiro-powers-github/
├── POWER.md # Power metadata and onboarding instructions
├── README.md # This file
├── mcp.json # MCP server config (official GitHub MCP via Docker)
├── steering/
│ ├── project-setup.md
│ ├── issue-management.md
│ └── board-management.md
└── hooks/
├── pr-auto-respond.kiro.hook
├── pr-comment-responder.kiro.hook
├── aidlc-sync.kiro.hook
├── pr-status.kiro.hook
└── spec-to-issues.kiro.hook
- Is Docker running? →
docker psshould work - Can you pull the image? →
docker pull ghcr.io/github/github-mcp-server - Is
GITHUB_TOKENin your environment? →echo $GITHUB_TOKENshould show your token - Did you restart Kiro after adding the token to
~/.zshrc?
- Token expired → regenerate at https://github.com/settings/tokens
- Token not in environment → add
export GITHUB_TOKEN="ghp_..."to~/.zshrc, then restart Kiro - Wrong scopes → ensure
repo,project,read:orgare enabled
- Ensure your PAT has the
projectscope - Use
owner_type: "org"when working with organization projects
- This can happen if Docker Desktop goes to sleep. Keep Docker running while using Kiro.
- Reconnect from the MCP Servers panel (right-click → Reconnect)
For new team members setting up this Power:
- Install Docker Desktop and ensure it's running
- Create a GitHub PAT with scopes:
repo,project,read:org - Add token to shell:
echo 'export GITHUB_TOKEN="ghp_..."' >> ~/.zshrc && source ~/.zshrc - Clone this repo:
git clone https://github.com/<your-org>/kiro-powers-github.git - Pre-pull Docker image:
docker pull ghcr.io/github/github-mcp-server - Open Kiro → Powers panel → "Add power from Local Path" → select the cloned directory
- Verify: type "Who am I on GitHub?" in Kiro chat
Total setup time: ~5 minutes.
MIT