Title: Add addBlockedBy / removeBlockedBy mutations (native issue dependencies) to MCP server · Issue #2391 · github/github-mcp-server · GitHub
Open Graph Title: Add addBlockedBy / removeBlockedBy mutations (native issue dependencies) to MCP server · Issue #2391 · github/github-mcp-server
X Title: Add addBlockedBy / removeBlockedBy mutations (native issue dependencies) to MCP server · Issue #2391 · github/github-mcp-server
Description: Summary GitHub's native issue-dependencies API (GA Aug 2025) exposes addBlockedBy / removeBlockedBy GraphQL mutations to set/unset hard-block edges between issues: https://github.blog/changelog/2025-08-21-dependencies-on-issues/ The MCP ...
Open Graph Description: Summary GitHub's native issue-dependencies API (GA Aug 2025) exposes addBlockedBy / removeBlockedBy GraphQL mutations to set/unset hard-block edges between issues: https://github.blog/changelog/202...
X Description: Summary GitHub's native issue-dependencies API (GA Aug 2025) exposes addBlockedBy / removeBlockedBy GraphQL mutations to set/unset hard-block edges between issues: https://github.blog/changelog...
Opengraph URL: https://github.com/github/github-mcp-server/issues/2391
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Add addBlockedBy / removeBlockedBy mutations (native issue dependencies) to MCP server","articleBody":"## Summary\n\nGitHub's native issue-dependencies API (GA Aug 2025) exposes `addBlockedBy` / `removeBlockedBy` GraphQL mutations to set/unset hard-block edges between issues: https://github.blog/changelog/2025-08-21-dependencies-on-issues/\n\nThe MCP server currently exposes:\n- `sub_issue_write` — parent/child sub-issue relationships\n- `issue_write` — issue CRUD\n\nIt does NOT expose the `blockedBy` / `blocking` mutation pair, and there is no generic GraphQL passthrough that would let a client invoke them.\n\n## Impact\n\nClients restricted to MCP (e.g., Claude Code's web sandbox) cannot set `blockedBy` edges, while clients with raw `gh api graphql` access can. The same agent acting from a CLI session can write the edge; from the web sandbox, it cannot. Any \"agent, file this issue and link it as blockedBy #N\" workflow has to be punted to a CLI session.\n\n## Use case\n\nA personal-knowledge-base repo (https://github.com/karyandrew/second-brain) uses native issue dependencies as the canonical edge model for a work-tracking DAG. The agent's \"ready set\" query depends on `issueDependenciesSummary.blockedBy == 0`. Web-sandbox sessions can read the edges but not write them.\n\n## Asks (any one closes)\n\n1. Add `addBlockedBy` / `removeBlockedBy` to the MCP server, paralleling the existing `sub_issue_write` shape.\n2. Add a generic GraphQL passthrough (e.g., `graphql_query`) so clients can invoke arbitrary mutations against authenticated repos.\n\n## Verified upstream\n\nFrom a `gh api graphql` shell:\n\n```\ngh api graphql -f query='mutation { addBlockedBy(input: {issueId: \"...\", blockingIssueId: \"...\"}) { issue { number issueDependenciesSummary { blockedBy } } } }'\n```\n\nWorks. Pure tool-surface gap.","author":{"url":"https://github.com/karyandrew","@type":"Person","name":"karyandrew"},"datePublished":"2026-04-27T03:19:55.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/2391/github-mcp-server/issues/2391"}
| 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:23500fe0-f53b-c454-449c-463f4284ca0b |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D998:35AD0B:32772F7:46E1597:6A5F7C40 |
| html-safe-nonce | c0aaf4e36c1ed1c50d64569af8ec32c7fb2e41317ef0186a0addd7184c236818 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEOTk4OjM1QUQwQjozMjc3MkY3OjQ2RTE1OTc6NkE1RjdDNDAiLCJ2aXNpdG9yX2lkIjoiNjQxOTc0OTgzNjAxMjA5MjQ4MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 8a7566dd352e7da8349eb7d83d3cbf094073e0639489f254d967bb6e23b8db3b |
| hovercard-subject-tag | issue:4332873028 |
| 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/2391/issue_layout |
| twitter:image | https://opengraph.githubassets.com/12ee19b5a930edcd8e4fb1b7ec9c88754f7c6d4c0792b1c9e70a4582c6eb906b/github/github-mcp-server/issues/2391 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/12ee19b5a930edcd8e4fb1b7ec9c88754f7c6d4c0792b1c9e70a4582c6eb906b/github/github-mcp-server/issues/2391 |
| og:image:alt | Summary GitHub's native issue-dependencies API (GA Aug 2025) exposes addBlockedBy / removeBlockedBy GraphQL mutations to set/unset hard-block edges between issues: https://github.blog/changelog/202... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | karyandrew |
| hostname | github.com |
| expected-hostname | github.com |
| None | af0b892181d17ddf6fdffe74cdc67c01f4e6205e116d7b6df0e4b3e129ff9948 |
| 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 | 0c55a5e833618f561722501a1bcba5c79dd95825 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width