Skip to content

Commit 0ea5efa

Browse files
authored
Merge branch 'main' into main
2 parents a2c6bc4 + 587272b commit 0ea5efa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+4099
-436
lines changed

.github/dependabot.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ updates:
1313
directory: "/"
1414
schedule:
1515
interval: "weekly"
16+
- package-ecosystem: "github-actions"
17+
directory: "/"
18+
schedule:
19+
interval: "weekly"
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Close inactive issues
2+
on:
3+
schedule:
4+
- cron: "30 8 * * *"
5+
6+
jobs:
7+
close-issues:
8+
runs-on: ubuntu-latest
9+
env:
10+
PR_DAYS_BEFORE_STALE: 60
11+
PR_DAYS_BEFORE_CLOSE: 10
12+
PR_STALE_LABEL: stale
13+
permissions:
14+
issues: write
15+
pull-requests: write
16+
steps:
17+
- uses: actions/stale@v9
18+
with:
19+
days-before-issue-stale: ${{ env.PR_DAYS_BEFORE_STALE }}
20+
days-before-issue-close: ${{ env.PR_DAYS_BEFORE_CLOSE }}
21+
stale-issue-label: ${{ env.PR_STALE_LABEL }}
22+
stale-issue-message: "This issue is stale because it has been open for ${{ env.PR_DAYS_BEFORE_STALE }} days with no activity. Leave a comment to avoid closing this issue in ${{ env.PR_DAYS_BEFORE_CLOSE }} days."
23+
close-issue-message: "This issue was closed because it has been inactive for ${{ env.PR_DAYS_BEFORE_CLOSE }} days since being marked as stale."
24+
days-before-pr-stale: -1
25+
days-before-pr-close: -1
26+
# Start with the oldest items first
27+
ascending: true
28+
repo-token: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 58 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ To keep your GitHub PAT secure and reusable across different MCP hosts:
144144
- **Minimum scopes**: Only grant necessary permissions
145145
- `repo` - Repository operations
146146
- `read:packages` - Docker image access
147+
- `read:org` - Organization team access
147148
- **Separate tokens**: Use different PATs for different projects/environments
148149
- **Regular rotation**: Update tokens periodically
149150
- **Never commit**: Keep tokens out of version control
@@ -287,6 +288,7 @@ The following sets of tools are available (all are on by default):
287288
| `dependabot` | Dependabot tools |
288289
| `discussions` | GitHub Discussions related tools |
289290
| `experiments` | Experimental features that are not considered stable yet |
291+
| `gists` | GitHub Gist related tools |
290292
| `issues` | GitHub Issues related tools |
291293
| `notifications` | GitHub Notifications related tools |
292294
| `orgs` | GitHub Organization related tools |
@@ -420,6 +422,13 @@ The following sets of tools are available (all are on by default):
420422
- **get_me** - Get my user profile
421423
- No parameters required
422424

425+
- **get_team_members** - Get team members
426+
- `org`: Organization login (owner) that contains the team. (string, required)
427+
- `team_slug`: Team slug (string, required)
428+
429+
- **get_teams** - Get teams
430+
- `user`: Username to get teams for. If not provided, uses the authenticated user. (string, optional)
431+
423432
</details>
424433

425434
<details>
@@ -457,7 +466,7 @@ The following sets of tools are available (all are on by default):
457466

458467
- **list_discussion_categories** - List discussion categories
459468
- `owner`: Repository owner (string, required)
460-
- `repo`: Repository name (string, required)
469+
- `repo`: Repository name. If not provided, discussion categories will be queried at the organisation level. (string, optional)
461470

462471
- **list_discussions** - List discussions
463472
- `after`: Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs. (string, optional)
@@ -472,6 +481,30 @@ The following sets of tools are available (all are on by default):
472481

473482
<details>
474483

