Add native list_project_items_with_urls tool for GitHub Projects #9327
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The GitHub MCP server's
list_project_itemsandget_project_itemtools don't return thecontent.urlfield for linked issues/PRs, preventing workflows from generating reports with proper GitHub URLs.Changes
New Safe Output Tool
list_project_items_with_urls: New safe output tool that queries the GitHub GraphQL API directly to return project items with full content information including URLsactions/setup/js/list_project_items_with_urls.cjs): Implements GraphQL queries to fetch project items with complete data including:actions/setup/js/list_project_items_with_urls.test.cjs): Test suite covering org/user projects, pagination, and error handlingGo Integration (In Progress)
pkg/workflow/list_project_items_with_urls.go): Parse and manage tool configurationpkg/workflow/list_project_items_with_urls_job.go): Create GitHub Actions jobs for the toolpkg/workflow/js/safe_outputs_tools.json): Added tool definition with input schemaUsage
Agent can then call the tool:
{ "project": "https://github.com/orgs/myorg/projects/123", "first": 100 }Returns project items with full URLs:
{ "items": [ { "id": "PVTI_item1", "type": "ISSUE", "content": { "type": "Issue", "number": 42, "title": "Issue Title", "url": "https://github.com/owner/repo/issues/42", "state": "OPEN", "repository": { "owner": "owner", "name": "repo" } }, "fields": { "Status": "In Progress" } } ], "count": 1 }Implementation Status
The tool implementation is partially complete:
This provides a native solution within gh-aw rather than requiring users to implement workarounds.
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.