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
Copy file name to clipboardExpand all lines: README.md
+68-57Lines changed: 68 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -795,63 +795,74 @@ Options are:
795
795
796
796
<summary>Projects</summary>
797
797
798
-
-**add_project_item** - Add project item
799
-
-`item_id`: The numeric ID of the issue or pull request to add to the project. (number, required)
800
-
-`item_type`: The item's type, either issue or pull_request. (string, required)
801
-
-`owner`: If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive. (string, required)
802
-
-`owner_type`: Owner type (string, required)
803
-
-`project_number`: The project's number. (number, required)
804
-
805
-
-**delete_project_item** - Delete project item
806
-
-`item_id`: The internal project item ID to delete from the project (not the issue or pull request ID). (number, required)
807
-
-`owner`: If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive. (string, required)
808
-
-`owner_type`: Owner type (string, required)
809
-
-`project_number`: The project's number. (number, required)
810
-
811
-
-**get_project** - Get project
812
-
-`owner`: If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive. (string, required)
813
-
-`owner_type`: Owner type (string, required)
814
-
-`project_number`: The project's number (number, required)
815
-
816
-
-**get_project_field** - Get project field
817
-
-`field_id`: The field's id. (number, required)
818
-
-`owner`: If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive. (string, required)
819
-
-`owner_type`: Owner type (string, required)
820
-
-`project_number`: The project's number. (number, required)
821
-
822
-
-**get_project_item** - Get project item
823
-
-`fields`: Specific list of field IDs to include in the response (e.g. ["102589", "985201", "169875"]). If not provided, only the title field is included. (string[], optional)
824
-
-`item_id`: The item's ID. (number, required)
825
-
-`owner`: If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive. (string, required)
826
-
-`owner_type`: Owner type (string, required)
827
-
-`project_number`: The project's number. (number, required)
828
-
829
-
-**list_project_fields** - List project fields
830
-
-`owner`: If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive. (string, required)
831
-
-`owner_type`: Owner type (string, required)
832
-
-`per_page`: Number of results per page (max 100, default: 30) (number, optional)
833
-
-`project_number`: The project's number. (number, required)
834
-
835
-
-**list_project_items** - List project items
836
-
-`fields`: Specific list of field IDs to include in the response (e.g. ["102589", "985201", "169875"]). If not provided, only the title field is included. (string[], optional)
837
-
-`owner`: If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive. (string, required)
838
-
-`owner_type`: Owner type (string, required)
839
-
-`per_page`: Number of results per page (max 100, default: 30) (number, optional)
840
-
-`project_number`: The project's number. (number, required)
841
-
-`query`: Search query to filter items (string, optional)
842
-
843
-
-**list_projects** - List projects
844
-
-`owner`: If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive. (string, required)
845
-
-`owner_type`: Owner type (string, required)
846
-
-`per_page`: Number of results per page (max 100, default: 30) (number, optional)
847
-
-`query`: Filter projects by a search query (matches title and description) (string, optional)
848
-
849
-
-**update_project_item** - Update project item
850
-
-`item_id`: The unique identifier of the project item. This is not the issue or pull request ID. (number, required)
851
-
-`owner`: If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive. (string, required)
852
-
-`owner_type`: Owner type (string, required)
853
-
-`project_number`: The project's number. (number, required)
854
-
-`updated_field`: Object consisting of the ID of the project field to update and the new value for the field. To clear the field, set value to null. Example: {"id": 123456, "value": "New Value"} (object, required)
798
+
-**project_read** - Read project information
799
+
-`after`: Forward pagination cursor. Use when the previous response's pageInfo.hasNextPage=true. Supply pageInfo.nextCursor as 'after' and immediately request the next page. LOOP UNTIL pageInfo.hasNextPage=false (don't stop early). Keep query, fields, and per_page identical for every page. (string, optional)
800
+
-`before`: Backward pagination cursor (rare): supply to move to the preceding page using pageInfo.prevCursor. Not needed for normal forward iteration. (string, optional)
801
+
-`field_id`: Field ID (required for get_project_field) (number, optional)
802
+
-`fields`: Field IDs to include (e.g. ["102589", "985201"]). CRITICAL: Always provide to get field values. Without this, only titles returned. Get IDs from list_project_fields first. (string[], optional)
803
+
-`item_id`: Item ID (required for get_project_item) (number, optional)
804
+
-`method`: Read operation: get_project, list_projects, get_project_field, list_project_fields (call FIRST for IDs), get_project_item, list_project_items (use query + fields) (string, required)
805
+
-`owner`: GitHub username or org name (case-insensitive) (string, required)
806
+
-`owner_type`: Owner type: 'user' or 'org' (string, required)
807
+
-`per_page`: Results per page (max 50). Keep constant across paginated requests; changing mid-sequence can complicate page traversal. (number, optional)
808
+
-`project_number`: Project number (required for most methods) (number, optional)
809
+
-`query`: Query string (used ONLY with list_projects and list_project_items).
810
+
811
+
Pattern Split:
812
+
813
+
1. list_projects (project metadata only):
814
+
Scope: title text + open/closed state.
815
+
PERMITTED qualifiers: is:open, is:closed (state), simple title terms.
Do not analyze until ALL pages fetched (loop while pageInfo.hasNextPage=true). Always reuse identical query, fields, per_page.
850
+
851
+
Recovery Guidance:
852
+
If user provides ambiguous request ("show project activity") → ask clarification OR return mixed set (omit is:issue/is:pr). If user mixes project + item qualifiers in one phrase → split: run list_projects for discovery, then list_project_items for detail.
853
+
854
+
Never:
855
+
- Infer field IDs; fetch via list_project_fields.
856
+
- Drop 'fields' param on subsequent pages if field values are needed. (string, optional)
857
+
858
+
-**project_write** - Modify project items
859
+
-`item_id`: For add: issue/PR ID. For update/delete: project item ID (not issue/PR ID) (number, required)
860
+
-`item_type`: Type to add: 'issue' or 'pull_request' (required for add_project_item) (string, optional)
-`owner`: GitHub username or org name (case-insensitive) (string, required)
863
+
-`owner_type`: Owner type: 'user' or 'org' (string, required)
864
+
-`project_number`: Project number (number, required)
865
+
-`updated_field`: Field update object (required for update_project_item). Format: {"id": 123456, "value": <value>}. Value types: text=string, single-select=option ID (number), date=ISO string, number=number. Set value to null to clear. (object, optional)
0 commit comments