|
3 | 3 | "_meta": { |
4 | 4 | "io.modelcontextprotocol.registry/publisher-provided": { |
5 | 5 | "io.github.stacklok": { |
6 | | - "ghcr.io/github/github-mcp-server:v1.4.0": { |
| 6 | + "ghcr.io/github/github-mcp-server:v1.5.0": { |
7 | 7 | "metadata": { |
8 | | - "last_updated": "2026-06-26T21:53:05Z", |
| 8 | + "last_updated": "2026-06-30T06:52:02Z", |
9 | 9 | "stars": 28440 |
10 | 10 | }, |
11 | 11 | "overview": "## GitHub MCP Server\n\nThe GitHub MCP server enables AI assistants to work directly with **GitHub repositories and resources** inside AI-driven workflows. It provides structured access to code, issues, pull requests, and repository metadata so assistants can reason about projects, propose changes, and manage collaboration without switching between tools.\n\nThis server is ideal for development, code review, project planning, and repository exploration workflows that benefit from tight integration with GitHub.", |
|
121 | 121 | "annotations": { |
122 | 122 | "title": "Add comment to issue or pull request" |
123 | 123 | }, |
124 | | - "description": "Add a comment to a specific issue in a GitHub repository. Use this tool to add comments to pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add review comments.", |
| 124 | + "description": "Add a comment and/or reaction to a specific issue or issue comment in a GitHub repository. Use this tool with pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add or react to review comments. At least one of body or reaction is required.", |
125 | 125 | "inputSchema": { |
126 | 126 | "properties": { |
127 | 127 | "body": { |
128 | | - "description": "Comment content", |
| 128 | + "description": "Comment content. Required unless reaction is provided.", |
129 | 129 | "type": "string" |
130 | 130 | }, |
| 131 | + "comment_id": { |
| 132 | + "description": "The numeric ID of the issue or pull request comment to react to. Use this for reactions to comments; omit it to react to the issue or pull request itself. Cannot be combined with body.", |
| 133 | + "minimum": 1, |
| 134 | + "type": "number" |
| 135 | + }, |
131 | 136 | "issue_number": { |
132 | | - "description": "Issue number to comment on", |
| 137 | + "description": "Issue or pull request number to comment on or react to.", |
133 | 138 | "type": "number" |
134 | 139 | }, |
135 | 140 | "owner": { |
136 | 141 | "description": "Repository owner", |
137 | 142 | "type": "string" |
138 | 143 | }, |
| 144 | + "reaction": { |
| 145 | + "description": "Emoji reaction to add. Required unless body is provided.", |
| 146 | + "enum": [ |
| 147 | + "+1", |
| 148 | + "-1", |
| 149 | + "laugh", |
| 150 | + "confused", |
| 151 | + "heart", |
| 152 | + "hooray", |
| 153 | + "rocket", |
| 154 | + "eyes" |
| 155 | + ], |
| 156 | + "type": "string" |
| 157 | + }, |
139 | 158 | "repo": { |
140 | 159 | "description": "Repository name", |
141 | 160 | "type": "string" |
|
144 | 163 | "required": [ |
145 | 164 | "owner", |
146 | 165 | "repo", |
147 | | - "issue_number", |
148 | | - "body" |
| 166 | + "issue_number" |
149 | 167 | ], |
150 | 168 | "type": "object" |
151 | 169 | }, |
|
155 | 173 | "annotations": { |
156 | 174 | "title": "Add reply to pull request comment" |
157 | 175 | }, |
158 | | - "description": "Add a reply to an existing pull request comment. This creates a new comment that is linked as a reply to the specified comment.", |
| 176 | + "description": "Add a reply and/or reaction to an existing pull request comment. This can create a new comment linked as a reply to the specified comment, add an emoji reaction to the specified comment, or do both. At least one of body or reaction is required.", |
159 | 177 | "inputSchema": { |
160 | 178 | "properties": { |
161 | 179 | "body": { |
162 | | - "description": "The text of the reply", |
| 180 | + "description": "The text of the reply. Required unless reaction is provided.", |
163 | 181 | "type": "string" |
164 | 182 | }, |
165 | 183 | "commentId": { |
166 | | - "description": "The ID of the comment to reply to", |
| 184 | + "description": "The numeric ID of the pull request review comment to reply or react to. Use the number from a #discussion_r... anchor, not the GraphQL thread node ID (PRRT_...).", |
| 185 | + "minimum": 1, |
167 | 186 | "type": "number" |
168 | 187 | }, |
169 | 188 | "owner": { |
170 | 189 | "description": "Repository owner", |
171 | 190 | "type": "string" |
172 | 191 | }, |
173 | 192 | "pullNumber": { |
174 | | - "description": "Pull request number", |
| 193 | + "description": "Pull request number. Required when body is provided.", |
175 | 194 | "type": "number" |
176 | 195 | }, |
| 196 | + "reaction": { |
| 197 | + "description": "Emoji reaction to add. Required unless body is provided.", |
| 198 | + "enum": [ |
| 199 | + "+1", |
| 200 | + "-1", |
| 201 | + "laugh", |
| 202 | + "confused", |
| 203 | + "heart", |
| 204 | + "hooray", |
| 205 | + "rocket", |
| 206 | + "eyes" |
| 207 | + ], |
| 208 | + "type": "string" |
| 209 | + }, |
177 | 210 | "repo": { |
178 | 211 | "description": "Repository name", |
179 | 212 | "type": "string" |
|
182 | 215 | "required": [ |
183 | 216 | "owner", |
184 | 217 | "repo", |
185 | | - "pullNumber", |
186 | | - "commentId", |
187 | | - "body" |
| 218 | + "commentId" |
188 | 219 | ], |
189 | 220 | "type": "object" |
190 | 221 | }, |
|
744 | 775 | "type": "number" |
745 | 776 | }, |
746 | 777 | "method": { |
747 | | - "description": "The read operation to perform on a single issue.\nOptions are:\n1. get - Get details of a specific issue.\n2. get_comments - Get issue comments.\n3. get_sub_issues - Get sub-issues of the issue.\n4. get_labels - Get labels assigned to the issue.\n", |
| 778 | + "description": "The read operation to perform on a single issue.\nOptions are:\n1. get - Get details of a specific issue.\n2. get_comments - Get issue comments.\n3. get_sub_issues - Get sub-issues (children) of the issue.\n4. get_parent - Get the parent issue, if this issue is a sub-issue of another.\n5. get_labels - Get labels assigned to the issue.\n", |
748 | 779 | "enum": [ |
749 | 780 | "get", |
750 | 781 | "get_comments", |
751 | 782 | "get_sub_issues", |
| 783 | + "get_parent", |
752 | 784 | "get_labels" |
753 | 785 | ], |
754 | 786 | "type": "string" |
|
805 | 837 | "description": "Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'.", |
806 | 838 | "type": "number" |
807 | 839 | }, |
| 840 | + "issue_fields": { |
| 841 | + "description": "Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'.", |
| 842 | + "items": { |
| 843 | + "additionalProperties": false, |
| 844 | + "properties": { |
| 845 | + "delete": { |
| 846 | + "description": "Set to true to clear this field's current value on the issue. Cannot be combined with 'value' or 'field_option_name'.", |
| 847 | + "enum": [ |
| 848 | + true |
| 849 | + ], |
| 850 | + "type": "boolean" |
| 851 | + }, |
| 852 | + "field_name": { |
| 853 | + "description": "Issue field name (case-insensitive). Must match a field returned by list_issue_fields for this repository or its organization.", |
| 854 | + "type": "string" |
| 855 | + }, |
| 856 | + "field_option_name": { |
| 857 | + "description": "Option name for single-select fields. Validated against the field's options before the API call. Cannot be combined with 'value' or 'delete'.", |
| 858 | + "type": "string" |
| 859 | + }, |
| 860 | + "value": { |
| 861 | + "description": "Value to set. Use for text, number, and date fields (date as YYYY-MM-DD). For single-select fields, prefer 'field_option_name' so the option is validated before the API call. Cannot be combined with 'field_option_name' or 'delete'.", |
| 862 | + "type": [ |
| 863 | + "string", |
| 864 | + "number", |
| 865 | + "boolean" |
| 866 | + ] |
| 867 | + } |
| 868 | + }, |
| 869 | + "required": [ |
| 870 | + "field_name" |
| 871 | + ], |
| 872 | + "type": "object" |
| 873 | + }, |
| 874 | + "type": "array" |
| 875 | + }, |
808 | 876 | "issue_number": { |
809 | 877 | "description": "Issue number to update", |
810 | 878 | "type": "number" |
|
963 | 1031 | }, |
964 | 1032 | "name": "list_commits" |
965 | 1033 | }, |
| 1034 | + { |
| 1035 | + "annotations": { |
| 1036 | + "readOnlyHint": true, |
| 1037 | + "title": "List issue fields" |
| 1038 | + }, |
| 1039 | + "description": "List issue fields for a repository or organization. Returns field definitions including name, type (text, number, date, single_select), and for single_select fields the list of valid option names. When repo is omitted, returns org-level fields directly.", |
| 1040 | + "inputSchema": { |
| 1041 | + "properties": { |
| 1042 | + "owner": { |
| 1043 | + "description": "The account owner of the repository or organization. The name is not case sensitive.", |
| 1044 | + "type": "string" |
| 1045 | + }, |
| 1046 | + "repo": { |
| 1047 | + "description": "The name of the repository. When provided, returns fields for this specific repository (inherited from its organization). When omitted, returns org-level fields directly.", |
| 1048 | + "type": "string" |
| 1049 | + } |
| 1050 | + }, |
| 1051 | + "required": [ |
| 1052 | + "owner" |
| 1053 | + ], |
| 1054 | + "type": "object" |
| 1055 | + }, |
| 1056 | + "name": "list_issue_fields" |
| 1057 | + }, |
966 | 1058 | { |
967 | 1059 | "annotations": { |
968 | 1060 | "readOnlyHint": true, |
|
1007 | 1099 | ], |
1008 | 1100 | "type": "string" |
1009 | 1101 | }, |
| 1102 | + "field_filters": { |
| 1103 | + "description": "Filter by custom issue field values. Each entry takes a field_name and a value; the server looks up the field and coerces the value to its type (single-select option name, text, number, or YYYY-MM-DD date).", |
| 1104 | + "items": { |
| 1105 | + "properties": { |
| 1106 | + "field_name": { |
| 1107 | + "description": "Name of the custom field (e.g. \"Priority\"). Case-insensitive.", |
| 1108 | + "type": "string" |
| 1109 | + }, |
| 1110 | + "value": { |
| 1111 | + "description": "Value to filter on. For single-select fields, the option name (e.g. \"P1\"). For dates, YYYY-MM-DD. For numbers, the numeric value as a string. For text, the text value.", |
| 1112 | + "type": "string" |
| 1113 | + } |
| 1114 | + }, |
| 1115 | + "required": [ |
| 1116 | + "field_name", |
| 1117 | + "value" |
| 1118 | + ], |
| 1119 | + "type": "object" |
| 1120 | + }, |
| 1121 | + "type": "array" |
| 1122 | + }, |
1010 | 1123 | "labels": { |
1011 | 1124 | "description": "Filter by labels", |
1012 | 1125 | "items": { |
|
1994 | 2107 | "issue_write", |
1995 | 2108 | "list_branches", |
1996 | 2109 | "list_commits", |
| 2110 | + "list_issue_fields", |
1997 | 2111 | "list_issue_types", |
1998 | 2112 | "list_issues", |
1999 | 2113 | "list_pull_requests", |
|
2052 | 2166 | "name": "GITHUB_READ_ONLY" |
2053 | 2167 | } |
2054 | 2168 | ], |
2055 | | - "identifier": "ghcr.io/github/github-mcp-server:v1.4.0", |
| 2169 | + "identifier": "ghcr.io/github/github-mcp-server:v1.5.0", |
2056 | 2170 | "registryType": "oci", |
2057 | 2171 | "transport": { |
2058 | 2172 | "type": "stdio" |
|
0 commit comments