Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
1decd77
remove claude web
tommaso-moro Dec 24, 2025
43bea59
Change list workflow runs to allow empty resource id to list all runs…
mattdholloway Dec 29, 2025
73a8f98
build(deps): bump actions/github-script from 7 to 8
dependabot[bot] Dec 29, 2025
af5a6df
Update README.md to hyperlink Open AI Codex installation guide
s-sanjay Dec 28, 2025
587d829
docs: add Docker image name to Prerequisites section
majiayu000 Dec 30, 2025
953d26f
fix: use gh pr checkout to handle fork PRs in license-check workflow
Copilot Dec 31, 2025
2cc6911
refactor: use consistent snake_case for issue_number parameter
majiayu000 Dec 30, 2025
30712de
docs: regenerate README after parameter rename
majiayu000 Dec 31, 2025
762845a
Add API Error annotations to GitHub issue errors (#1566)
omgitsads Jan 2, 2026
92bdc28
add docs for Rovo Dev CLI installation
atinylittleshell Aug 13, 2025
116c574
fix: filterToolsByName returns all matching tools for feature flag fi…
majiayu000 Jan 1, 2026
cac11f2
exclude tools requiring ff from docs
mattdholloway Jan 2, 2026
6f7bf27
refactor docs toolset gen
mattdholloway Jan 2, 2026
67f3427
Update cmd/github-mcp-server/generate_docs.go
mattdholloway Jan 2, 2026
905a08f
Update cmd/github-mcp-server/generate_docs.go
mattdholloway Jan 2, 2026
2b352ab
Improvements to push_files tool (#1676)
almaleksia Jan 5, 2026
eb6db0f
Add scopes package and update ServerTool struct with scope fields
Copilot Dec 23, 2025
1e5931a
Update most tools with OAuth scope information
Copilot Dec 23, 2025
db9f4e8
Complete OAuth scope implementation for all tools
Copilot Dec 23, 2025
db179be
Simplify scope implementation per feedback
Copilot Dec 23, 2025
c765101
refresh readme after rebase
SamMorrowDrums Jan 5, 2026
7796c08
Add scope hierarchy and auto-derive accepted scopes
SamMorrowDrums Jan 5, 2026
3d1ae30
refres readme after update
SamMorrowDrums Jan 5, 2026
df9fc6a
Use repo scope for star/unstar tools instead of public_repo
SamMorrowDrums Jan 5, 2026
cec5a1a
Fix conflict and regenerate docs after rebase
SamMorrowDrums Jan 5, 2026
48744ca
Sort scope slices for deterministic output
SamMorrowDrums Jan 5, 2026
46b8cb6
Add PAT scope filtering for stdio server
SamMorrowDrums Jan 5, 2026
a19a159
Enable scope filtering by default
SamMorrowDrums Jan 5, 2026
f45b94a
Make scope filtering always enabled (remove flag)
SamMorrowDrums Jan 5, 2026
8afb4fb
Only check scopes for classic PATs (ghp_ prefix)
SamMorrowDrums Jan 5, 2026
39fed35
Remove manual scope-to-tools table from docs
SamMorrowDrums Jan 5, 2026
c2450ce
Update pkg/scopes/filter.go
SamMorrowDrums Jan 5, 2026
acd7929
Document that GitHub App and server-to-server tokens are not filtered
SamMorrowDrums Jan 5, 2026
f14f507
Add tip about editing PAT scopes in GitHub UI
SamMorrowDrums Jan 5, 2026
4deaa83
Remove empty filter.go and document OAuth scope challenges
SamMorrowDrums Jan 5, 2026
9aef435
Fix server-configuration.md scope filtering description
SamMorrowDrums Jan 5, 2026
c809766
Mention OAuth scope challenges in server-configuration.md
SamMorrowDrums Jan 5, 2026
c428f72
Don't filter read-only repo tools (work on public repos without scope)
SamMorrowDrums Jan 5, 2026
7d4a4a6
Document public repo access quirk for read-only tools
SamMorrowDrums Jan 5, 2026
80b0306
Replace go-github-mock with stretchr/testify for actions/issues/proje…
Copilot Jan 6, 2026
66a0164
initial projects consolidation
mattdholloway Dec 31, 2025
3cd0be2
update tool aliases
mattdholloway Dec 31, 2025
304f074
hold-bac feature flag
mattdholloway Jan 5, 2026
7b30c93
update docs
mattdholloway Jan 5, 2026
099f995
revert "hold-bac feature flag"
mattdholloway Jan 5, 2026
be5a449
fix project tools to add scope to newtool init
mattdholloway Jan 5, 2026
a57b472
add http resp code checking for getProjectItem
mattdholloway Jan 6, 2026
71862a9
update tests to use new mock pattern
mattdholloway Jan 6, 2026
ab23070
Update command instructions for terminal usage
floriangrousset Oct 25, 2025
cc9e864
Fix nil pointer dereference in completion handler
SamMorrowDrums Jan 7, 2026
f2ff9d2
updated (#1756)
tommaso-moro Jan 8, 2026
ee8f4e6
Add list-scopes command using inventory architecture
Copilot Jan 6, 2026
d2df189
Add list_scopes.go implementation file
Copilot Jan 6, 2026
cd75b9b
Refactor formatToolsetName to shared helper function
Copilot Jan 6, 2026
33014a6
Add helpers.go with shared formatToolsetName function
Copilot Jan 6, 2026
ff0e67e
Add formatScopeDisplay helper and improve empty scope handling
Copilot Jan 6, 2026
e335503
Update Claude Code installation command to use add-json format for v2…
Copilot Jan 8, 2026
c061804
Use default scope in examples and clarify --scope flag is optional
Copilot Jan 8, 2026
b1ab893
bug fix (#1775)
tommaso-moro Jan 9, 2026
44d9e13
Bringing back local mcp server registry config (#1767)
almaleksia Jan 9, 2026
8058d30
Update automation to use toolset IDs instead of display names
Copilot Jan 10, 2026
676956f
Fix resource handler to use deps from context
SamMorrowDrums Jan 9, 2026
53a6720
fix: keep all resources registered for resources/read requests
SamMorrowDrums Jan 12, 2026
c44ce2e
chore: remove unused filterResourcesByURI function
SamMorrowDrums Jan 12, 2026
88d117b
Add base_ref support to assign_copilot_to_issue tool
Copilot Jan 10, 2026
d18f26e
Add GraphQL-Features header support for agent assignment API
Copilot Jan 12, 2026
f62ff63
Regenerate documentation TOCs
SamMorrowDrums Jan 12, 2026
31b541e
chore: remove binary files
alexandear Jan 12, 2026
87a1110
Implement recursive JSON key sorting for toolsnaps
Copilot Jan 15, 2026
0bf791a
Regenerate toolsnaps with deterministic sorting
Copilot Jan 15, 2026
3ea9bfc
Add test for struct field ordering in toolsnaps
Copilot Jan 15, 2026
19beb33
Bug fix: invalid tool should error out (#1776)
tommaso-moro Jan 15, 2026
d88eb83
Add custom_instructions parameter to assign_copilot_to_issue tool
Copilot Jan 13, 2026
ccf5191
Fix dismiss_notification to accept HTTP 204 No Content response
Copilot Jan 16, 2026
3af1129
adding feature flag on dependency level (#1801)
tonytrg Jan 16, 2026
09adfc7
feat: poll for linked PR after assigning Copilot to issue
SamMorrowDrums Jan 14, 2026
bece2b5
fix: filter PRs by timestamp to avoid returning stale results
SamMorrowDrums Jan 14, 2026
92d8d51
fix: remove tool name reference from pending note message
SamMorrowDrums Jan 14, 2026
d3ff0a2
fix: address review feedback
SamMorrowDrums Jan 14, 2026
f1d33d5
refactor: use GraphQLFeaturesTransport internally
SamMorrowDrums Jan 14, 2026
a663a6b
feat: add progress notifications during PR polling in assign_copilot_…
SamMorrowDrums Jan 16, 2026
7c053f1
Add default label to all new issues (#1828)
JoannaaKL Jan 16, 2026
950b1eb
build(deps): bump github.com/go-viper/mapstructure/v2 from 2.4.0 to 2…
dependabot[bot] Jan 19, 2026
e81f120
Add tool search CLI (#1839)
JoannaaKL Jan 19, 2026
fc079ee
Build full package in Dockerfile to include all commands (#1844)
SamMorrowDrums Jan 20, 2026
dbf983e
Add -t option to docker run command
JoannaaKL Jan 20, 2026
64752fd
Update README.md
JoannaaKL Jan 20, 2026
238b143
initial OSS insiders docs (#1857)
mattdholloway Jan 22, 2026
eaaf1ea
Update consolidated projects tools: make owner_type optional and fix …
Copilot Jan 12, 2026
5e5ff27
Address PR review feedback
SamMorrowDrums Jan 16, 2026
5fd65a2
ci: use mcp-conformance-action for conformance tests
SamMorrowDrums Jan 16, 2026
a70165b
fix: use correct action input names
SamMorrowDrums Jan 16, 2026
c09815f
fix: address review feedback
SamMorrowDrums Jan 16, 2026
21eff0b
fix: update action SHA to include subshell fix
SamMorrowDrums Jan 16, 2026
fbfc025
fix: update action SHA to include stderr logging
SamMorrowDrums Jan 16, 2026
6f2f155
chore: use immutable semver tag v1.4.0
SamMorrowDrums Jan 16, 2026
148d51f
chore: update mcp-conformance-action to v1.4.1
SamMorrowDrums Jan 16, 2026
d074f7f
chore: update mcp-conformance-action to v1.4.2
SamMorrowDrums Jan 16, 2026
aec726b
chore: update mcp-conformance-action to v1.4.3
SamMorrowDrums Jan 16, 2026
5ab8874
chore: update mcp-conformance-action to v1.4.4
SamMorrowDrums Jan 16, 2026
bd541e3
chore: update mcp-conformance-action to v1.4.6
SamMorrowDrums Jan 16, 2026
2c2613c
ci: update to mcp-conformance-action@v2.0.0
SamMorrowDrums Jan 16, 2026
a236b66
chore: update conformance action to v2.0.1 with transport fix
SamMorrowDrums Jan 16, 2026
e1cde28
chore: update conformance action to v2.0.2 with Zod schema fix
SamMorrowDrums Jan 16, 2026
4bbd84e
ci: upgrade mcp-conformance-action to v2.2.0
SamMorrowDrums Jan 17, 2026
f244b8a
chore: update mcp-conformance-action to v2.3.0
SamMorrowDrums Jan 17, 2026
f850ce3
chore: update mcp-conformance-action to v2.3.2
SamMorrowDrums Jan 17, 2026
55d22d8
chore: update mcp-conformance-action to v2 for security fixes
SamMorrowDrums Jan 18, 2026
adfd83b
Rename to mcp-diff.yml (action renamed to mcp-server-diff)
SamMorrowDrums Jan 20, 2026
e559a36
Rename workflow for mcp-server-diff action
SamMorrowDrums Jan 20, 2026
afc2396
Fix mcp-diff workflow triggers
SamMorrowDrums Jan 22, 2026
15e66b3
Generate server instructions in Inventory (#1869)
tommaso-moro Jan 23, 2026
0a62aab
default to consolidated actions/projects toolsets and add hold back flag
mattdholloway Jan 26, 2026
8287d5f
update docs
mattdholloway Jan 26, 2026
c7c0ee6
docs update (2)
mattdholloway Jan 26, 2026
1410dc1
chore: remove unused github.com/fatih/color
alexandear Jan 23, 2026
b1d4aa3
chore: workaround LF for Windows
alexandear Jan 23, 2026
51745c5
Fix typo in OpenAI Codex installation guide link
leereilly Jan 24, 2026
7569d5c
Update Go version requirement in mcpcurl to 1.24
alexandear Jan 13, 2026
0caa265
docs: add Windows notes for Claude MCP HTTP setup
loktar00 Jan 22, 2026
60a8c21
remove old flags
mattdholloway Jan 26, 2026
7af51a0
adding correct insiders-mode name
tonytrg Jan 26, 2026
a4670b0
fix naming
tonytrg Jan 26, 2026
40e21ec
Fix generateInstructions to use only enabled toolsets
SamMorrowDrums Jan 26, 2026
e2640de
Update mcp-server-diff action to v2.2.0
SamMorrowDrums Jan 26, 2026
b1a2b74
Add more toolset configurations to mcp-diff workflow
SamMorrowDrums Jan 26, 2026
53a5f60
build(deps): bump SamMorrowDrums/mcp-server-diff from 2.2.0 to 2.3.5
dependabot[bot] Jan 26, 2026
51fc176
build(deps): bump golang from 1.25.4-alpine to 1.25.6-alpine
dependabot[bot] Jan 26, 2026
a1e82e7
add line length truncate buffer
mattdholloway Jan 26, 2026
4bb1ba9
consolidate buffer logic
mattdholloway Jan 26, 2026
47412e5
Refactor buffer processing for clarity and add edge case tests
SamMorrowDrums Jan 27, 2026
fb9cceb
docs: add Copilot CLI installation guide
GeekTrainer Jan 27, 2026
4bb9691
Update docs/installation-guides/install-copilot-cli.md
GeekTrainer Jan 27, 2026
1820a0f
Apply suggestion from @GeekTrainer
GeekTrainer Jan 27, 2026
9fcf932
adding trailing slash to uploads url (#1947)
tonytrg Feb 3, 2026
fb53abd
replace context.Background() (#1948)
kerobbi Feb 3, 2026
5aae851
Initial plan
Copilot Feb 3, 2026
bfcd9ad
Merge main into copilot/sub-pr-1681 and resolve conflicts
Copilot Feb 3, 2026
de467d4
Remove leftover conflict markers from actions.go
Copilot Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions .github/workflows/ai-issue-assessment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ on:

jobs:
ai-issue-assessment:
if: >
(github.event.action == 'opened' && github.event.issue.labels[0] == null) ||
(github.event.action == 'labeled' && github.event.label.name == 'bug')
runs-on: ubuntu-latest
permissions:
issues: write
Expand All @@ -23,8 +20,8 @@ jobs:
uses: github/ai-assessment-comment-labeler@e3bedc38cfffa9179fe4cee8f7ecc93bffb3fee7 # v1.0.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
ai_review_label: 'bug, enhancement'
ai_review_label: "request ai review"
issue_number: ${{ github.event.issue.number }}
issue_body: ${{ github.event.issue.body }}
prompts_directory: '.github/prompts'
labels_to_prompts_mapping: 'bug,bug-report-review.prompt.yml|default,default-issue-review.prompt.yml'
prompts_directory: ".github/prompts"
labels_to_prompts_mapping: "bug,bug-report-review.prompt.yml|default,default-issue-review.prompt.yml"
69 changes: 0 additions & 69 deletions .github/workflows/conformance.yml

This file was deleted.

12 changes: 10 additions & 2 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ jobs:
runs-on: ${{ matrix.os }}

steps:
- name: Force git to use LF
# This step is required on Windows to work around go mod tidy -diff issues caused by CRLF line endings.
# TODO: replace with a checkout option when https://github.com/actions/checkout/issues/226 is implemented
if: runner.os == 'Windows'
run: |
git config --global core.autocrlf false
git config --global core.eol lf

- name: Check out code
uses: actions/checkout@v6

Expand All @@ -22,8 +30,8 @@ jobs:
with:
go-version-file: "go.mod"

- name: Download dependencies
run: go mod download
- name: Tidy dependencies
run: go mod tidy -diff

- name: Run unit tests
run: script/test
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/issue-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Label issues for AI review
on:
issues:
types:
- reopened
- opened
jobs:
label_issues:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Add AI review label to issue
run: gh issue edit "$NUMBER" --add-label "$LABELS"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.issue.number }}
LABELS: "request ai review"
12 changes: 8 additions & 4 deletions .github/workflows/license-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,12 @@ jobs:
steps:
- name: Check out code
uses: actions/checkout@v6
with:
ref: ${{ github.head_ref }}

# Check out the actual PR branch so we can push changes back if needed
- name: Check out PR branch
env:
GH_TOKEN: ${{ github.token }}
run: gh pr checkout ${{ github.event.pull_request.number }}

- name: Set up Go
uses: actions/setup-go@v6
Expand Down Expand Up @@ -63,7 +67,7 @@ jobs:
- name: Check if already commented
if: steps.changes.outcome == 'failure' && steps.push.outcome == 'failure'
id: check_comment
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
const { data: comments } = await github.rest.issues.listComments({
Expand All @@ -81,7 +85,7 @@ jobs:

- name: Comment with instructions if cannot push
if: steps.changes.outcome == 'failure' && steps.push.outcome == 'failure' && steps.check_comment.outputs.already_commented == 'false'
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
await github.rest.issues.createComment({
Expand Down
72 changes: 72 additions & 0 deletions .github/workflows/mcp-diff.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: MCP Server Diff

on:
pull_request:
push:
branches: [main]
tags: ['v*']

permissions:
contents: read

jobs:
mcp-diff:
runs-on: ubuntu-latest

steps:
- name: Check out code
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Run MCP Server Diff
uses: SamMorrowDrums/mcp-server-diff@v2.3.5
with:
setup_go: "true"
install_command: go mod download
start_command: go run ./cmd/github-mcp-server stdio
env_vars: |
GITHUB_PERSONAL_ACCESS_TOKEN=test-token
configurations: |
[
{"name": "default", "args": ""},
{"name": "read-only", "args": "--read-only"},
{"name": "dynamic-toolsets", "args": "--dynamic-toolsets"},
{"name": "read-only+dynamic", "args": "--read-only --dynamic-toolsets"},
{"name": "toolsets-repos", "args": "--toolsets=repos"},
{"name": "toolsets-issues", "args": "--toolsets=issues"},
{"name": "toolsets-context", "args": "--toolsets=context"},
{"name": "toolsets-pull_requests", "args": "--toolsets=pull_requests"},
{"name": "toolsets-repos,issues", "args": "--toolsets=repos,issues"},
{"name": "toolsets-issues,context", "args": "--toolsets=issues,context"},
{"name": "toolsets-all", "args": "--toolsets=all"},
{"name": "tools-get_me", "args": "--tools=get_me"},
{"name": "tools-get_me,list_issues", "args": "--tools=get_me,list_issues"},
{"name": "toolsets-repos+read-only", "args": "--toolsets=repos --read-only"},
{"name": "toolsets-all+dynamic", "args": "--toolsets=all --dynamic-toolsets"},
{"name": "toolsets-repos+dynamic", "args": "--toolsets=repos --dynamic-toolsets"},
{"name": "toolsets-repos,issues+dynamic", "args": "--toolsets=repos,issues --dynamic-toolsets"},
{
"name": "dynamic-tool-calls",
"args": "--dynamic-toolsets",
"custom_messages": [
{"id": 10, "name": "list_toolsets_before", "message": {"jsonrpc": "2.0", "id": 10, "method": "tools/call", "params": {"name": "list_available_toolsets", "arguments": {}}}},
{"id": 11, "name": "get_toolset_tools", "message": {"jsonrpc": "2.0", "id": 11, "method": "tools/call", "params": {"name": "get_toolset_tools", "arguments": {"toolset": "repos"}}}},
{"id": 12, "name": "enable_toolset", "message": {"jsonrpc": "2.0", "id": 12, "method": "tools/call", "params": {"name": "enable_toolset", "arguments": {"toolset": "repos"}}}},
{"id": 13, "name": "list_toolsets_after", "message": {"jsonrpc": "2.0", "id": 13, "method": "tools/call", "params": {"name": "list_available_toolsets", "arguments": {}}}}
]
}
]

- name: Add interpretation note
if: always()
run: |
echo "" >> $GITHUB_STEP_SUMMARY
echo "---" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "ℹ️ **Note:** Differences may be intentional improvements." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "Common expected differences:" >> $GITHUB_STEP_SUMMARY
echo "- New tools/toolsets added" >> $GITHUB_STEP_SUMMARY
echo "- Tool descriptions updated" >> $GITHUB_STEP_SUMMARY
echo "- Capability changes (intentional improvements)" >> $GITHUB_STEP_SUMMARY
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ bin/

# binary
github-mcp-server
mcpcurl
e2e.test

.history
conformance-report/
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.25.4-alpine AS build
FROM golang:1.25.6-alpine AS build
ARG VERSION="dev"

# Set the working directory
Expand All @@ -14,7 +14,7 @@ RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
--mount=type=bind,target=. \
CGO_ENABLED=0 go build -ldflags="-s -w -X main.version=${VERSION} -X main.commit=$(git rev-parse HEAD) -X main.date=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
-o /bin/github-mcp-server cmd/github-mcp-server/main.go
-o /bin/github-mcp-server ./cmd/github-mcp-server

# Make a stage to run the app
FROM gcr.io/distroless/base-debian12
Expand Down
Loading