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
+21-57Lines changed: 21 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -795,63 +795,27 @@ 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`: Next page cursor (from pageInfo.endCursor) (string, optional)
-`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 20) (number, optional)
808
+
-`project_number`: Project number (required for most methods) (number, optional)
809
+
-`query`: Filter string (CRITICAL for list_project_items). Combine filters by SPACE for logical AND (order doesn't matter): e.g. 'state:open is:issue priority:p1 label:bug'. **Content Type:** Use 'is:issue' for issues, 'is:pr' (or 'is:pull-request') for pull requests. **Format Rules:** Qualifiers (left of ':') with spaces use hyphens. Values (right of ':') with spaces use quotes. Examples: 'state:open is:issue sprint-name:"Q1 Planning"', 'is:pr team-name:"Backend Team" status:"In Review"', 'parent-issue:"github/repo#123"'. Filters: is:issue/pr/open/closed/merged, assignee:@me/username, label:name, status:value, priority:p1, updated:>@today-7d, title:*text*, -label:wontfix (negate), label:bug,critical (OR with comma), priority:1..3 (range), no:assignee, has:label, iteration:@current (string, optional)
810
+
811
+
-**project_write** - Modify project items
812
+
-`item_id`: For add: issue/PR ID. For update/delete: project item ID (not issue/PR ID) (number, required)
813
+
-`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)
816
+
-`owner_type`: Owner type: 'user' or 'org' (string, required)
817
+
-`project_number`: Project number (number, required)
818
+
-`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)
"description": "Read operations for GitHub Projects V2.\n\nMethods: get_project, list_projects, get_project_field, list_project_fields, get_project_item, list_project_items\n\n**For list_project_items:**\n1. Call list_project_fields FIRST for field IDs\n2. Use 'query' to filter (e.g., 'state:open priority:p1')\n3. Use 'fields' with IDs from step 1\n\nExamples: query='state:open priority:p1', query='state:closed priority:p1 milestone:\"X\" assignee:@me', query='unblocks:*copilot*'",
"description": "Field ID (required for get_project_field)",
19
+
"type": "number"
20
+
},
21
+
"fields": {
22
+
"description": "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.",
23
+
"items": {
24
+
"type": "string"
25
+
},
26
+
"type": "array"
27
+
},
28
+
"item_id": {
29
+
"description": "Item ID (required for get_project_item)",
30
+
"type": "number"
31
+
},
32
+
"method": {
33
+
"description": "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)",
34
+
"enum": [
35
+
"get_project",
36
+
"list_projects",
37
+
"get_project_field",
38
+
"list_project_fields",
39
+
"get_project_item",
40
+
"list_project_items"
41
+
],
42
+
"type": "string"
43
+
},
44
+
"owner": {
45
+
"description": "GitHub username or org name (case-insensitive)",
46
+
"type": "string"
47
+
},
48
+
"owner_type": {
49
+
"description": "Owner type: 'user' or 'org'",
50
+
"enum": [
51
+
"user",
52
+
"org"
53
+
],
54
+
"type": "string"
55
+
},
56
+
"per_page": {
57
+
"description": "Results per page (max 20)",
58
+
"type": "number"
59
+
},
60
+
"project_number": {
61
+
"description": "Project number (required for most methods)",
62
+
"type": "number"
63
+
},
64
+
"query": {
65
+
"description": "Filter string (CRITICAL for list_project_items). Combine filters by SPACE for logical AND (order doesn't matter): e.g. 'state:open is:issue priority:p1 label:bug'. **Content Type:** Use 'is:issue' for issues, 'is:pr' (or 'is:pull-request') for pull requests. **Format Rules:** Qualifiers (left of ':') with spaces use hyphens. Values (right of ':') with spaces use quotes. Examples: 'state:open is:issue sprint-name:\"Q1 Planning\"', 'is:pr team-name:\"Backend Team\" status:\"In Review\"', 'parent-issue:\"github/repo#123\"'. Filters: is:issue/pr/open/closed/merged, assignee:@me/username, label:name, status:value, priority:p1, updated:\u003e@today-7d, title:*text*, -label:wontfix (negate), label:bug,critical (OR with comma), priority:1..3 (range), no:assignee, has:label, iteration:@current",
"description": "Write operations for GitHub Projects V2.\n\nMethods: add_project_item (add issue/PR), update_project_item (update fields), delete_project_item (remove item).\nNote: item_id for add is the issue/PR ID; for update/delete it's the project item ID.",
7
+
"inputSchema": {
8
+
"properties": {
9
+
"item_id": {
10
+
"description": "For add: issue/PR ID. For update/delete: project item ID (not issue/PR ID)",
11
+
"type": "number"
12
+
},
13
+
"item_type": {
14
+
"description": "Type to add: 'issue' or 'pull_request' (required for add_project_item)",
"description": "GitHub username or org name (case-insensitive)",
32
+
"type": "string"
33
+
},
34
+
"owner_type": {
35
+
"description": "Owner type: 'user' or 'org'",
36
+
"enum": [
37
+
"user",
38
+
"org"
39
+
],
40
+
"type": "string"
41
+
},
42
+
"project_number": {
43
+
"description": "Project number",
44
+
"type": "number"
45
+
},
46
+
"updated_field": {
47
+
"description": "Field update object (required for update_project_item). Format: {\"id\": 123456, \"value\": \u003cvalue\u003e}. Value types: text=string, single-select=option ID (number), date=ISO string, number=number. Set value to null to clear.",
0 commit comments