- Notifications
You must be signed in to change notification settings - Fork3.1k
feat(issue_graph): Add focus parameter, cross-repo support, and status extraction#1511
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Changes fromall commits
8eccce200b23907bba72a91e49344dcc5b6e15b16e5353b6bc984ad936824fc8eca4aa587f09aFile filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -19,7 +19,7 @@ Below is a table of available toolsets for the remote GitHub MCP Server. Each to | ||||||
| <!-- START AUTOMATED TOOLSETS --> | ||||||
| | Name | Description | API URL | 1-Click Install (VS Code) | Read-only Link | 1-Click Read-only Install (VS Code) | | ||||||
| |----------------|--------------------------------------------------|-------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||||||
| |all |All available GitHub MCP tools | https://api.githubcopilot.com/mcp/ | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D) | [read-only](https://api.githubcopilot.com/mcp/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Freadonly%22%7D) | | ||||||
CopilotAI | ||||||
| |all| All available GitHub MCP tools|https://api.githubcopilot.com/mcp/|[Install](https://insiders.vscode.dev/redirect/mcp/install?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D)|[read-only](https://api.githubcopilot.com/mcp/readonly)|[Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Freadonly%22%7D)| | |
| |Default| All available GitHub MCP tools|https://api.githubcopilot.com/mcp/|[Install](https://insiders.vscode.dev/redirect/mcp/install?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D)|[read-only](https://api.githubcopilot.com/mcp/readonly)|[Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Freadonly%22%7D)| |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,28 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1763999268062 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewDeletion-1763997844489 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestRequestCopilotReview-1763997844386 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestAtomicCreateAndSubmit-1763997844435 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestDirectoryDeletion-1763997844380 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1763997844451 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestTags-1763997844521 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestFileDeletion-1763997844358 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestAssignCopilotToIssue-1763997844406 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestFileDeletion-1747747995640 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestDirectoryDeletion-1747747995296 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestAtomicCreateAndSubmit-1747747995307 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1747747995463 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewDeletion-1747747995436 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestTags-1747747995443 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestDirectoryDeletion-1747747769514 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestFileDeletion-1747747769467 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewDeletion-1747747769267 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1747747769413 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestAtomicCreateAndSubmit-1747747769265 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestTags-1747747769255 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestFileDeletion-1747747690008 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestDirectoryDeletion-1747747690012 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestAtomicCreateAndSubmit-1747747689930 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1747747690146 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestRequestCopilotReview-1747747689966 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewDeletion-1747747689922 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestTags-1747747690217 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines +1 to +28 CopilotAI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1763999268062 | |
| github-mcp-server-e2e-TestPullRequestReviewDeletion-1763997844489 | |
| github-mcp-server-e2e-TestRequestCopilotReview-1763997844386 | |
| github-mcp-server-e2e-TestPullRequestAtomicCreateAndSubmit-1763997844435 | |
| github-mcp-server-e2e-TestDirectoryDeletion-1763997844380 | |
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1763997844451 | |
| github-mcp-server-e2e-TestTags-1763997844521 | |
| github-mcp-server-e2e-TestFileDeletion-1763997844358 | |
| github-mcp-server-e2e-TestAssignCopilotToIssue-1763997844406 | |
| github-mcp-server-e2e-TestFileDeletion-1747747995640 | |
| github-mcp-server-e2e-TestDirectoryDeletion-1747747995296 | |
| github-mcp-server-e2e-TestPullRequestAtomicCreateAndSubmit-1747747995307 | |
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1747747995463 | |
| github-mcp-server-e2e-TestPullRequestReviewDeletion-1747747995436 | |
| github-mcp-server-e2e-TestTags-1747747995443 | |
| github-mcp-server-e2e-TestDirectoryDeletion-1747747769514 | |
| github-mcp-server-e2e-TestFileDeletion-1747747769467 | |
| github-mcp-server-e2e-TestPullRequestReviewDeletion-1747747769267 | |
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1747747769413 | |
| github-mcp-server-e2e-TestPullRequestAtomicCreateAndSubmit-1747747769265 | |
| github-mcp-server-e2e-TestTags-1747747769255 | |
| github-mcp-server-e2e-TestFileDeletion-1747747690008 | |
| github-mcp-server-e2e-TestDirectoryDeletion-1747747690012 | |
| github-mcp-server-e2e-TestPullRequestAtomicCreateAndSubmit-1747747689930 | |
| github-mcp-server-e2e-TestPullRequestReviewCommentSubmit-1747747690146 | |
| github-mcp-server-e2e-TestRequestCopilotReview-1747747689966 | |
| github-mcp-server-e2e-TestPullRequestReviewDeletion-1747747689922 | |
| github-mcp-server-e2e-TestTags-1747747690217 | |
| # (delete the file) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| { | ||
| "annotations": { | ||
| "title": "Get issue relationship graph", | ||
| "readOnlyHint": true | ||
| }, | ||
| "description": "**PRIMARY TOOL FOR ISSUE/PR/PROJECT STATUS** - Returns the entire work hierarchy in ONE call. Use this FIRST before issue_read or other tools.\n\nFASTEST PATH TO PROJECT STATUS: One call returns all related issues, PRs, and their states - no need for multiple API calls.\n\nMUST USE THIS TOOL FIRST WHEN USER ASKS:\n- \"update on...\" / \"status of...\" / \"progress on...\" / \"tell me about...\"\n- \"what's happening with...\" / \"how is... going\" / \"state of...\"\n- \"project status\" / \"overall progress\" / \"how is the epic going\"\n- \"epic\" / \"parent issue\" / \"sub-issues\" / \"blocking\" / \"depends on\"\n- ANY request for status on work that might span multiple issues\n\nDO NOT use issue_read or list_issues first for status questions - issue_graph returns everything in one call.\n\nReturns a comprehensive view including:\n- Node types: epic (large initiatives), batch (parent issues), task (regular issues), pr (pull requests)\n- Full hierarchy: epic → batch → task → PR relationships across the ENTIRE project\n- Sub-issues and \"closes/fixes\" references\n- Cross-references and related work\n- Status updates extracted from issue bodies and comments\n- Open/closed/merged state of ALL related items\n\nUse focus=\"epic\" to automatically find and focus on the parent epic of any issue.", | ||
| "inputSchema": { | ||
| "properties": { | ||
| "focus": { | ||
| "description": "Which node type to focus on: 'provided' (default) uses the specified issue/PR, 'epic' shifts focus to the nearest epic in the hierarchy, 'batch' shifts focus to the nearest batch/parent issue", | ||
| "enum": [ | ||
| "provided", | ||
| "epic", | ||
| "batch" | ||
| ], | ||
| "type": "string" | ||
| }, | ||
| "issue_number": { | ||
| "description": "Issue or pull request number to build the graph from", | ||
| "type": "number" | ||
| }, | ||
| "owner": { | ||
| "description": "Repository owner", | ||
| "type": "string" | ||
| }, | ||
| "repo": { | ||
| "description": "Repository name", | ||
| "type": "string" | ||
| } | ||
| }, | ||
| "required": [ | ||
| "owner", | ||
| "repo", | ||
| "issue_number" | ||
| ], | ||
| "type": "object" | ||
| }, | ||
| "name": "issue_graph" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -63,7 +63,37 @@ Before creating a pull request, search for pull request templates in the reposit | ||
| case "issues": | ||
| return `## Issues | ||
| **CRITICAL: For ANY question about issue/PR/epic status, updates, or progress - ALWAYS call 'issue_graph' FIRST before any other tool.** | ||
| 'issue_graph' is the FASTEST PATH to project status - one call returns the entire work hierarchy (epic → batches → tasks → PRs) instead of multiple separate API calls. | ||
| Trigger phrases that REQUIRE 'issue_graph' as the FIRST tool call: | ||
| - "update on..." / "status of..." / "progress on..." / "tell me about..." | ||
| - "what's happening with..." / "how is... going" / "state of..." | ||
| - "project status" / "how is the project going" / "overall progress" | ||
| - "epic" / "parent issue" / "sub-issues" / "blocking" / "depends on" | ||
| - ANY issue/PR number reference when asking for status or updates | ||
| Example: User asks "give me an update on issue #123" → Call issue_graph(owner, repo, 123) FIRST. | ||
| Example: User asks "what's the status of the project" → Call issue_graph with the epic/tracking issue number. | ||
| The 'issue_graph' tool returns in ONE call: | ||
| - Full hierarchy: epic → batch → task → PR relationships across the entire project | ||
| - All sub-issues and "closes/fixes" references | ||
| - Status updates extracted from issue bodies/comments | ||
| - Cross-references and related work | ||
| - Open/closed state of all related items | ||
| Use focus="epic" to automatically find and focus on the parent epic of any issue. | ||
| ONLY AFTER calling 'issue_graph', use other tools: | ||
| - 'issue_read' for full details of specific issues identified in the graph | ||
| - 'search_issues' to find related issues not in the graph | ||
| For creating/modifying issues: | ||
| - Check 'list_issue_types' first for organizations to use proper issue types | ||
| - Use 'search_issues' before creating new issues to avoid duplicates | ||
| - Always set 'state_reason' when closing issues` | ||
Comment on lines +66 to +96 CopilotAI | ||
| case "discussions": | ||
| return `## Discussions | ||
Uh oh!
There was an error while loading.Please reload this page.