484+
<summary>Gists</summary>
485+
486+
- **create_gist** - Create Gist
487+
- `content`: Content for simple single-file gist creation (string, required)
488+
- `description`: Description of the gist (string, optional)
489+
- `filename`: Filename for simple single-file gist creation (string, required)
490+
- `public`: Whether the gist is public (boolean, optional)
491+
492+
- **list_gists** - List Gists
493+
- `page`: Page number for pagination (min 1) (number, optional)
494+
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
495+
- `since`: Only gists updated after this time (ISO 8601 timestamp) (string, optional)
496+
- `username`: GitHub username (omit for authenticated user's gists) (string, optional)
497+
498+
- **update_gist** - Update Gist
499+
- `content`: Content for the file (string, required)
500+
- `description`: Updated description of the gist (string, optional)
501+
- `filename`: Filename to update or create (string, required)
502+
- `gist_id`: ID of the gist to update (string, required)
503+
504+
</details>
505+
506+
<details>
507+
475508
<summary>Issues</summary>
476509

477510
- **add_issue_comment** - Add comment to issue
@@ -500,6 +533,7 @@ The following sets of tools are available (all are on by default):
500533
- `owner`: Repository owner (string, required)
501534
- `repo`: Repository name (string, required)
502535
- `title`: Issue title (string, required)
536+
- `type`: Type of this issue (string, optional)
503537

504538
- **get_issue** - Get issue details
505539
- `issue_number`: The number of the issue (number, required)
@@ -513,16 +547,19 @@ The following sets of tools are available (all are on by default):
513547
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
514548
- `repo`: Repository name (string, required)
515549

550+
- **list_issue_types** - List available issue types
551+
- `owner`: The organization owner of the repository (string, required)
552+
516553
- **list_issues** - List issues
517-
- `direction`: Sort direction (string, optional)
554+
- `after`: Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs. (string, optional)
555+
- `direction`: Order direction. If provided, the 'orderBy' also needs to be provided. (string, optional)
518556
- `labels`: Filter by labels (string[], optional)
557+
- `orderBy`: Order issues by field. If provided, the 'direction' also needs to be provided. (string, optional)
519558
- `owner`: Repository owner (string, required)
520-
- `page`: Page number for pagination (min 1) (number, optional)
521559
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
522560
- `repo`: Repository name (string, required)
523561
- `since`: Filter by date (ISO 8601 timestamp) (string, optional)
524-
- `sort`: Sort order (string, optional)
525-
- `state`: Filter by state (string, optional)
562+
- `state`: Filter by state, by default both open and closed issues are returned when not provided (string, optional)
526563

527564
- **list_sub_issues** - List sub-issues
528565
- `issue_number`: Issue number (number, required)
@@ -547,11 +584,11 @@ The following sets of tools are available (all are on by default):
547584

548585
- **search_issues** - Search issues
549586
- `order`: Sort order (string, optional)
550-
- `owner`: Optional repository owner. If provided with repo, only notifications for this repository are listed. (string, optional)
587+
- `owner`: Optional repository owner. If provided with repo, only issues for this repository are listed. (string, optional)
551588
- `page`: Page number for pagination (min 1) (number, optional)
552589
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
553590
- `query`: Search query using GitHub issues search syntax (string, required)
554-
- `repo`: Optional repository name. If provided with owner, only notifications for this repository are listed. (string, optional)
591+
- `repo`: Optional repository name. If provided with owner, only issues for this repository are listed. (string, optional)
555592
- `sort`: Sort field by number of matches of categories, defaults to best match (string, optional)
556593

557594
- **update_issue** - Edit issue
@@ -564,6 +601,7 @@ The following sets of tools are available (all are on by default):
564601
- `repo`: Repository name (string, required)
565602
- `state`: New state (string, optional)
566603
- `title`: New title (string, optional)
604+
- `type`: New issue type (string, optional)
567605

568606
</details>
569607

@@ -719,11 +757,11 @@ The following sets of tools are available (all are on by default):
719757

720758
- **search_pull_requests** - Search pull requests
721759
- `order`: Sort order (string, optional)
722-
- `owner`: Optional repository owner. If provided with repo, only notifications for this repository are listed. (string, optional)
760+
- `owner`: Optional repository owner. If provided with repo, only pull requests for this repository are listed. (string, optional)
723761
- `page`: Page number for pagination (min 1) (number, optional)
724762
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
725763
- `query`: Search query using GitHub pull request search syntax (string, required)
726-
- `repo`: Optional repository name. If provided with owner, only notifications for this repository are listed. (string, optional)
764+
- `repo`: Optional repository name. If provided with owner, only pull requests for this repository are listed. (string, optional)
727765
- `sort`: Sort field by number of matches of categories, defaults to best match (string, optional)
728766

729767
- **submit_pending_pull_request_review** - Submit the requester's latest pending pull request review
@@ -741,6 +779,7 @@ The following sets of tools are available (all are on by default):
741779
- `owner`: Repository owner (string, required)
742780
- `pullNumber`: Pull request number to update (number, required)
743781
- `repo`: Repository name (string, required)
782+
- `reviewers`: GitHub usernames to request reviews from (string[], optional)
744783
- `state`: New state (string, optional)
745784
- `title`: New title (string, optional)
746785

@@ -803,6 +842,10 @@ The following sets of tools are available (all are on by default):
803842
- `repo`: Repository name (string, required)
804843
- `sha`: Accepts optional commit SHA. If specified, it will be used instead of ref (string, optional)
805844

845+
- **get_latest_release** - Get latest release
846+
- `owner`: Repository owner (string, required)
847+
- `repo`: Repository name (string, required)
848+
806849
- **get_tag** - Get tag details
807850
- `owner`: Repository owner (string, required)
808851
- `repo`: Repository name (string, required)
@@ -822,6 +865,12 @@ The following sets of tools are available (all are on by default):
822865
- `repo`: Repository name (string, required)
823866
- `sha`: Commit SHA, branch or tag name to list commits of. If not provided, uses the default branch of the repository. If a commit SHA is provided, will list commits up to that SHA. (string, optional)
824867

868+
- **list_releases** - List releases
869+
- `owner`: Repository owner (string, required)
870+
- `page`: Page number for pagination (min 1) (number, optional)
871+
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
872+
- `repo`: Repository name (string, required)
873+
825874
- **list_tags** - List tags
826875
- `owner`: Repository owner (string, required)
827876
- `page`: Page number for pagination (min 1) (number, optional)

cmd/github-mcp-server/generate_docs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
"github.com/github/github-mcp-server/pkg/raw"
1414
"github.com/github/github-mcp-server/pkg/toolsets"
1515
"github.com/github/github-mcp-server/pkg/translations"
16-
gogithub "github.com/google/go-github/v73/github"
16+
gogithub "github.com/google/go-github/v74/github"
1717
"github.com/mark3labs/mcp-go/mcp"
1818
"github.com/shurcooL/githubv4"
1919
"github.com/spf13/cobra"

docs/remote-server.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Below is a table of available toolsets for the remote GitHub MCP Server. Each to
2525
| Dependabot | Dependabot tools | https://api.githubcopilot.com/mcp/x/dependabot | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-dependabot&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fdependabot%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/dependabot/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-dependabot&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fdependabot%2Freadonly%22%7D) |
2626
| Discussions | GitHub Discussions related tools | https://api.githubcopilot.com/mcp/x/discussions | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-discussions&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fdiscussions%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/discussions/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-discussions&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fdiscussions%2Freadonly%22%7D) |
2727
| Experiments | Experimental features that are not considered stable yet | https://api.githubcopilot.com/mcp/x/experiments | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-experiments&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fexperiments%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/experiments/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-experiments&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fexperiments%2Freadonly%22%7D) |
28+
| Gists | GitHub Gist related tools | https://api.githubcopilot.com/mcp/x/gists | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-gists&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fgists%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/gists/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-gists&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fgists%2Freadonly%22%7D) |
2829
| Issues | GitHub Issues related tools | https://api.githubcopilot.com/mcp/x/issues | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-issues&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fissues%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/issues/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-issues&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fissues%2Freadonly%22%7D) |
2930
| Notifications | GitHub Notifications related tools | https://api.githubcopilot.com/mcp/x/notifications | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-notifications&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fnotifications%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/notifications/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-notifications&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fnotifications%2Freadonly%22%7D) |
3031
| Organizations | GitHub Organization related tools | https://api.githubcopilot.com/mcp/x/orgs | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-orgs&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Forgs%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/orgs/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-orgs&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Forgs%2Freadonly%22%7D) |

e2e/e2e_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
"github.com/github/github-mcp-server/internal/ghmcp"
1919
"github.com/github/github-mcp-server/pkg/github"
2020
"github.com/github/github-mcp-server/pkg/translations"
21-
gogithub "github.com/google/go-github/v73/github"
21+
gogithub "github.com/google/go-github/v74/github"
2222
mcpClient "github.com/mark3labs/mcp-go/client"
2323
"github.com/mark3labs/mcp-go/mcp"
2424
"github.com/stretchr/testify/require"

github-mcp-server

17.5 MB
Binary file not shown.

go.mod

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,24 @@ module github.com/github/github-mcp-server
33
go 1.23.7
44

55
require (
6-
github.com/google/go-github/v73 v73.0.0
6+
github.com/google/go-github/v74 v74.0.0
77
github.com/josephburnett/jd v1.9.2
8-
github.com/mark3labs/mcp-go v0.32.0
8+
github.com/mark3labs/mcp-go v0.36.0
99
github.com/migueleliasweb/go-github-mock v1.3.0
10-
github.com/sirupsen/logrus v1.9.3
1110
github.com/spf13/cobra v1.9.1
1211
github.com/spf13/viper v1.20.1
1312
github.com/stretchr/testify v1.10.0
1413
)
1514

1615
require (
16+
github.com/bahlo/generic-list-go v0.2.0 // indirect
17+
github.com/buger/jsonparser v1.1.1 // indirect
1718
github.com/go-openapi/jsonpointer v0.19.5 // indirect
1819
github.com/go-openapi/swag v0.21.1 // indirect
20+
github.com/invopop/jsonschema v0.13.0 // indirect
1921
github.com/josharian/intern v1.0.0 // indirect
2022
github.com/mailru/easyjson v0.7.7 // indirect
23+
github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect
2124
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
2225
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
2326
gopkg.in/yaml.v2 v2.4.0 // indirect

0 commit comments

Comments
 (0)