You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
httpCmd.Flags().Bool("trust-proxy-headers", false, "Honor X-Forwarded-Host and X-Forwarded-Proto when constructing OAuth resource metadata URLs. Only enable when the server is deployed behind a trusted proxy that sets these headers. Ignored when --base-url is set.")
-`assignees`: Usernames to assign to this issue (string[], optional)
79
+
-`body`: Issue body content (string, optional)
80
+
-`duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
81
+
-`issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
82
+
-`issue_number`: Issue number to update (number, optional)
83
+
-`labels`: Labels to apply to this issue (string[], optional)
84
+
-`method`: Write operation to perform on a single issue.
85
+
Options are:
86
+
- 'create' - creates a new issue.
87
+
- 'update' - updates an existing issue.
88
+
(string, required)
89
+
-`milestone`: Milestone number (number, optional)
90
+
-`owner`: Repository owner (string, required)
91
+
-`repo`: Repository name (string, required)
92
+
-`state`: New state (string, optional)
93
+
-`state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
94
+
-`title`: Issue title (string, optional)
95
+
-`type`: Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
-`is_suggestion`: If true, this issue type change is sent to the API as a suggestion (suggest:true) rather than an applied value. Whether the type is applied or recorded as a proposal is determined by the API. (boolean, optional)
180
202
-`issue_number`: The issue number to update (number, required)
181
203
-`issue_type`: The issue type to set (string, required)
182
204
-`owner`: Repository owner (username or organization) (string, required)
Copy file name to clipboardExpand all lines: docs/insiders-features.md
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,6 +67,27 @@ The list below is generated from the Go source. It covers tool **inventory and s
67
67
68
68
### `remote_mcp_issue_fields`
69
69
70
+
-**issue_write** - Create or update issue
71
+
-**Required OAuth Scopes**: `repo`
72
+
-`assignees`: Usernames to assign to this issue (string[], optional)
73
+
-`body`: Issue body content (string, optional)
74
+
-`duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
75
+
-`issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
76
+
-`issue_number`: Issue number to update (number, optional)
77
+
-`labels`: Labels to apply to this issue (string[], optional)
78
+
-`method`: Write operation to perform on a single issue.
79
+
Options are:
80
+
- 'create' - creates a new issue.
81
+
- 'update' - updates an existing issue.
82
+
(string, required)
83
+
-`milestone`: Milestone number (number, optional)
84
+
-`owner`: Repository owner (string, required)
85
+
-`repo`: Repository name (string, required)
86
+
-`state`: New state (string, optional)
87
+
-`state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
88
+
-`title`: Issue title (string, optional)
89
+
-`type`: Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
Copy file name to clipboardExpand all lines: docs/streamable-http.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,6 +59,18 @@ The OAuth protected resource metadata's `resource` attribute will be populated w
59
59
60
60
This allows OAuth clients to discover authentication requirements and endpoint information automatically.
61
61
62
+
### Behind a Trusted Proxy (advanced)
63
+
64
+
By default, the server ignores the `X-Forwarded-Host` and `X-Forwarded-Proto` headers when constructing OAuth resource metadata URLs, so an untrusted client cannot influence the URL advertised to MCP clients. For most deployments, setting `--base-url` to the externally visible URL is the right approach.
65
+
66
+
If the server sits behind an internal forwarder that you fully control (for example, an in-cluster gateway that needs to preserve the originating hostname per request), you can opt into honoring those headers:
67
+
68
+
```bash
69
+
github-mcp-server http --trust-proxy-headers
70
+
```
71
+
72
+
Equivalent environment variable: `GITHUB_TRUST_PROXY_HEADERS=1`. Only enable this when the upstream proxy is trusted to set or strip these headers; otherwise prefer `--base-url`. When `--base-url` is set, it always takes precedence and `--trust-proxy-headers` has no effect.
"description": "Create a new or update an existing issue in a GitHub repository.",
15
+
"inputSchema": {
16
+
"properties": {
17
+
"assignees": {
18
+
"description": "Usernames to assign to this issue",
19
+
"items": {
20
+
"type": "string"
21
+
},
22
+
"type": "array"
23
+
},
24
+
"body": {
25
+
"description": "Issue body content",
26
+
"type": "string"
27
+
},
28
+
"duplicate_of": {
29
+
"description": "Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'.",
30
+
"type": "number"
31
+
},
32
+
"issue_fields": {
33
+
"description": "Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'.",
34
+
"items": {
35
+
"additionalProperties": false,
36
+
"properties": {
37
+
"delete": {
38
+
"description": "Set to true to clear this field's current value on the issue. Cannot be combined with 'value' or 'field_option_name'.",
39
+
"enum": [
40
+
true
41
+
],
42
+
"type": "boolean"
43
+
},
44
+
"field_name": {
45
+
"description": "Issue field name (case-insensitive). Must match a field returned by list_issue_fields for this repository or its organization.",
46
+
"type": "string"
47
+
},
48
+
"field_option_name": {
49
+
"description": "Option name for single-select fields. Validated against the field's options before the API call. Cannot be combined with 'value' or 'delete'.",
50
+
"type": "string"
51
+
},
52
+
"value": {
53
+
"description": "Value to set. Use for text, number, and date fields (date as YYYY-MM-DD). For single-select fields, prefer 'field_option_name' so the option is validated before the API call. Cannot be combined with 'field_option_name' or 'delete'.",
54
+
"type": [
55
+
"string",
56
+
"number",
57
+
"boolean"
58
+
]
59
+
}
60
+
},
61
+
"required": [
62
+
"field_name"
63
+
],
64
+
"type": "object"
65
+
},
66
+
"type": "array"
67
+
},
68
+
"issue_number": {
69
+
"description": "Issue number to update",
70
+
"type": "number"
71
+
},
72
+
"labels": {
73
+
"description": "Labels to apply to this issue",
74
+
"items": {
75
+
"type": "string"
76
+
},
77
+
"type": "array"
78
+
},
79
+
"method": {
80
+
"description": "Write operation to perform on a single issue.\nOptions are:\n- 'create' - creates a new issue.\n- 'update' - updates an existing issue.\n",
81
+
"enum": [
82
+
"create",
83
+
"update"
84
+
],
85
+
"type": "string"
86
+
},
87
+
"milestone": {
88
+
"description": "Milestone number",
89
+
"type": "number"
90
+
},
91
+
"owner": {
92
+
"description": "Repository owner",
93
+
"type": "string"
94
+
},
95
+
"repo": {
96
+
"description": "Repository name",
97
+
"type": "string"
98
+
},
99
+
"state": {
100
+
"description": "New state",
101
+
"enum": [
102
+
"open",
103
+
"closed"
104
+
],
105
+
"type": "string"
106
+
},
107
+
"state_reason": {
108
+
"description": "Reason for the state change. Ignored unless state is changed.",
109
+
"enum": [
110
+
"completed",
111
+
"not_planned",
112
+
"duplicate"
113
+
],
114
+
"type": "string"
115
+
},
116
+
"title": {
117
+
"description": "Issue title",
118
+
"type": "string"
119
+
},
120
+
"type": {
121
+
"description": "Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repository doesn't support issue types, omit this parameter.",
0 commit comments