Title: Feature Request: High-level helper tools for GitHub Projects V2 (e.g. move_issue_to_column) · Issue #2603 · github/github-mcp-server · GitHub
Open Graph Title: Feature Request: High-level helper tools for GitHub Projects V2 (e.g. move_issue_to_column) · Issue #2603 · github/github-mcp-server
X Title: Feature Request: High-level helper tools for GitHub Projects V2 (e.g. move_issue_to_column) · Issue #2603 · github/github-mcp-server
Description: Currently, the github-mcp-server provides lower-level Projects V2 tools such as add_project_item and update_project_item_field. However, these tools are highly dependent on raw GraphQL Global Node IDs (such as item_id, field_id, option_i...
Open Graph Description: Currently, the github-mcp-server provides lower-level Projects V2 tools such as add_project_item and update_project_item_field. However, these tools are highly dependent on raw GraphQL Global Node ...
X Description: Currently, the github-mcp-server provides lower-level Projects V2 tools such as add_project_item and update_project_item_field. However, these tools are highly dependent on raw GraphQL Global Node ...
Opengraph URL: https://github.com/github/github-mcp-server/issues/2603
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Feature Request: High-level helper tools for GitHub Projects V2 (e.g. move_issue_to_column)","articleBody":"Currently, the `github-mcp-server` provides lower-level Projects V2 tools such as `add_project_item` and `update_project_item_field`.\n\nHowever, these tools are highly dependent on raw GraphQL Global Node IDs (such as `item_id`, `field_id`, `option_id`, etc.) which are difficult for AI agents to retrieve, resolve, and manage dynamically.\n\nFor example, to move an issue (e.g. `#42` in repository `owner/repo`) to a project board (e.g. Project Number `1` / Title `\"Development\"`) in the `\"In Progress\"` status column, an AI agent currently has to perform multiple manual lookups:\n1. Fetch the project list or ID.\n2. Fetch the project items to locate the global node ID of the issue item.\n3. Query the project fields to locate the Status field ID and the specific option ID matching `\"In Progress\"`.\n4. Call `update_project_item_field` with these raw GraphQL node IDs.\n\nThis is highly error-prone, requires multiple API round-trips, and makes Projects integration fragile for AI agents.\n\n### Proposed Feature:\nWe would love to see high-level wrapper tools that automate these lookups. For example:\n\n1. **`add_issue_to_project`**:\n - **Parameters**:\n - `project_number` (int) or `project_id` (string)\n - `repository_owner` (string)\n - `repository_name` (string)\n - `issue_number` (int)\n - **Behavior**: Automatically resolves the issue's global node ID and adds it to the specified project.\n\n2. **`move_project_item`** (or `update_project_item_status`):\n - **Parameters**:\n - `project_number` (int) or `project_id` (string)\n - `repository_owner` (string)\n - `repository_name` (string)\n - `issue_number` (int) (or `pull_request_number` / `item_id`)\n - `status_name` (string, e.g. `\"In Progress\"`, `\"Done\"`)\n - **Behavior**: Under the hood, resolves the item ID, finds the Project's \"Status\" field ID, finds the option ID matching the string `status_name`, and performs the update.\n\nThese higher-level helper tools would make Projects V2 management significantly easier and more robust for AI agents using the Model Context Protocol.","author":{"url":"https://github.com/kidrov","@type":"Person","name":"kidrov"},"datePublished":"2026-06-04T08:45:05.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/2603/github-mcp-server/issues/2603"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:c69db4de-3052-dac3-9f42-d808e4a6731d |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 84BC:2D3648:27FDF1:3A2446:6A61E27F |
| html-safe-nonce | 8603e82078a5a537e120d084674df82ea86c04e5039dcc1665f169a6af17654a |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NEJDOjJEMzY0ODoyN0ZERjE6M0EyNDQ2OjZBNjFFMjdGIiwidmlzaXRvcl9pZCI6IjY3Mjc0NTUzNzA4ODM4MTU2NyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | fabacc6e332b1eed2055f24ccd2248634269664986014e11846a6491f9f377cc |
| hovercard-subject-tag | issue:4587235640 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/github/github-mcp-server/2603/issue_layout |
| twitter:image | https://opengraph.githubassets.com/5e18de07de635a011ce895c9186bb7fd4dde39f393036d8a3d6530c555a69c3c/github/github-mcp-server/issues/2603 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/5e18de07de635a011ce895c9186bb7fd4dde39f393036d8a3d6530c555a69c3c/github/github-mcp-server/issues/2603 |
| og:image:alt | Currently, the github-mcp-server provides lower-level Projects V2 tools such as add_project_item and update_project_item_field. However, these tools are highly dependent on raw GraphQL Global Node ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | kidrov |
| hostname | github.com |
| expected-hostname | github.com |
| None | b2de8c74e5e61e893155ba46ee41bc66170c1644cb795adefa8386d490f7781c |
| turbo-cache-control | no-preview |
| go-import | github.com/github/github-mcp-server git https://github.com/github/github-mcp-server.git |
| octolytics-dimension-user_id | 9919 |
| octolytics-dimension-user_login | github |
| octolytics-dimension-repository_id | 942771284 |
| octolytics-dimension-repository_nwo | github/github-mcp-server |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 942771284 |
| octolytics-dimension-repository_network_root_nwo | github/github-mcp-server |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | d1866027ded575df8a15c731dd8b9986c9483ceb |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width