Commit c7dd696
authored
Support GitHub MCP Server v1.3.0: PR commits routing, get_file_blame spec, and guard docs (#7641)
Gateway-side changes to support GitHub MCP Server v1.3.0. MCPG's
internal IFC label assignment is kept independent of any server-side IFC
annotations the MCP server may add.
## Proxy router: `pull_request_read` `get_commits` method
Added route for the new `get_commits` sub-method introduced in v1.3.0:
```
GET /repos/{owner}/{repo}/pulls/{pull_number}/commits
→ pull_request_read { method: "get_commits", owner, repo, pullNumber }
```
PR commits use the same PR-level resource labels as other
`pull_request_read` sub-methods — PR facts lookup (merge status, author
association, fork lineage) provides the correct integrity bound.
## Guard docs: `get_file_blame`
`get_file_blame` was already implemented in `tool_rules.rs` with
identical secrecy/integrity semantics to `get_file_contents` (including
sensitive-path escalation). Added it explicitly to
`INTEGRITY_TAG_SPEC.md` Resource and Response Label Rules tables to
close the spec/impl gap.
## `INTEGRITY_TAG_SPEC.md` clarifications
- `get_file_blame` added to both label rule tables alongside
`get_file_contents`
- Added a notes entry documenting that all `pull_request_read`
sub-methods (`get_commits`, `get_files`, `get_reviews`,
`get_review_comments`, `get_check_runs`, etc.) fall through to PR-level
resource labels rather than per-item response labeling
- Updated `response_items.rs` comment to explicitly list `get_commits`
among the handled sub-methods
## What requires no gateway changes
- **Rate limit error pass-through** (MCP server v1.3.0 improvement):
gateway already forwards these transparently
- **Cursor-paginated dependabot alerts**: jq middleware handles
paginated responses without tool-specific changes4 files changed
Lines changed: 19 additions & 3 deletions
File tree
- guards/github-guard
- docs
- rust-guard/src/labels
- internal/proxy
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
159 | | - | |
| 159 | + | |
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| |||
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| 180 | + | |
180 | 181 | | |
181 | 182 | | |
182 | 183 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
| 105 | + | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
81 | 89 | | |
82 | 90 | | |
83 | 91 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
123 | 130 | | |
124 | 131 | | |
125 | 132 | | |
| |||
0 commit comments