You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resolves conflicts from merging origin/main into the multi-select branch.
main added the `fields_param` feature which also split `list_issues` into
flag-gated variants, colliding with this branch's
`remote_mcp_issue_fields_multiselect` split.
Rather than gate `list_issues` on two independent flags (which the inventory's
single FeatureFlagEnable can't express for the "both on" case), the multi-select
feature flag is removed entirely — multi-select is now unconditional, matching
the already-unconditional read paths:
- issue_write / list_issue_fields collapse to their single multi-select-aware
variant; the legacy siblings and issues_legacy_multiselect.go are deleted
- list_issues adopts main's fields_param split (ListIssues / LegacyListIssues)
with the multi-select `values` slot always advertised
- optionalIssueWriteFields / resolveIssueRequestFieldValues / parseRawFieldFilters
drop the now-constant multiSelectEnabled bool and their dead single-select-only
branches
- FeatureFlagIssueFieldsMultiSelect const, allowlist and insiders entries removed
- toolsnaps + generated docs regenerated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: README.md
+26-11Lines changed: 26 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -891,7 +891,7 @@ The following sets of tools are available:
891
891
-`issue_number`: The number of the issue (number, required)
892
892
-`method`: The read operation to perform on a single issue.
893
893
Options are:
894
-
1. get - Get details of a specific issue.
894
+
1. get - Get issue details. Also returns best-effort hierarchy flags (`has_parent`, `has_children`); `parent` and `sub_issues_summary` are optional relationship summaries.
895
895
2. get_comments - Get issue comments.
896
896
3. get_sub_issues - Get sub-issues (children) of the issue.
897
897
4. get_parent - Get the parent issue, if this issue is a sub-issue of another.
@@ -907,7 +907,7 @@ The following sets of tools are available:
907
907
-`assignees`: Usernames to assign to this issue (string[], optional)
908
908
-`body`: Issue body content (string, optional)
909
909
-`duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
910
-
-`issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
910
+
-`issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', 'field_option_names', or 'delete: true'. (object[], optional)
911
911
-`issue_number`: Issue number to update (number, optional)
912
912
-`labels`: Labels to apply to this issue (string[], optional)
913
913
-`method`: Write operation to perform on a single issue.
@@ -939,7 +939,7 @@ The following sets of tools are available:
939
939
-**Required OAuth Scopes**: `repo`
940
940
-`after`: Cursor for pagination. Use the cursor from the previous response. (string, optional)
941
941
-`direction`: Order direction. If provided, the 'orderBy' also needs to be provided. (string, optional)
942
-
-`field_filters`: 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). (object[], optional)
942
+
-`field_filters`: Filter by custom issue field values. Each entry takes a field_name and either 'value' (text, number, YYYY-MM-DD date, or single-select option name) or 'values' (multi-select option names). For multi-select fields, all listed values must be set on an issue for it to match (AND semantics) — to match any-of, make multiple list_issues calls and union the results. (object[], optional)
943
943
-`labels`: Filter by labels (string[], optional)
944
944
-`orderBy`: Order issues by field. If provided, the 'direction' also needs to be provided. (string, optional)
945
945
-`owner`: Repository owner (string, required)
@@ -968,7 +968,8 @@ The following sets of tools are available:
968
968
- 'add' - add a sub-issue to a parent issue in a GitHub repository.
969
969
- 'remove' - remove a sub-issue from a parent issue in a GitHub repository.
970
970
- 'reprioritize' - change the order of sub-issues within a parent issue in a GitHub repository. Use either 'after_id' or 'before_id' to specify the new position.
971
-
(string, required)
971
+
Writes issue hierarchy. To move a sub-issue to a new parent, use `add` with `replace_parent=true`; there is no writable parent field.
972
+
(string, required)
972
973
-`owner`: Repository owner (string, required)
973
974
-`replace_parent`: When true, replaces the sub-issue's current parent issue. Use with 'add' method only. (boolean, optional)
974
975
-`repo`: Repository name (string, required)
@@ -1068,7 +1069,8 @@ The following sets of tools are available:
-`field_id`: The field's ID. Required for 'get_project_field' method. (number, optional)
1071
-
-`fields`: Specific list of field IDs to include in the response when getting a project item (e.g. ["102589", "985201", "169875"]). If not provided, only the title field is included. Only used for 'get_project_item' method. (string[], optional)
1072
+
-`field_names`: Specific list of field names to include in the response when getting a project item (e.g. ["Status", "Priority"]). Resolved server-side to field IDs — pass this instead of 'fields' when you only know the human-readable names. Mutually exclusive with 'fields' — provide one, not both. Only used for 'get_project_item' method. (string[], optional)
1073
+
-`fields`: Specific list of field IDs to include in the response when getting a project item (e.g. ["102589", "985201", "169875"]). If neither 'fields' nor 'field_names' is provided, only the title field is included. Mutually exclusive with 'field_names' — provide one, not both. Only used for 'get_project_item' method. (string[], optional)
1072
1074
-`item_id`: The item's ID. Required for 'get_project_item' method. (number, optional)
1073
1075
-`method`: The method to execute (string, required)
1074
1076
-`owner`: The owner (user or organization login). The name is not case sensitive. (string, optional)
@@ -1081,7 +1083,8 @@ The following sets of tools are available:
-`after`: Forward pagination cursor from previous pageInfo.nextCursor. (string, optional)
1083
1085
-`before`: Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)
1084
-
-`fields`: Field IDs to include when listing project items (e.g. ["102589", "985201"]). CRITICAL: Always provide to get field values. Without this, only titles returned. Only used for 'list_project_items' method. (string[], optional)
1086
+
-`field_names`: Field names to include when listing project items (e.g. ["Status", "Priority"]). Resolved server-side to field IDs — pass this instead of 'fields' when you only know the human-readable names. Names that fail to resolve return a structured error. Mutually exclusive with 'fields' — provide one, not both. Only used for 'list_project_items' method. (string[], optional)
1087
+
-`fields`: Field IDs to include when listing project items (e.g. ["102589", "985201"]). CRITICAL: Always provide to get field values. Without this (and without 'field_names'), only titles returned. Mutually exclusive with 'field_names' — provide one, not both. Only used for 'list_project_items' method. (string[], optional)
1085
1088
-`method`: The action to perform (string, required)
1086
1089
-`owner`: The owner (user or organization login). The name is not case sensitive. (string, required)
1087
1090
-`owner_type`: Owner type (user or org). If not provided, will automatically try both. (string, optional)
@@ -1093,10 +1096,10 @@ The following sets of tools are available:
1093
1096
-**Required OAuth Scopes**: `project`
1094
1097
-`body`: The body of the status update (markdown). Used for 'create_project_status_update' method. (string, optional)
1095
1098
-`field_name`: The name of the iteration field (e.g. 'Sprint'). Required for 'create_iteration_field' method. (string, optional)
1096
-
-`issue_number`: The issue number (use when item_type is 'issue' for 'add_project_item' method). Provide either issue_number or pull_request_number. (number, optional)
1097
-
-`item_id`: The project item ID. Required for 'update_project_item' and 'delete_project_item' methods. (number, optional)
1098
-
-`item_owner`: The owner (user or organization) of the repository containing the issue or pull request. Required for 'add_project_item' method. (string, optional)
1099
-
-`item_repo`: The name of the repository containing the issue or pull request. Required for 'add_project_item' method. (string, optional)
1099
+
-`issue_number`: The issue number. Required for 'add_project_item' when item_type is 'issue'. Also accepted by 'update_project_item' to resolve the item by issue number (combine with item_owner and item_repo). (number, optional)
1100
+
-`item_id`: The project item ID. Required for 'delete_project_item'. For 'update_project_item', provide either item_id, or (item_owner + item_repo + issue_number) to resolve the item by issue. (number, optional)
1101
+
-`item_owner`: The owner (user or organization) of the repository containing the issue or pull request. Required for 'add_project_item' method. Also accepted by 'update_project_item' when resolving the item by issue number. (string, optional)
1102
+
-`item_repo`: The name of the repository containing the issue or pull request. Required for 'add_project_item' method. Also accepted by 'update_project_item' when resolving the item by issue number. (string, optional)
1100
1103
-`item_type`: The item's type, either issue or pull_request. Required for 'add_project_item' method. (string, optional)
1101
1104
-`iteration_duration`: Duration in days for iterations of the field (e.g. 7 for weekly, 14 for bi-weekly). Required for 'create_iteration_field' method. (number, optional)
1102
1105
-`iterations`: Custom iterations for 'create_iteration_field' method. Only set this when you need iterations with varying durations, breaks between them, or specific titles. Otherwise omit it: GitHub auto-creates three iterations of 'iteration_duration' days starting on 'start_date', which is the right choice for most cases. (object[], optional)
@@ -1109,7 +1112,7 @@ The following sets of tools are available:
1109
1112
-`status`: The status of the project. Used for 'create_project_status_update' method. (string, optional)
1110
1113
-`target_date`: The target date of the status update in YYYY-MM-DD format. Used for 'create_project_status_update' method. (string, optional)
1111
1114
-`title`: The project title. Required for 'create_project' method. (string, optional)
1112
-
-`updated_field`: Object consisting of the ID of the project field to update and the new valuefor the field. To clear the field, set value to null. Example: {"id": 123456, "value": "New Value"}. Required for 'update_project_item' method. (object, optional)
1115
+
-`updated_field`: Object describing the field to update and its new value. Required for 'update_project_item'. Two shapes are accepted: (1) by ID — {"id": 123456, "value": "..."}; (2) by name — {"name": "Status", "value": "In Progress"}. For single-select fields, option-name resolution requires the by-name shape; on the by-ID shape, pass the option ID. Set value to null to clear the field. (object, optional)
The exported Go API of this module should currently be considered unstable, and subject to breaking changes. In the future, we may offer stability; please file an issue if there is a use case where this would be valuable.
1657
1660
1661
+
## Contributing
1662
+
1663
+
Contributions are welcome. Before opening a pull request, please read the [contributing guide](CONTRIBUTING.md) for setup, testing, linting, and documentation generation instructions.
1664
+
1665
+
## Support
1666
+
1667
+
For help using the GitHub MCP Server, see the [support guide](SUPPORT.md). If you have found a bug or want to request a feature, please search existing issues before opening a new one.
1668
+
1669
+
## Security
1670
+
1671
+
Please do not report security vulnerabilities through public issues. Follow the instructions in the [security policy](SECURITY.md) to report vulnerabilities responsibly.
1672
+
1658
1673
## License
1659
1674
1660
1675
This project is licensed under the terms of the MIT open source license. Please refer to [MIT](./LICENSE) for the full terms.
0 commit comments