Skip to content

DeletePatch 1 #710

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 289 commits into
base: repo-resource
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
289 commits
Select commit Hold shift + click to select a range
5f3926d
add support for create_pull_request (#63)
juruen Apr 1, 2025
80ccf1b
docs: add license section to readme (#65)
toby Apr 1, 2025
1608ce2
fix: don't lint markdown (#67)
toby Apr 1, 2025
b3a3d15
fix: run lint in all circumstances (#68)
SamMorrowDrums Apr 1, 2025
b2503f3
chore: repository resource tests (#69)
mntlty Apr 2, 2025
73ce058
chore: go releaser (#71)
SamMorrowDrums Apr 3, 2025
a14e982
remove licences from the goreleaser step (#72)
SamMorrowDrums Apr 3, 2025
fa8c23a
add ld flags so version is included in docker releases (#73)
SamMorrowDrums Apr 3, 2025
5c6f43d
chore: set build arg for publishing version (#74)
SamMorrowDrums Apr 3, 2025
367f8d4
chore: correct build arg syntax (#75)
SamMorrowDrums Apr 3, 2025
559b3ff
chore: update deps (#76)
SamMorrowDrums Apr 3, 2025
bb56733
chore: document latest tag rather than main (#77)
SamMorrowDrums Apr 3, 2025
0e91067
pull request and bug report template (#84)
mntlty Apr 3, 2025
b083631
address pull request feedback (#87)
mntlty Apr 3, 2025
d01e705
Use arrays rather than comma separated lists
williammartin Apr 3, 2025
6b13742
Enumerate strings in schema
williammartin Apr 3, 2025
87d4407
Add boundaries to pagination
williammartin Apr 3, 2025
9e2b1f0
speed up docker builds (#92)
mntlty Apr 3, 2025
e267a3c
assert request params (#94)
juruen Apr 4, 2025
ca1a8f9
assert request params and body (#95)
juruen Apr 4, 2025
ccaedb6
assert params and body (#96)
juruen Apr 4, 2025
95c7b0a
Add missing milestone to create_issue (#88)
williammartin Apr 4, 2025
bdfb30c
assert query params (#97)
juruen Apr 4, 2025
07f6d11
Remove non-existent README property (#99)
williammartin Apr 4, 2025
26f9668
chore: support x-platform licence generation (#98)
SamMorrowDrums Apr 4, 2025
989c43f
Make JSONRPC easier in conformance tests
williammartin Apr 3, 2025
6f7458a
Conform list tools
williammartin Apr 3, 2025
6e132eb
Add optional string array param
williammartin Apr 4, 2025
b893367
VS Code install steps
digitarald Apr 4, 2025
92303d4
Fix VS Code inputs link (#103)
digitarald Apr 4, 2025
17e4bd4
add vscode launch configuration (#104)
mntlty Apr 4, 2025
1a6e33e
Make pre-requisites more scannable (#107)
chiedo Apr 4, 2025
6716423
Update CONTRIBUTING.md to fix link to LICENSE file (#109)
Jeffrey-Luszcz Apr 4, 2025
86b0dcd
feature request template (#115)
mntlty Apr 5, 2025
270bbf7
pretty print json (#114)
mntlty Apr 5, 2025
6b02799
fix issue with pagination in search_repositories (#129)
juruen Apr 5, 2025
e6b73f7
chore: add code scanning advanced setup yml
SamMorrowDrums Apr 7, 2025
c77ea94
Add support for retrieving GitHub Issue Comments (#106)
almostwhitehat Apr 7, 2025
31471a4
Add line parameter support to create_pull_request_review tool (#118)
ashwin-ant Apr 7, 2025
e4c2f58
Use github.Ptr instead of smithy-go/ptr (#147)
ohkinozomu Apr 7, 2025
755b816
pkg/github: fix use of per page parameter
AlexanderYastrebov Apr 6, 2025
a720700
Test issue search query params
williammartin Apr 7, 2025
0f9ef6e
Add pagination helper
williammartin Apr 7, 2025
ff896d0
Removed duplicated createIssue tool definition
kpumuk Apr 7, 2025
ff1f16e
Fix a typos in repository_resource.go
szepeviktor Apr 5, 2025
8a9f0b0
add script to pretty print server log (#146)
juruen Apr 7, 2025
7ab5d96
chore: pass version through to server
SamMorrowDrums Apr 7, 2025
9a40fd8
fix: correct spelling of 'license'
3mini Apr 7, 2025
973fb5d
chore: Remove unnecessary trailing periods from descriptions (#170)
mururu Apr 8, 2025
9a5fe11
chore: export code scanning funcs
SamMorrowDrums Apr 7, 2025
f4770fa
chore: export issues funcs
SamMorrowDrums Apr 7, 2025
c85dd07
chore: export pr funcs
SamMorrowDrums Apr 7, 2025
c1bdd6a
chore: export repository funcs
SamMorrowDrums Apr 7, 2025
3dae8ab
chore: export search funcs
SamMorrowDrums Apr 7, 2025
519ed9e
chore: export remaining search + helpers
SamMorrowDrums Apr 7, 2025
778b840
fix: enhance Docker publish workflow with additional tagging options
MayorFaj Apr 7, 2025
6b059c7
fix: update Docker publish workflow to correctly handle version tagging
MayorFaj Apr 7, 2025
35567c3
Update .github/workflows/docker-publish.yml
SamMorrowDrums Apr 8, 2025
3f62483
Update .github/workflows/docker-publish.yml
SamMorrowDrums Apr 8, 2025
923e1b0
Generate GitHub Artifact Attestations
suzuki-shunsuke Apr 8, 2025
4cf96ab
Indicate Go API stability in README
williammartin Apr 8, 2025
936b24c
remove pretty print json flag (#179)
mntlty Apr 8, 2025
56c1fce
feat: Add update_pull_request tool (#122)
monotykamary Apr 9, 2025
86fbc85
Fix handling nil values for optional string array parameters, (#194)
A-Georgiou Apr 9, 2025
3ec8699
chore: groundwork for multi-user to server
SamMorrowDrums Apr 9, 2025
7145142
docs: fix CODEOWNERS syntax (#184)
Juneezee Apr 10, 2025
651a3aa
Assume less (#214)
chiedo Apr 10, 2025
919a10c
Add tool for getting a single commit (includes stats, files) (#216)
jshorty Apr 11, 2025
3c18a34
Allow passing through server options (#218)
omgitsads Apr 11, 2025
01aefd3
Add ability to view branches for a repo #141 (#205)
aryasoni98 Apr 11, 2025
865f9bf
Prefer already-defined endpoint mock (#226)
jshorty Apr 11, 2025
8343fa5
chore:update CONTRIBUTING.md style guide link (#234)
omihirofumi Apr 12, 2025
6c05b40
Add tools for one-off PR comments and replying to PR review comments …
ashwin-ant Apr 12, 2025
9dacf70
chore: extend user agent
SamMorrowDrums Apr 12, 2025
bbba3bb
feat: pretty-print JSONL text responses in `mcpcurl` (#239)
simondanielsson Apr 12, 2025
62eed34
Clarify local build (#264)
rfearing Apr 14, 2025
ff3036d
feat: partition tools by product/feature
SamMorrowDrums Apr 8, 2025
ea19581
refactor: improve version output using SetVersionTemplate
joe-ton Apr 5, 2025
7eff904
chore: improve --version command
SamMorrowDrums Apr 15, 2025
b72a591
chore: use tabs not spaces
SamMorrowDrums Apr 15, 2025
4457d0a
Add missing enum constraints (#278)
tonytrg Apr 15, 2025
614f226
Add Tool Name property for List Code Scanning Alerts tool (#272)
Dylan-Rinker Apr 15, 2025
7c197f5
feat: Adding SecretScanning Toolset (#280)
tonytrg Apr 17, 2025
54bd5ec
Update CODEOWNERS to github-mcp-server team
williammartin Apr 17, 2025
22e4936
fix: update json schema for `create_pull_request_review` to make Open…
toby Apr 17, 2025
aa57315
chore: update readme for tool paritioning
SamMorrowDrums Apr 14, 2025
11b1828
Update README.md
SamMorrowDrums Apr 14, 2025
8991436
docs: update toolset copy
toby Apr 16, 2025
2cece8f
fix: incorrect env var in README.md
SamMorrowDrums Apr 17, 2025
495c0cb
chore: Update README.md to explain Agent mode will start the server (…
srt32 Apr 17, 2025
9fa582d
fix: use anyOf instead of nullable type array
toby Apr 21, 2025
3ca55bd
chore(deps): bump github.com/docker/docker
dependabot[bot] Apr 22, 2025
e6ed69b
chore(deps): bump github.com/mark3labs/mcp-go from 0.20.1 to 0.22.0
dependabot[bot] Apr 22, 2025
3de13fa
Update licenses with mcp-go 0.22.0 bump
williammartin Apr 22, 2025
cb8dfd1
Gitignore .vscode except launch.json
williammartin Apr 22, 2025
71b0075
Remove conformance tests
williammartin Apr 22, 2025
56b23c3
Add simple e2e test
williammartin Apr 22, 2025
a58937c
feat: provide tool annotations
SamMorrowDrums Apr 18, 2025
8fb4deb
fix: update params for search_users
warjiang Apr 22, 2025
7d4aa71
small doc change : fixing formatting in list of tool functions , insi…
divyanshvn Apr 19, 2025
be22f6e
Update README.md to remove mcp key
fuentesjr Apr 8, 2025
f8436ab
Add other example config snip
fuentesjr Apr 8, 2025
3134b09
Bump golang from 1.23.7 to 1.24.2
dependabot[bot] Apr 7, 2025
58387a2
Pre-reqs for docker use include auth to ghcr.io
ismith Apr 15, 2025
f7eff59
Update README.md
ismith Apr 24, 2025
33620e1
Build image only once in e2e tests
williammartin Apr 25, 2025
0c94731
Use functional options in e2e as prep for next test
williammartin Apr 25, 2025
4a39c03
Always initialize in e2e tests
williammartin Apr 25, 2025
f9427ab
Ensure toolsets are configurable via env var
williammartin Apr 25, 2025
4e26dce
Support e2e test parallelisation
williammartin Apr 25, 2025
a7d741c
fix: specify sha is required (#320)
crondinini Apr 29, 2025
866a791
feat: Add support for git tag operations
eranco74 Apr 24, 2025
09e1563
Test path params for tag tools
williammartin Apr 29, 2025
92d95e4
Add e2e test for tags
williammartin Apr 30, 2025
73c3b10
build(deps): bump github.com/mark3labs/mcp-go from 0.22.0 to 0.25.0
dependabot[bot] May 5, 2025
2ee6c4e
Update licenses for mcp-go bump to 0.25.0
williammartin May 6, 2025
e56c096
build(deps): bump github.com/migueleliasweb/go-github-mock
dependabot[bot] May 6, 2025
afc7a93
Extract ghmcp internal package
williammartin May 7, 2025
0ca07aa
Support breakpoint debugging e2e tests
williammartin May 7, 2025
29bf8bf
Optimize Docker build with bind mounts (#208)
Juneezee May 7, 2025
cea5c72
Include config example for `gh-host` flag
rajbos Apr 23, 2025
1571608
Update README.md
rajbos May 6, 2025
2218adf
Update README.md
rajbos May 6, 2025
5634add
Fix a typo (#385)
mntlty May 8, 2025
2d6e3dd
Change code fence to neutral ```console
codingoutloud May 9, 2025
205b619
feat: upgrade golangci-lint to v2 (#386)
radar07 May 12, 2025
bd6f90d
build(deps): bump golang from 1.24.2-alpine to 1.24.3-alpine
dependabot[bot] May 12, 2025
705b61b
build(deps): bump github.com/mark3labs/mcp-go from 0.25.0 to 0.27.0 (…
dependabot[bot] May 13, 2025
da2df71
feat: add DeleteFile tool to delete files from GitHub repositories (#…
ashwin-ant May 13, 2025
a563bd6
Add request_copilot_review tool with placeholder implementation
aryasoni98 May 12, 2025
2fb1be9
Support requesting copilot as a reviewer
williammartin May 12, 2025
6c3a964
Update README.md
williammartin May 13, 2025
a6d3c5e
Update pkg/github/pullrequests.go
williammartin May 13, 2025
7aced2b
Update pkg/github/tools.go
williammartin May 13, 2025
22d080b
fix: update `get_me` reason arg description
toby May 15, 2025
a3bf558
alter the description of get-me to reduce redundant repeat calls
SamMorrowDrums May 19, 2025
b7f4890
Update context_tools.go
SamMorrowDrums May 19, 2025
50043c3
enact second piece of copilot feedback
SamMorrowDrums May 19, 2025
eca853b
Split PR review creation, commenting, submission and deletion
williammartin Apr 25, 2025
045ecd3
feat: add `golangci-lint-action` to the `lint` workflow
radar07 May 16, 2025
2f8c287
chore: revert `go mod` check
radar07 May 19, 2025
4ccedee
build(deps): bump github.com/mark3labs/mcp-go from 0.27.0 to 0.28.0 (…
dependabot[bot] May 20, 2025
b9a06d0
Support assigning copilot to issues
williammartin May 20, 2025
5771908
feat: add GitHub notifications tools for managing user notifications
sridharavinash Apr 11, 2025
e9f748f
Add additional tools and tests for notifications
SamMorrowDrums May 19, 2025
414309c
Remove non-existent get_line_number_in_pull_request_file tool reference
TheoBrigitte May 25, 2025
d4a0764
Bump mcp-go to 0.30.0
williammartin May 26, 2025
11ea4e2
Remove test that can panic
williammartin May 27, 2025
7e026fc
Fix incorrect repo resource table test
williammartin May 27, 2025
023f59d
Use typed tool handler for get_me tool
williammartin May 28, 2025
c7a872b
Bump go-github to v72.0.0
radar07 May 30, 2025
63d3d8c
fix: use ENTRYPOINT and CMD for proper argument handling (#454)
JAORMX Jun 2, 2025
373b74e
Fix missing go-github v72 license bump
williammartin Jun 3, 2025
c2d5b43
build(deps): bump github.com/mark3labs/mcp-go from 0.30.0 to 0.31.0
dependabot[bot] Jun 3, 2025
8854b2a
Add GitHub Enterprise Cloud with data residency (ghe.com) to readme (…
malantin Jun 4, 2025
9dd6fc5
cleanup search_users response (#485)
SamMorrowDrums Jun 6, 2025
c17ebfe
chore: separate toolset creation from init and use typed error (#487)
SamMorrowDrums Jun 6, 2025
c141bf4
fix: move defaulted 'state' param after non-default params in list_co…
ph3t Jun 7, 2025
392df2d
docs: add `read-only` instruction to readme (#490)
radar07 Jun 7, 2025
cbcf29f
Export `ToBoolPtr` and `RequiredParam` (#495)
LuluBeatson Jun 9, 2025
fe31428
Add context toolset and adjust readme (#499)
SamMorrowDrums Jun 10, 2025
c423a52
Fix typo in README.md
jaril Jun 11, 2025
3e32f75
fix: use better raw file handling and return resources
SamMorrowDrums Jun 12, 2025
7ffbad4
docs: Update README.md
D1M1TR10S Jun 9, 2025
6d69797
docs: update host usage
toby Jun 12, 2025
853323d
Update README.md to prompt VS Code version update (#509)
D1M1TR10S Jun 12, 2025
dc94eaa
point to general updates page
tonytrg Jun 13, 2025
5e80be8
add clarification
tonytrg Jun 13, 2025
8562b1d
point to remote config docs (#513)
tonytrg Jun 13, 2025
e9926b9
Add a Remote MCP configuration example that employs a PAT (#514)
jww3 Jun 13, 2025
cdab131
Add missing tool descriptions (#515)
tonytrg Jun 16, 2025
5502afa
Update README.md
PierreGode Jun 17, 2025
bb24ec0
build(deps): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2…
dependabot[bot] Jun 17, 2025
41d1269
build(deps): bump golang from 1.24.3-alpine to 1.24.4-alpine (#496)
dependabot[bot] Jun 17, 2025
82fe310
Change reference from Anthropic to Github in README.md
dgiacomo Jun 17, 2025
1ddb78d
chore: fix e2e tests (#536)
tonytrg Jun 18, 2025
3e988d5
Add toolsnaps for every tool
williammartin Jun 18, 2025
2765d1d
Update toolsnap error message with actionable instruction
williammartin Jun 18, 2025
846fac6
Ensure UPDATE_TOOLSNAPS doesn't interfere with tests
williammartin Jun 18, 2025
7da11c2
docs: suggest shorter name for server
SamMorrowDrums Jun 18, 2025
da6476d
feat: add GitHub Actions tools for workflow management (#491)
gabornyergesX Jun 18, 2025
f51096d
build(deps): bump github.com/mark3labs/mcp-go from 0.31.0 to 0.32.0 (…
dependabot[bot] Jun 18, 2025
87a4770
Remove tool desc `add_pull_request_review_comment` and `create_pull_r…
andrewyk Jun 18, 2025
3fe88ee
Update feature_request.md
D1M1TR10S Jun 20, 2025
50cfb6d
get_file_contents accepts a ref instead of just branch
tonytrg Jun 20, 2025
b031f21
fix linter
tonytrg Jun 20, 2025
6fa8eaf
adding tests
tonytrg Jun 23, 2025
1528473
fix pr parsing
tonytrg Jun 23, 2025
b2901e1
changing desc symbols
tonytrg Jun 23, 2025
2711384
add ctx propagation to raw api call
kerobbi Jun 23, 2025
f631ff5
add author field to list_commits for filtering (#569)
davidbyttow Jun 24, 2025
21389a4
Add in an assign copilot prompt (#572)
SamMorrowDrums Jun 24, 2025
20afb0f
Adjust `create_or_update_file` description to try avoid incorrect sel…
williammartin Jun 24, 2025
36e6add
Return concrete error types for API errors
omgitsads Jun 12, 2025
f90ff16
move to new approach and update testing
SamMorrowDrums Jun 24, 2025
2a2df24
update tool snaps
SamMorrowDrums Jun 24, 2025
23b16cf
feat: add pagination support to get_pull_request_files tool (#561)
anant-rustagi Jun 25, 2025
acba284
cleanup search_users response (#486)
SamMorrowDrums Jun 26, 2025
5f92434
Add search pull requests tool
JoannaaKL Jun 26, 2025
805358b
Split pr and issue search
JoannaaKL Jun 26, 2025
8bd7152
Add repo and owner
JoannaaKL Jun 26, 2025
aaaff4f
Add underscore variant
JoannaaKL Jun 25, 2025
9e1d401
Remove unnecessary or
JoannaaKL Jun 25, 2025
76535ee
Bind
JoannaaKL Jun 25, 2025
ecc57ff
Update main.go
JoannaaKL Jun 26, 2025
0166ca5
Tidy
JoannaaKL Jun 26, 2025
96f0173
Fix linter error
JoannaaKL Jun 26, 2025
7f8d28e
add a new release workflow
SamMorrowDrums Jun 25, 2025
46089ed
improve release.yml to ensure that the ref is up-to-date
SamMorrowDrums Jun 26, 2025
5dc5bb7
Release process update (#587)
SamMorrowDrums Jun 26, 2025
b9a5f2c
fix bug in create PR code (#588)
SamMorrowDrums Jun 26, 2025
3deaca8
don't actually create a PR (#589)
SamMorrowDrums Jun 26, 2025
e2e2bbb
Delete .github/workflows/sync-next-branch.yml
SamMorrowDrums Jun 26, 2025
3539db8
Delete .github/workflows/pr-base-check.yml
SamMorrowDrums Jun 26, 2025
45d0270
Delete .github/workflows/release.yml
SamMorrowDrums Jun 26, 2025
798e674
collapse docs from readme (#580)
tonytrg Jun 27, 2025
e9c8b40
update documentation, add script and workflow
SamMorrowDrums Jun 27, 2025
4022ee5
add release script
SamMorrowDrums Jun 26, 2025
f291da0
Update script/tag-release
SamMorrowDrums Jun 27, 2025
05456fb
Update script/tag-release
JoannaaKL Jun 27, 2025
5904a03
Fix linting flow (#614)
JoannaaKL Jun 30, 2025
7c62774
Add tail logs option (#615)
JoannaaKL Jun 30, 2025
b44dee6
Add script to generate docs (#622)
JoannaaKL Jul 1, 2025
721fd3e
Add comment to trim lines (#621)
JoannaaKL Jul 1, 2025
7200939
add DS_Store to .gitignore (#626)
tommaso-moro Jul 2, 2025
39109b3
Add discussion tools (#624)
JoannaaKL Jul 2, 2025
6043bec
Cleanup (#628)
JoannaaKL Jul 2, 2025
f88456f
Update list commits tool description (#629)
JoannaaKL Jul 2, 2025
23f6f3a
Add Dependabot Alert Tools (#631)
LuluBeatson Jul 3, 2025
08a49b0
use WithPagination tool option (#632)
LuluBeatson Jul 3, 2025
6c0453a
omit site_admin from get_me output
LuluBeatson Jul 4, 2025
37d1ed6
return MinimalUser
LuluBeatson Jul 4, 2025
1d057c9
refactor: user get methods to avoid nil checks
LuluBeatson Jul 4, 2025
e43fca1
embed optional UserDetails in MinimalUser
LuluBeatson Jul 4, 2025
ea73047
fix: stale information in CONTRIBUTING.md
SamMorrowDrums Jul 4, 2025
fc11713
Updated links to MCP Specification in `docs/host-integration.md` (#641)
jww3 Jul 7, 2025
39d7fec
Update `list_commits` Filtering Descriptions (#634)
LuluBeatson Jul 7, 2025
3730b84
fix: get_discussion graphQL invalid field (#648)
LuluBeatson Jul 7, 2025
0cf70eb
Remove redundant param for get_me and update contribution guide (#649)
tonytrg Jul 7, 2025
3341e6b
Update `create_or_update_file` SHA Arg Description (#651)
LuluBeatson Jul 8, 2025
89bb928
Include Copilot coding agent tool on the remote GitHub MCP server (#656)
nhu-do Jul 9, 2025
42e5ce9
Tommy/(Bug-fix): adjust tool description to account for author in pro…
tommaso-moro Jul 11, 2025
c23b1f9
`get_file_content` Match Paths in Git Tree if Full Path Unknown (#650)
LuluBeatson Jul 11, 2025
d15026b
fix: get_file_contents use "/" for root (#666)
LuluBeatson Jul 11, 2025
be91795
Bump go-github to v73.0.0 (#597)
martinnormark Jul 15, 2025
0568187
Always include SHA in get_file_contents responses (#676)
yonaka15 Jul 17, 2025
1a74e6d
Reorganize README, add dedicated install guides, include policies and…
D1M1TR10S Jul 18, 2025
b5e3348
fix: shorten long tool name for adding pr review comments (#697)
LuluBeatson Jul 18, 2025
2e63e81
Update installation guide for GitHub MCP Server (#699)
D1M1TR10S Jul 19, 2025
652e8e8
Update README.md
me19810 Jul 19, 2025
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
11 changes: 11 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.github
.vscode
script
third-party
.dockerignore
.gitignore
**/*.yml
**/*.yaml
**/*.md
**/*_test.go
LICENSE
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @github/github-mcp-server
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: "\U0001F41B Bug report"
about: Report a bug or unexpected behavior while using GitHub MCP Server
title: ''
labels: bug
assignees: ''

---

### Describe the bug

A clear and concise description of what the bug is.

### Affected version

Please run ` docker run -i --rm ghcr.io/github/github-mcp-server ./github-mcp-server --version` and paste the output below

### Steps to reproduce the behavior

1. Type this '...'
2. View the output '....'
3. See error

### Expected vs actual behavior

A clear and concise description of what you expected to happen and what actually happened.

### Logs

Paste any available logs. Redact if needed.
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: "⭐ Submit a feature request"
about: Surface a feature or problem that you think should be solved
title: ''
labels: enhancement
assignees: ''

---

### Describe the feature or problem you’d like to solve

A clear and concise description of what the feature or problem is.

### Proposed solution

How will it benefit GitHub MCP Server and its users?

### Example prompts or workflows (for tools/toolsets only)

If it's a new tool or improvement, share 3–5 example prompts or workflows it would enable. Just enough detail to show the value. Clear, valuable use cases are more likely to get approved.

### Additional context

Add any other context like screenshots or mockups are helpful, if applicable.
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
13 changes: 13 additions & 0 deletions .github/licenses.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# GitHub MCP Server dependencies

The following open source dependencies are used to build the [github/github-mcp-server][] GitHub Model Context Protocol Server.

## Go Packages

Some packages may only be included on certain architectures or operating systems.

{{ range . }}
- [{{.Name}}](https://pkg.go.dev/{{.Name}}) ([{{.LicenseName}}]({{.LicenseURL}}))
{{- end }}

[github/github-mcp-server]: https://github.com/github/github-mcp-server
11 changes: 11 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!--
Thank you for contributing to GitHub MCP Server!
Please reference an existing issue: `Closes #NUMBER`

Screenshots or videos of changed behavior is incredibly helpful and always appreciated.
Consider addressing the following:
- Tradeoffs: List tradeoffs you made to take on or pay down tech debt.
- Alternatives: Describe alternative approaches you considered and why you discarded them.
-->

Closes:
82 changes: 82 additions & 0 deletions .github/workflows/code-scanning.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: "CodeQL"
run-name: ${{ github.event.inputs.code_scanning_run_name }}
on: [push, pull_request, workflow_dispatch]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
CODE_SCANNING_REF: ${{ github.event.inputs.code_scanning_ref }}
CODE_SCANNING_BASE_BRANCH: ${{ github.event.inputs.code_scanning_base_branch }}
CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH: ${{ github.event.inputs.code_scanning_is_analyzing_default_branch }}

jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ${{ fromJSON(matrix.runner) }}
permissions:
actions: read
contents: read
packages: read
security-events: write
continue-on-error: false
strategy:
fail-fast: false
matrix:
include:
- language: actions
category: /language:actions
build-mode: none
runner: '["ubuntu-22.04"]'
- language: go
category: /language:go
build-mode: autobuild
runner: '["ubuntu-22.04"]'
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
dependency-caching: ${{ runner.environment == 'github-hosted' }}
queries: "" # Default query suite
packs: github/ccr-${{ matrix.language }}-queries
config: |
default-setup:
org:
model-packs: [ ${{ github.event.inputs.code_scanning_codeql_packs }} ]
threat-models: [ ]
- name: Setup proxy for registries
id: proxy
uses: github/codeql-action/start-proxy@v3
with:
registries_credentials: ${{ secrets.GITHUB_REGISTRIES_PROXY }}
language: ${{ matrix.language }}

- name: Configure
uses: github/codeql-action/resolve-environment@v3
id: resolve-environment
with:
language: ${{ matrix.language }}
- name: Setup Go
uses: actions/setup-go@v5
if: matrix.language == 'go' && fromJSON(steps.resolve-environment.outputs.environment).configuration.go.version
with:
go-version: ${{ fromJSON(steps.resolve-environment.outputs.environment).configuration.go.version }}
cache: false

- name: Autobuild
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
env:
CODEQL_PROXY_HOST: ${{ steps.proxy.outputs.proxy_host }}
CODEQL_PROXY_PORT: ${{ steps.proxy.outputs.proxy_port }}
CODEQL_PROXY_CA_CERTIFICATE: ${{ steps.proxy.outputs.proxy_ca_certificate }}
with:
category: ${{ matrix.category }}
122 changes: 122 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: Docker

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

on:
schedule:
- cron: "27 0 * * *"
push:
branches: ["main", "next"]
# Publish semver tags as releases.
tags: ["v*.*.*"]
pull_request:
branches: ["main", "next"]

env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}

jobs:
build:
runs-on: ubuntu-latest-xl
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 #v3.5.0
with:
cosign-release: "v2.2.4"

# Set up BuildKit Docker container builder to be able to build
# multi-platform images and export cache
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0

# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=schedule
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
type=edge
# Custom rule to prevent pre-releases from getting latest tag
type=raw,value=latest,enable=${{ github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v') && !contains(github.ref, '-') }}

- name: Go Build Cache for Docker
uses: actions/cache@v4
with:
path: go-build-cache
key: ${{ runner.os }}-go-build-cache-${{ hashFiles('**/go.sum') }}

- name: Inject go-build-cache
uses: reproducible-containers/buildkit-cache-dance@4b2444fec0c0fb9dbf175a96c094720a692ef810 # v2.1.4
with:
cache-source: go-build-cache

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
platforms: linux/amd64,linux/arm64
build-args: |
VERSION=${{ github.ref_name }}

# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
- name: Sign the published Docker image
if: ${{ github.event_name != 'pull_request' }}
env:
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
TAGS: ${{ steps.meta.outputs.tags }}
DIGEST: ${{ steps.build-and-push.outputs.digest }}
# This step uses the identity token to provision an ephemeral certificate
# against the sigstore community Fulcio instance.
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}
47 changes: 47 additions & 0 deletions .github/workflows/docs-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Documentation Check

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

permissions:
contents: read

jobs:
docs-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'

- name: Build docs generator
run: go build -o github-mcp-server ./cmd/github-mcp-server

- name: Generate documentation
run: ./github-mcp-server generate-docs

- name: Check for documentation changes
run: |
if ! git diff --exit-code README.md; then
echo "❌ Documentation is out of date!"
echo ""
echo "The generated documentation differs from what's committed."
echo "Please run the following command to update the documentation:"
echo ""
echo " go run ./cmd/github-mcp-server generate-docs"
echo ""
echo "Then commit the changes."
echo ""
echo "Changes detected:"
git diff README.md
exit 1
else
echo "✅ Documentation is up to date!"
fi
32 changes: 32 additions & 0 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Build and Test Go Project
on: [push, pull_request]

permissions:
contents: read

jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]

runs-on: ${{ matrix.os }}

steps:
- name: Check out code
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"

- name: Download dependencies
run: go mod download

- name: Run unit tests
run: script/test

- name: Build
run: go build -v ./cmd/github-mcp-server
Loading