← 输入框|github.com|刷新
Skip to content

api | web | docs: list github installations and repositories over mcp - #26

Merged
yekta merged 1 commit into
masterfrom
feat/list-github-installations
Oct 17, 2026
Merged

yekta merged 1 commit into
masterfrom
feat/list-github-installations

Conversation

@yekta

@yekta yekta commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

Resolves UNB-414. create-service needs a github_installation_id, but installations couldn't be listed over the API or MCP. Until now, agents had to read the id straight from the database.

What changes

  • list-github-installations, list-github-repositories and get-github-repository now accept API keys and are MCP tools. Agents can find the installation and repository to pass to create-service. Connecting, sharing and removing GitHub apps still requires a browser session.
  • GitHub reads and service creation are now scoped to a team_id. A connection can be used in a team only when it belongs to the caller, is shared with that team or is shared with all teams. Before this, a connection shared with one of the caller's teams could build services in any of their other teams.
  • Installation service counts only include services in the requested team.
  • The web client sends the team with these queries.
  • The docs, the MCP instructions and the github_installation_id field description explain how to choose an installation and repository.

Breaking for API clients

  • Operation IDs are renamed: list-app-installations → list-github-installations, list-repositories → list-github-repositories, repo-detail → get-github-repository.
  • team_id is now a required query parameter on these endpoints and on repo-watch-path-suggestions.

Tests

New handler tests cover:

  • Installations follow the requested team, including connections shared with all teams.
  • A connection shared with one team is not usable in another of the caller's teams.
  • API keys only see installations in their own teams, including keys limited to a project.

A new repository test covers TeamAppVisibility. Existing GitHub handler tests now pass a team_id.

- list-github-installations, list-github-repositories and get-github-repository now accept API keys and are exposed as MCP tools. Agents can find the github_installation_id that create-service needs without reading the database. Connecting, sharing and removing GitHub apps still requires a browser session.
- GitHub reads and service creation are now scoped to a team_id. A connection is usable in a team only when it belongs to the caller, is shared with that team or is shared with all teams. Before this, a connection shared with one of the caller's teams could build services in any of their other teams.
- Installation service counts are now limited to the requested team.
- The web client passes the team to these queries.
- The docs and the MCP instructions explain how to pick an installation and repository.
@yekta
yekta merged commit 402ea74 into master Oct 17, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant