harvesthealth commited on
Commit
b9af4a9
·
verified ·
1 Parent(s): 09d0833

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. app.py +4 -0
  3. cmd/github-mcp-server/main.go +60 -103
  4. github-mcp-server +3 -0
  5. go.mod +1 -1
  6. go.sum +2 -1
  7. pkg/github/__toolsnaps__/add_comment_to_pending_review.snap +2 -2
  8. pkg/github/__toolsnaps__/add_issue_comment.snap +2 -2
  9. pkg/github/__toolsnaps__/add_sub_issue.snap +2 -2
  10. pkg/github/__toolsnaps__/assign_copilot_to_issue.snap +2 -2
  11. pkg/github/__toolsnaps__/create_and_submit_pull_request_review.snap +2 -2
  12. pkg/github/__toolsnaps__/create_branch.snap +2 -2
  13. pkg/github/__toolsnaps__/create_issue.snap +2 -2
  14. pkg/github/__toolsnaps__/create_or_update_file.snap +2 -2
  15. pkg/github/__toolsnaps__/create_pending_pull_request_review.snap +2 -2
  16. pkg/github/__toolsnaps__/create_pull_request.snap +2 -2
  17. pkg/github/__toolsnaps__/create_repository.snap +2 -2
  18. pkg/github/__toolsnaps__/delete_file.snap +2 -2
  19. pkg/github/__toolsnaps__/delete_pending_pull_request_review.snap +2 -2
  20. pkg/github/__toolsnaps__/dismiss_notification.snap +2 -2
  21. pkg/github/__toolsnaps__/fork_repository.snap +2 -2
  22. pkg/github/__toolsnaps__/get_code_scanning_alert.snap +2 -2
  23. pkg/github/__toolsnaps__/get_commit.snap +2 -2
  24. pkg/github/__toolsnaps__/get_dependabot_alert.snap +2 -2
  25. pkg/github/__toolsnaps__/get_file_contents.snap +2 -2
  26. pkg/github/__toolsnaps__/get_issue.snap +2 -2
  27. pkg/github/__toolsnaps__/get_issue_comments.snap +2 -2
  28. pkg/github/__toolsnaps__/get_me.snap +0 -1
  29. pkg/github/__toolsnaps__/get_notification_details.snap +2 -2
  30. pkg/github/__toolsnaps__/get_pull_request.snap +2 -2
  31. pkg/github/__toolsnaps__/get_pull_request_comments.snap +2 -2
  32. pkg/github/__toolsnaps__/get_pull_request_diff.snap +2 -2
  33. pkg/github/__toolsnaps__/get_pull_request_files.snap +2 -2
  34. pkg/github/__toolsnaps__/get_pull_request_reviews.snap +2 -2
  35. pkg/github/__toolsnaps__/get_pull_request_status.snap +2 -2
  36. pkg/github/__toolsnaps__/get_release_by_tag.snap +2 -2
  37. pkg/github/__toolsnaps__/get_tag.snap +2 -2
  38. pkg/github/__toolsnaps__/get_team_members.snap +2 -2
  39. pkg/github/__toolsnaps__/get_teams.snap +2 -2
  40. pkg/github/__toolsnaps__/list_branches.snap +2 -2
  41. pkg/github/__toolsnaps__/list_code_scanning_alerts.snap +2 -2
  42. pkg/github/__toolsnaps__/list_commits.snap +2 -2
  43. pkg/github/__toolsnaps__/list_dependabot_alerts.snap +2 -2
  44. pkg/github/__toolsnaps__/list_issue_types.snap +2 -2
  45. pkg/github/__toolsnaps__/list_issues.snap +2 -2
  46. pkg/github/__toolsnaps__/list_notifications.snap +2 -2
  47. pkg/github/__toolsnaps__/list_pull_requests.snap +2 -2
  48. pkg/github/__toolsnaps__/list_sub_issues.snap +2 -2
  49. pkg/github/__toolsnaps__/list_tags.snap +2 -2
  50. pkg/github/__toolsnaps__/manage_notification_subscription.snap +2 -2
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ github-mcp-server filter=lfs diff=lfs merge=lfs -text
app.py CHANGED
@@ -15,6 +15,10 @@ logger = logging.getLogger(__name__)
15
  app = FastAPI()
16
  proc = None
17
 
 
 
 
 
18
  @app.on_event("startup")
19
  async def startup_event():
20
  global proc
 
15
  app = FastAPI()
16
  proc = None
17
 
18
+ @app.get("/")
19
+ async def health_check():
20
+ return {"status": "healthy", "subprocess_running": proc is not None and proc.returncode is None}
21
+
22
  @app.on_event("startup")
23
  async def startup_event():
24
  global proc
cmd/github-mcp-server/main.go CHANGED
@@ -1,114 +1,71 @@
1
  package main
2
 
3
  import (
4
- "bytes"
5
- "context"
6
- "fmt"
7
- "io"
8
- "log"
9
- "net/http"
10
- "os"
11
- "os/exec"
12
- "time"
13
 
14
- "github.com/mark3labs/mcp-go/mcp" // Fixed import path
15
- "github.com/mark3labs/mcp-go/mcp/protocol"
16
- "github.com/spf13/viper"
17
  )
18
 
19
- const (
20
- defaultPort = "8080"
21
- defaultTimeoutSeconds = 60
 
 
 
 
22
  )
23
 
24
- func main() {
25
- // Initialize configuration
26
- viper.SetDefault("port", defaultPort)
27
- viper.SetDefault("timeout_seconds", defaultTimeoutSeconds)
28
- viper.AutomaticEnv()
29
-
30
- port := viper.GetString("port")
31
- timeoutSeconds := viper.GetInt("timeout_seconds")
32
-
33
- // Create HTTP server
34
- httpServer := &http.Server{
35
- Addr: ":" + port,
36
- Handler: nil, // Will be set later
37
- ReadTimeout: 5 * time.Second,
38
- WriteTimeout: 10 * time.Second,
39
- }
40
-
41
- // Create a context with timeout
42
- ctx, cancel := context.WithTimeout(context.Background(), time.Duration(timeoutSeconds)*time.Second)
43
- defer cancel()
44
-
45
- // Start the server
46
- log.Printf("Starting server on port %s with timeout %d seconds", port, timeoutSeconds)
47
-
48
- // Handle JSON-RPC requests
49
- http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
50
- // Set CORS headers
51
- w.Header().Set("Access-Control-Allow-Origin", "*")
52
- w.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS")
53
- w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
54
-
55
- // Handle preflight requests
56
- if r.Method == "OPTIONS" {
57
- w.WriteHeader(http.StatusOK)
58
- return
59
- }
60
-
61
- // Only handle POST requests
62
- if r.Method != "POST" {
63
- http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
64
- return
65
- }
66
-
67
- // Read the request body
68
- body, err := io.ReadAll(r.Body)
69
- if err != nil {
70
- http.Error(w, "Error reading request body", http.StatusBadRequest)
71
- return
72
- }
73
- defer r.Body.Close()
74
-
75
- // Log the incoming request
76
- log.Printf("Received request: %s", string(body))
77
-
78
- // Create a subprocess to handle the request
79
- cmd := exec.CommandContext(ctx, "/usr/local/bin/github-mcp-server")
80
- cmd.Stdin = bytes.NewReader(body)
81
- cmd.Stdout = w
82
- cmd.Stderr = os.Stderr
83
-
84
- // Start the subprocess
85
- log.Printf("Starting subprocess: /usr/local/bin/github-mcp-server")
86
- if err := cmd.Start(); err != nil {
87
- log.Printf("Error starting subprocess: %v", err)
88
- http.Error(w, "Error starting subprocess", http.StatusInternalServerError)
89
- return
90
  }
91
 
92
- // Wait for the subprocess to complete
93
- log.Printf("Waiting for subprocess to complete")
94
- if err := cmd.Wait(); err != nil {
95
- log.Printf("Subprocess error: %v", err)
96
- // Check if it's a timeout error
97
- if ctx.Err() == context.DeadlineExceeded {
98
- log.Printf("Subprocess timed out after %d seconds", timeoutSeconds)
99
- http.Error(w, "Subprocess timed out", http.StatusRequestTimeout)
100
- return
101
- }
102
- http.Error(w, "Subprocess error", http.StatusInternalServerError)
103
- return
104
- }
105
-
106
- log.Printf("Subprocess completed successfully")
107
- })
108
-
109
- // Start the HTTP server
110
- log.Printf("Server listening on port %s", port)
111
- if err := httpServer.ListenAndServe(); err != nil {
112
- log.Fatalf("Failed to start server: %v", err)
113
- }
 
 
 
 
 
 
 
 
 
 
 
114
  }
 
1
  package main
2
 
3
  import (
4
+ "fmt"
5
+ "os"
6
+ "strings"
 
 
 
 
 
 
7
 
8
+ "github.com/github/github-mcp-server/internal/ghmcp"
9
+ "github.com/spf13/cobra"
10
+ "github.com/spf13/viper"
11
  )
12
 
13
+ var (
14
+ version = "dev"
15
+ rootCmd = &cobra.Command{
16
+ Use: "github-mcp-server",
17
+ Short: "GitHub MCP Server",
18
+ Long: "A Model Context Protocol server for GitHub",
19
+ }
20
  )
21
 
22
+ func init() {
23
+ rootCmd.PersistentFlags().String("host", "", "GitHub Host (e.g. github.com or github.enterprise.com)")
24
+ rootCmd.PersistentFlags().StringSlice("toolsets", []string{"all"}, "Comma-separated list of toolsets to enable")
25
+ rootCmd.PersistentFlags().Bool("dynamic-toolsets", false, "Enable dynamic toolsets")
26
+ rootCmd.PersistentFlags().Bool("read-only", false, "Enable read-only mode")
27
+ rootCmd.PersistentFlags().Bool("export-translations", false, "Export translations")
28
+ rootCmd.PersistentFlags().Bool("log-commands", false, "Enable command logging")
29
+ rootCmd.PersistentFlags().String("log-file", "", "Path to log file")
30
+ rootCmd.PersistentFlags().Int("content-window-size", 5000, "Content window size")
31
+
32
+ _ = viper.BindPFlags(rootCmd.PersistentFlags())
33
+ viper.SetEnvPrefix("GITHUB")
34
+ viper.AutomaticEnv()
35
+ viper.SetEnvKeyReplacer(strings.NewReplacer("-", "_"))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  }
37
 
38
+ func main() {
39
+ stdioCmd := &cobra.Command{
40
+ Use: "stdio",
41
+ Short: "Run the server on stdio",
42
+ RunE: func(cmd *cobra.Command, args []string) error {
43
+ token := os.Getenv("GITHUB_PERSONAL_ACCESS_TOKEN")
44
+ if token == "" {
45
+ return fmt.Errorf("GITHUB_PERSONAL_ACCESS_TOKEN environment variable is required")
46
+ }
47
+
48
+ cfg := ghmcp.StdioServerConfig{
49
+ Version: version,
50
+ Host: viper.GetString("host"),
51
+ Token: token,
52
+ EnabledToolsets: viper.GetStringSlice("toolsets"),
53
+ DynamicToolsets: viper.GetBool("dynamic-toolsets"),
54
+ ReadOnly: viper.GetBool("read-only"),
55
+ ExportTranslations: viper.GetBool("export-translations"),
56
+ EnableCommandLogging: viper.GetBool("log-commands"),
57
+ LogFilePath: viper.GetString("log-file"),
58
+ ContentWindowSize: viper.GetInt("content-window-size"),
59
+ }
60
+
61
+ return ghmcp.RunStdioServer(cfg)
62
+ },
63
+ }
64
+
65
+ rootCmd.AddCommand(stdioCmd)
66
+
67
+ if err := rootCmd.Execute(); err != nil {
68
+ fmt.Fprintln(os.Stderr, err)
69
+ os.Exit(1)
70
+ }
71
  }
github-mcp-server ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e0db68ab6d4738d42a436b8588ba908c6b5ac17553c81f3f8e76e57a5f4eb2f
3
+ size 14819735
go.mod CHANGED
@@ -44,7 +44,7 @@ require (
44
  github.com/sourcegraph/conc v0.3.0 // indirect
45
  github.com/spf13/afero v1.14.0 // indirect
46
  github.com/spf13/cast v1.7.1 // indirect
47
- github.com/spf13/pflag v1.0.6
48
  github.com/subosito/gotenv v1.6.0 // indirect
49
  github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
50
  go.uber.org/multierr v1.11.0 // indirect
 
44
  github.com/sourcegraph/conc v0.3.0 // indirect
45
  github.com/spf13/afero v1.14.0 // indirect
46
  github.com/spf13/cast v1.7.1 // indirect
47
+ github.com/spf13/pflag v1.0.6 // indirect
48
  github.com/subosito/gotenv v1.6.0 // indirect
49
  github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
50
  go.uber.org/multierr v1.11.0 // indirect
go.sum CHANGED
@@ -53,7 +53,8 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN
53
  github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
54
  github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
55
  github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
56
-
 
57
  github.com/migueleliasweb/go-github-mock v1.3.0 h1:2sVP9JEMB2ubQw1IKto3/fzF51oFC6eVWOOFDgQoq88=
58
  github.com/migueleliasweb/go-github-mock v1.3.0/go.mod h1:ipQhV8fTcj/G6m7BKzin08GaJ/3B5/SonRAkgrk0zCY=
59
  github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
 
53
  github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
54
  github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
55
  github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
56
+ github.com/mark3labs/mcp-go v0.39.1 h1:2oPxk7aDbQhouakkYyKl2T4hKFU1c6FDaubWyGyVE1k=
57
+ github.com/mark3labs/mcp-go v0.39.1/go.mod h1:T7tUa2jO6MavG+3P25Oy/jR7iCeJPHImCZHRymCn39g=
58
  github.com/migueleliasweb/go-github-mock v1.3.0 h1:2sVP9JEMB2ubQw1IKto3/fzF51oFC6eVWOOFDgQoq88=
59
  github.com/migueleliasweb/go-github-mock v1.3.0/go.mod h1:ipQhV8fTcj/G6m7BKzin08GaJ/3B5/SonRAkgrk0zCY=
60
  github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
pkg/github/__toolsnaps__/add_comment_to_pending_review.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Add review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).",
7
  "inputSchema": {
 
8
  "properties": {
9
  "body": {
10
  "description": "The text of the review comment",
@@ -66,8 +67,7 @@
66
  "path",
67
  "body",
68
  "subjectType"
69
- ],
70
- "type": "object"
71
  },
72
  "name": "add_comment_to_pending_review"
73
  }
 
5
  },
6
  "description": "Add review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "body": {
11
  "description": "The text of the review comment",
 
67
  "path",
68
  "body",
69
  "subjectType"
70
+ ]
 
71
  },
72
  "name": "add_comment_to_pending_review"
73
  }
pkg/github/__toolsnaps__/add_issue_comment.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Add a comment to a specific issue in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "body": {
10
  "description": "Comment content",
@@ -28,8 +29,7 @@
28
  "repo",
29
  "issue_number",
30
  "body"
31
- ],
32
- "type": "object"
33
  },
34
  "name": "add_issue_comment"
35
  }
 
5
  },
6
  "description": "Add a comment to a specific issue in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "body": {
11
  "description": "Comment content",
 
29
  "repo",
30
  "issue_number",
31
  "body"
32
+ ]
 
33
  },
34
  "name": "add_issue_comment"
35
  }
pkg/github/__toolsnaps__/add_sub_issue.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Add a sub-issue to a parent issue in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "issue_number": {
10
  "description": "The number of the parent issue",
@@ -32,8 +33,7 @@
32
  "repo",
33
  "issue_number",
34
  "sub_issue_id"
35
- ],
36
- "type": "object"
37
  },
38
  "name": "add_sub_issue"
39
  }
 
5
  },
6
  "description": "Add a sub-issue to a parent issue in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "issue_number": {
11
  "description": "The number of the parent issue",
 
33
  "repo",
34
  "issue_number",
35
  "sub_issue_id"
36
+ ]
 
37
  },
38
  "name": "add_sub_issue"
39
  }
pkg/github/__toolsnaps__/assign_copilot_to_issue.snap CHANGED
@@ -6,6 +6,7 @@
6
  },
7
  "description": "Assign Copilot to a specific issue in a GitHub repository.\n\nThis tool can help with the following outcomes:\n- a Pull Request created with source code changes to resolve the issue\n\n\nMore information can be found at:\n- https://docs.github.com/en/copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/about-assigning-tasks-to-copilot\n",
8
  "inputSchema": {
 
9
  "properties": {
10
  "issueNumber": {
11
  "description": "Issue number",
@@ -24,8 +25,7 @@
24
  "owner",
25
  "repo",
26
  "issueNumber"
27
- ],
28
- "type": "object"
29
  },
30
  "name": "assign_copilot_to_issue"
31
  }
 
6
  },
7
  "description": "Assign Copilot to a specific issue in a GitHub repository.\n\nThis tool can help with the following outcomes:\n- a Pull Request created with source code changes to resolve the issue\n\n\nMore information can be found at:\n- https://docs.github.com/en/copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/about-assigning-tasks-to-copilot\n",
8
  "inputSchema": {
9
+ "type": "object",
10
  "properties": {
11
  "issueNumber": {
12
  "description": "Issue number",
 
25
  "owner",
26
  "repo",
27
  "issueNumber"
28
+ ]
 
29
  },
30
  "name": "assign_copilot_to_issue"
31
  }
pkg/github/__toolsnaps__/create_and_submit_pull_request_review.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Create and submit a review for a pull request without review comments.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "body": {
10
  "description": "Review comment text",
@@ -42,8 +43,7 @@
42
  "pullNumber",
43
  "body",
44
  "event"
45
- ],
46
- "type": "object"
47
  },
48
  "name": "create_and_submit_pull_request_review"
49
  }
 
5
  },
6
  "description": "Create and submit a review for a pull request without review comments.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "body": {
11
  "description": "Review comment text",
 
43
  "pullNumber",
44
  "body",
45
  "event"
46
+ ]
 
47
  },
48
  "name": "create_and_submit_pull_request_review"
49
  }
pkg/github/__toolsnaps__/create_branch.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Create a new branch in a GitHub repository",
7
  "inputSchema": {
 
8
  "properties": {
9
  "branch": {
10
  "description": "Name for new branch",
@@ -27,8 +28,7 @@
27
  "owner",
28
  "repo",
29
  "branch"
30
- ],
31
- "type": "object"
32
  },
33
  "name": "create_branch"
34
  }
 
5
  },
6
  "description": "Create a new branch in a GitHub repository",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "branch": {
11
  "description": "Name for new branch",
 
28
  "owner",
29
  "repo",
30
  "branch"
31
+ ]
 
32
  },
33
  "name": "create_branch"
34
  }
pkg/github/__toolsnaps__/create_issue.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Create a new issue in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "assignees": {
10
  "description": "Usernames to assign to this issue",
@@ -49,8 +50,7 @@
49
  "owner",
50
  "repo",
51
  "title"
52
- ],
53
- "type": "object"
54
  },
55
  "name": "create_issue"
56
  }
 
5
  },
6
  "description": "Create a new issue in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "assignees": {
11
  "description": "Usernames to assign to this issue",
 
50
  "owner",
51
  "repo",
52
  "title"
53
+ ]
 
54
  },
55
  "name": "create_issue"
56
  }
pkg/github/__toolsnaps__/create_or_update_file.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Create or update a single file in a GitHub repository. If updating, you must provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "branch": {
10
  "description": "Branch to create/update the file in",
@@ -42,8 +43,7 @@
42
  "content",
43
  "message",
44
  "branch"
45
- ],
46
- "type": "object"
47
  },
48
  "name": "create_or_update_file"
49
  }
 
5
  },
6
  "description": "Create or update a single file in a GitHub repository. If updating, you must provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "branch": {
11
  "description": "Branch to create/update the file in",
 
43
  "content",
44
  "message",
45
  "branch"
46
+ ]
 
47
  },
48
  "name": "create_or_update_file"
49
  }
pkg/github/__toolsnaps__/create_pending_pull_request_review.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Create a pending review for a pull request. Call this first before attempting to add comments to a pending review, and ultimately submitting it. A pending pull request review means a pull request review, it is pending because you create it first and submit it later, and the PR author will not see it until it is submitted.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "commitID": {
10
  "description": "SHA of commit to review",
@@ -27,8 +28,7 @@
27
  "owner",
28
  "repo",
29
  "pullNumber"
30
- ],
31
- "type": "object"
32
  },
33
  "name": "create_pending_pull_request_review"
34
  }
 
5
  },
6
  "description": "Create a pending review for a pull request. Call this first before attempting to add comments to a pending review, and ultimately submitting it. A pending pull request review means a pull request review, it is pending because you create it first and submit it later, and the PR author will not see it until it is submitted.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "commitID": {
11
  "description": "SHA of commit to review",
 
28
  "owner",
29
  "repo",
30
  "pullNumber"
31
+ ]
 
32
  },
33
  "name": "create_pending_pull_request_review"
34
  }
pkg/github/__toolsnaps__/create_pull_request.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Create a new pull request in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "base": {
10
  "description": "Branch to merge into",
@@ -45,8 +46,7 @@
45
  "title",
46
  "head",
47
  "base"
48
- ],
49
- "type": "object"
50
  },
51
  "name": "create_pull_request"
52
  }
 
5
  },
6
  "description": "Create a new pull request in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "base": {
11
  "description": "Branch to merge into",
 
46
  "title",
47
  "head",
48
  "base"
49
+ ]
 
50
  },
51
  "name": "create_pull_request"
52
  }
pkg/github/__toolsnaps__/create_repository.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Create a new GitHub repository in your account",
7
  "inputSchema": {
 
8
  "properties": {
9
  "autoInit": {
10
  "description": "Initialize with README",
@@ -25,8 +26,7 @@
25
  },
26
  "required": [
27
  "name"
28
- ],
29
- "type": "object"
30
  },
31
  "name": "create_repository"
32
  }
 
5
  },
6
  "description": "Create a new GitHub repository in your account",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "autoInit": {
11
  "description": "Initialize with README",
 
26
  },
27
  "required": [
28
  "name"
29
+ ]
 
30
  },
31
  "name": "create_repository"
32
  }
pkg/github/__toolsnaps__/delete_file.snap CHANGED
@@ -6,6 +6,7 @@
6
  },
7
  "description": "Delete a file from a GitHub repository",
8
  "inputSchema": {
 
9
  "properties": {
10
  "branch": {
11
  "description": "Branch to delete the file from",
@@ -34,8 +35,7 @@
34
  "path",
35
  "message",
36
  "branch"
37
- ],
38
- "type": "object"
39
  },
40
  "name": "delete_file"
41
  }
 
6
  },
7
  "description": "Delete a file from a GitHub repository",
8
  "inputSchema": {
9
+ "type": "object",
10
  "properties": {
11
  "branch": {
12
  "description": "Branch to delete the file from",
 
35
  "path",
36
  "message",
37
  "branch"
38
+ ]
 
39
  },
40
  "name": "delete_file"
41
  }
pkg/github/__toolsnaps__/delete_pending_pull_request_review.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Delete the requester's latest pending pull request review. Use this after the user decides not to submit a pending review, if you don't know if they already created one then check first.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "pullNumber"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "delete_pending_pull_request_review"
30
  }
 
5
  },
6
  "description": "Delete the requester's latest pending pull request review. Use this after the user decides not to submit a pending review, if you don't know if they already created one then check first.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
24
  "owner",
25
  "repo",
26
  "pullNumber"
27
+ ]
 
28
  },
29
  "name": "delete_pending_pull_request_review"
30
  }
pkg/github/__toolsnaps__/dismiss_notification.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Dismiss a notification by marking it as read or done",
7
  "inputSchema": {
 
8
  "properties": {
9
  "state": {
10
  "description": "The new state of the notification (read/done)",
@@ -21,8 +22,7 @@
21
  },
22
  "required": [
23
  "threadID"
24
- ],
25
- "type": "object"
26
  },
27
  "name": "dismiss_notification"
28
  }
 
5
  },
6
  "description": "Dismiss a notification by marking it as read or done",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "state": {
11
  "description": "The new state of the notification (read/done)",
 
22
  },
23
  "required": [
24
  "threadID"
25
+ ]
 
26
  },
27
  "name": "dismiss_notification"
28
  }
pkg/github/__toolsnaps__/fork_repository.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Fork a GitHub repository to your account or specified organization",
7
  "inputSchema": {
 
8
  "properties": {
9
  "organization": {
10
  "description": "Organization to fork to",
@@ -22,8 +23,7 @@
22
  "required": [
23
  "owner",
24
  "repo"
25
- ],
26
- "type": "object"
27
  },
28
  "name": "fork_repository"
29
  }
 
5
  },
6
  "description": "Fork a GitHub repository to your account or specified organization",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "organization": {
11
  "description": "Organization to fork to",
 
23
  "required": [
24
  "owner",
25
  "repo"
26
+ ]
 
27
  },
28
  "name": "fork_repository"
29
  }
pkg/github/__toolsnaps__/get_code_scanning_alert.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get details of a specific code scanning alert in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "alertNumber": {
10
  "description": "The number of the alert.",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "alertNumber"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_code_scanning_alert"
30
  }
 
5
  },
6
  "description": "Get details of a specific code scanning alert in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "alertNumber": {
11
  "description": "The number of the alert.",
 
24
  "owner",
25
  "repo",
26
  "alertNumber"
27
+ ]
 
28
  },
29
  "name": "get_code_scanning_alert"
30
  }
pkg/github/__toolsnaps__/get_commit.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get details for a commit from a GitHub repository",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -34,8 +35,7 @@
34
  "owner",
35
  "repo",
36
  "sha"
37
- ],
38
- "type": "object"
39
  },
40
  "name": "get_commit"
41
  }
 
5
  },
6
  "description": "Get details for a commit from a GitHub repository",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
35
  "owner",
36
  "repo",
37
  "sha"
38
+ ]
 
39
  },
40
  "name": "get_commit"
41
  }
pkg/github/__toolsnaps__/get_dependabot_alert.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get details of a specific dependabot alert in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "alertNumber": {
10
  "description": "The number of the alert.",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "alertNumber"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_dependabot_alert"
30
  }
 
5
  },
6
  "description": "Get details of a specific dependabot alert in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "alertNumber": {
11
  "description": "The number of the alert.",
 
24
  "owner",
25
  "repo",
26
  "alertNumber"
27
+ ]
 
28
  },
29
  "name": "get_dependabot_alert"
30
  }
pkg/github/__toolsnaps__/get_file_contents.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get the contents of a file or directory from a GitHub repository",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner (username or organization)",
@@ -31,8 +32,7 @@
31
  "required": [
32
  "owner",
33
  "repo"
34
- ],
35
- "type": "object"
36
  },
37
  "name": "get_file_contents"
38
  }
 
5
  },
6
  "description": "Get the contents of a file or directory from a GitHub repository",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner (username or organization)",
 
32
  "required": [
33
  "owner",
34
  "repo"
35
+ ]
 
36
  },
37
  "name": "get_file_contents"
38
  }
pkg/github/__toolsnaps__/get_issue.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get details of a specific issue in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "issue_number": {
10
  "description": "The number of the issue",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "issue_number"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_issue"
30
  }
 
5
  },
6
  "description": "Get details of a specific issue in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "issue_number": {
11
  "description": "The number of the issue",
 
24
  "owner",
25
  "repo",
26
  "issue_number"
27
+ ]
 
28
  },
29
  "name": "get_issue"
30
  }
pkg/github/__toolsnaps__/get_issue_comments.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get comments for a specific issue in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "issue_number": {
10
  "description": "Issue number",
@@ -34,8 +35,7 @@
34
  "owner",
35
  "repo",
36
  "issue_number"
37
- ],
38
- "type": "object"
39
  },
40
  "name": "get_issue_comments"
41
  }
 
5
  },
6
  "description": "Get comments for a specific issue in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "issue_number": {
11
  "description": "Issue number",
 
35
  "owner",
36
  "repo",
37
  "issue_number"
38
+ ]
 
39
  },
40
  "name": "get_issue_comments"
41
  }
pkg/github/__toolsnaps__/get_me.snap CHANGED
@@ -5,7 +5,6 @@
5
  },
6
  "description": "Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.",
7
  "inputSchema": {
8
- "properties": {},
9
  "type": "object"
10
  },
11
  "name": "get_me"
 
5
  },
6
  "description": "Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.",
7
  "inputSchema": {
 
8
  "type": "object"
9
  },
10
  "name": "get_me"
pkg/github/__toolsnaps__/get_notification_details.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get detailed information for a specific GitHub notification, always call this tool when the user asks for details about a specific notification, if you don't know the ID list notifications first.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "notificationID": {
10
  "description": "The ID of the notification",
@@ -13,8 +14,7 @@
13
  },
14
  "required": [
15
  "notificationID"
16
- ],
17
- "type": "object"
18
  },
19
  "name": "get_notification_details"
20
  }
 
5
  },
6
  "description": "Get detailed information for a specific GitHub notification, always call this tool when the user asks for details about a specific notification, if you don't know the ID list notifications first.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "notificationID": {
11
  "description": "The ID of the notification",
 
14
  },
15
  "required": [
16
  "notificationID"
17
+ ]
 
18
  },
19
  "name": "get_notification_details"
20
  }
pkg/github/__toolsnaps__/get_pull_request.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get details of a specific pull request in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "pullNumber"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_pull_request"
30
  }
 
5
  },
6
  "description": "Get details of a specific pull request in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
24
  "owner",
25
  "repo",
26
  "pullNumber"
27
+ ]
 
28
  },
29
  "name": "get_pull_request"
30
  }
pkg/github/__toolsnaps__/get_pull_request_comments.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get comments for a specific pull request.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "pullNumber"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_pull_request_comments"
30
  }
 
5
  },
6
  "description": "Get comments for a specific pull request.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
24
  "owner",
25
  "repo",
26
  "pullNumber"
27
+ ]
 
28
  },
29
  "name": "get_pull_request_comments"
30
  }
pkg/github/__toolsnaps__/get_pull_request_diff.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get the diff of a pull request.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "pullNumber"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_pull_request_diff"
30
  }
 
5
  },
6
  "description": "Get the diff of a pull request.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
24
  "owner",
25
  "repo",
26
  "pullNumber"
27
+ ]
 
28
  },
29
  "name": "get_pull_request_diff"
30
  }
pkg/github/__toolsnaps__/get_pull_request_files.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get the files changed in a specific pull request.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -34,8 +35,7 @@
34
  "owner",
35
  "repo",
36
  "pullNumber"
37
- ],
38
- "type": "object"
39
  },
40
  "name": "get_pull_request_files"
41
  }
 
5
  },
6
  "description": "Get the files changed in a specific pull request.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
35
  "owner",
36
  "repo",
37
  "pullNumber"
38
+ ]
 
39
  },
40
  "name": "get_pull_request_files"
41
  }
pkg/github/__toolsnaps__/get_pull_request_reviews.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get reviews for a specific pull request.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "pullNumber"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_pull_request_reviews"
30
  }
 
5
  },
6
  "description": "Get reviews for a specific pull request.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
24
  "owner",
25
  "repo",
26
  "pullNumber"
27
+ ]
 
28
  },
29
  "name": "get_pull_request_reviews"
30
  }
pkg/github/__toolsnaps__/get_pull_request_status.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get the status of a specific pull request.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "pullNumber"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_pull_request_status"
30
  }
 
5
  },
6
  "description": "Get the status of a specific pull request.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
24
  "owner",
25
  "repo",
26
  "pullNumber"
27
+ ]
 
28
  },
29
  "name": "get_pull_request_status"
30
  }
pkg/github/__toolsnaps__/get_release_by_tag.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get a specific release by its tag name in a GitHub repository",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "tag"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_release_by_tag"
30
  }
 
5
  },
6
  "description": "Get a specific release by its tag name in a GitHub repository",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
24
  "owner",
25
  "repo",
26
  "tag"
27
+ ]
 
28
  },
29
  "name": "get_release_by_tag"
30
  }
pkg/github/__toolsnaps__/get_tag.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get details about a specific git tag in a GitHub repository",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -23,8 +24,7 @@
23
  "owner",
24
  "repo",
25
  "tag"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "get_tag"
30
  }
 
5
  },
6
  "description": "Get details about a specific git tag in a GitHub repository",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
24
  "owner",
25
  "repo",
26
  "tag"
27
+ ]
 
28
  },
29
  "name": "get_tag"
30
  }
pkg/github/__toolsnaps__/get_team_members.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials",
7
  "inputSchema": {
 
8
  "properties": {
9
  "org": {
10
  "description": "Organization login (owner) that contains the team.",
@@ -18,8 +19,7 @@
18
  "required": [
19
  "org",
20
  "team_slug"
21
- ],
22
- "type": "object"
23
  },
24
  "name": "get_team_members"
25
  }
 
5
  },
6
  "description": "Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "org": {
11
  "description": "Organization login (owner) that contains the team.",
 
19
  "required": [
20
  "org",
21
  "team_slug"
22
+ ]
 
23
  },
24
  "name": "get_team_members"
25
  }
pkg/github/__toolsnaps__/get_teams.snap CHANGED
@@ -5,13 +5,13 @@
5
  },
6
  "description": "Get details of the teams the user is a member of. Limited to organizations accessible with current credentials",
7
  "inputSchema": {
 
8
  "properties": {
9
  "user": {
10
  "description": "Username to get teams for. If not provided, uses the authenticated user.",
11
  "type": "string"
12
  }
13
- },
14
- "type": "object"
15
  },
16
  "name": "get_teams"
17
  }
 
5
  },
6
  "description": "Get details of the teams the user is a member of. Limited to organizations accessible with current credentials",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "user": {
11
  "description": "Username to get teams for. If not provided, uses the authenticated user.",
12
  "type": "string"
13
  }
14
+ }
 
15
  },
16
  "name": "get_teams"
17
  }
pkg/github/__toolsnaps__/list_branches.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "List branches in a GitHub repository",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -29,8 +30,7 @@
29
  "required": [
30
  "owner",
31
  "repo"
32
- ],
33
- "type": "object"
34
  },
35
  "name": "list_branches"
36
  }
 
5
  },
6
  "description": "List branches in a GitHub repository",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
30
  "required": [
31
  "owner",
32
  "repo"
33
+ ]
 
34
  },
35
  "name": "list_branches"
36
  }
pkg/github/__toolsnaps__/list_code_scanning_alerts.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "List code scanning alerts in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "The owner of the repository.",
@@ -50,8 +51,7 @@
50
  "required": [
51
  "owner",
52
  "repo"
53
- ],
54
- "type": "object"
55
  },
56
  "name": "list_code_scanning_alerts"
57
  }
 
5
  },
6
  "description": "List code scanning alerts in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "The owner of the repository.",
 
51
  "required": [
52
  "owner",
53
  "repo"
54
+ ]
 
55
  },
56
  "name": "list_code_scanning_alerts"
57
  }
pkg/github/__toolsnaps__/list_commits.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).",
7
  "inputSchema": {
 
8
  "properties": {
9
  "author": {
10
  "description": "Author username or email address to filter commits by",
@@ -37,8 +38,7 @@
37
  "required": [
38
  "owner",
39
  "repo"
40
- ],
41
- "type": "object"
42
  },
43
  "name": "list_commits"
44
  }
 
5
  },
6
  "description": "Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "author": {
11
  "description": "Author username or email address to filter commits by",
 
38
  "required": [
39
  "owner",
40
  "repo"
41
+ ]
 
42
  },
43
  "name": "list_commits"
44
  }
pkg/github/__toolsnaps__/list_dependabot_alerts.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "List dependabot alerts in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "The owner of the repository.",
@@ -39,8 +40,7 @@
39
  "required": [
40
  "owner",
41
  "repo"
42
- ],
43
- "type": "object"
44
  },
45
  "name": "list_dependabot_alerts"
46
  }
 
5
  },
6
  "description": "List dependabot alerts in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "The owner of the repository.",
 
40
  "required": [
41
  "owner",
42
  "repo"
43
+ ]
 
44
  },
45
  "name": "list_dependabot_alerts"
46
  }
pkg/github/__toolsnaps__/list_issue_types.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "List supported issue types for repository owner (organization).",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "The organization owner of the repository",
@@ -13,8 +14,7 @@
13
  },
14
  "required": [
15
  "owner"
16
- ],
17
- "type": "object"
18
  },
19
  "name": "list_issue_types"
20
  }
 
5
  },
6
  "description": "List supported issue types for repository owner (organization).",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "The organization owner of the repository",
 
14
  },
15
  "required": [
16
  "owner"
17
+ ]
 
18
  },
19
  "name": "list_issue_types"
20
  }
pkg/github/__toolsnaps__/list_issues.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "after": {
10
  "description": "Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs.",
@@ -64,8 +65,7 @@
64
  "required": [
65
  "owner",
66
  "repo"
67
- ],
68
- "type": "object"
69
  },
70
  "name": "list_issues"
71
  }
 
5
  },
6
  "description": "List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "after": {
11
  "description": "Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs.",
 
65
  "required": [
66
  "owner",
67
  "repo"
68
+ ]
 
69
  },
70
  "name": "list_issues"
71
  }
pkg/github/__toolsnaps__/list_notifications.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Lists all GitHub notifications for the authenticated user, including unread notifications, mentions, review requests, assignments, and updates on issues or pull requests. Use this tool whenever the user asks what to work on next, requests a summary of their GitHub activity, wants to see pending reviews, or needs to check for new updates or tasks. This tool is the primary way to discover actionable items, reminders, and outstanding work on GitHub. Always call this tool when asked what to work on next, what is pending, or what needs attention in GitHub.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "before": {
10
  "description": "Only show notifications updated before the given time (ISO 8601 format)",
@@ -42,8 +43,7 @@
42
  "description": "Only show notifications updated after the given time (ISO 8601 format)",
43
  "type": "string"
44
  }
45
- },
46
- "type": "object"
47
  },
48
  "name": "list_notifications"
49
  }
 
5
  },
6
  "description": "Lists all GitHub notifications for the authenticated user, including unread notifications, mentions, review requests, assignments, and updates on issues or pull requests. Use this tool whenever the user asks what to work on next, requests a summary of their GitHub activity, wants to see pending reviews, or needs to check for new updates or tasks. This tool is the primary way to discover actionable items, reminders, and outstanding work on GitHub. Always call this tool when asked what to work on next, what is pending, or what needs attention in GitHub.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "before": {
11
  "description": "Only show notifications updated before the given time (ISO 8601 format)",
 
43
  "description": "Only show notifications updated after the given time (ISO 8601 format)",
44
  "type": "string"
45
  }
46
+ }
 
47
  },
48
  "name": "list_notifications"
49
  }
pkg/github/__toolsnaps__/list_pull_requests.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "base": {
10
  "description": "Filter by base branch",
@@ -64,8 +65,7 @@
64
  "required": [
65
  "owner",
66
  "repo"
67
- ],
68
- "type": "object"
69
  },
70
  "name": "list_pull_requests"
71
  }
 
5
  },
6
  "description": "List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "base": {
11
  "description": "Filter by base branch",
 
65
  "required": [
66
  "owner",
67
  "repo"
68
+ ]
 
69
  },
70
  "name": "list_pull_requests"
71
  }
pkg/github/__toolsnaps__/list_sub_issues.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "List sub-issues for a specific issue in a GitHub repository.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "issue_number": {
10
  "description": "Issue number",
@@ -31,8 +32,7 @@
31
  "owner",
32
  "repo",
33
  "issue_number"
34
- ],
35
- "type": "object"
36
  },
37
  "name": "list_sub_issues"
38
  }
 
5
  },
6
  "description": "List sub-issues for a specific issue in a GitHub repository.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "issue_number": {
11
  "description": "Issue number",
 
32
  "owner",
33
  "repo",
34
  "issue_number"
35
+ ]
 
36
  },
37
  "name": "list_sub_issues"
38
  }
pkg/github/__toolsnaps__/list_tags.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "List git tags in a GitHub repository",
7
  "inputSchema": {
 
8
  "properties": {
9
  "owner": {
10
  "description": "Repository owner",
@@ -29,8 +30,7 @@
29
  "required": [
30
  "owner",
31
  "repo"
32
- ],
33
- "type": "object"
34
  },
35
  "name": "list_tags"
36
  }
 
5
  },
6
  "description": "List git tags in a GitHub repository",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "owner": {
11
  "description": "Repository owner",
 
30
  "required": [
31
  "owner",
32
  "repo"
33
+ ]
 
34
  },
35
  "name": "list_tags"
36
  }
pkg/github/__toolsnaps__/manage_notification_subscription.snap CHANGED
@@ -5,6 +5,7 @@
5
  },
6
  "description": "Manage a notification subscription: ignore, watch, or delete a notification thread subscription.",
7
  "inputSchema": {
 
8
  "properties": {
9
  "action": {
10
  "description": "Action to perform: ignore, watch, or delete the notification subscription.",
@@ -23,8 +24,7 @@
23
  "required": [
24
  "notificationID",
25
  "action"
26
- ],
27
- "type": "object"
28
  },
29
  "name": "manage_notification_subscription"
30
  }
 
5
  },
6
  "description": "Manage a notification subscription: ignore, watch, or delete a notification thread subscription.",
7
  "inputSchema": {
8
+ "type": "object",
9
  "properties": {
10
  "action": {
11
  "description": "Action to perform: ignore, watch, or delete the notification subscription.",
 
24
  "required": [
25
  "notificationID",
26
  "action"
27
+ ]
 
28
  },
29
  "name": "manage_notification_subscription"
30
  }