Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd2d09b7

Browse files
committed
Add basic html sanitization
1 parent062c13a commitd2d09b7

File tree

11 files changed

+320
-138
lines changed

11 files changed

+320
-138
lines changed

‎pkg/github/issues.go‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -212,15 +212,15 @@ func fragmentToIssue(fragment IssueFragment) *github.Issue {
212212

213213
return&github.Issue{
214214
Number:github.Ptr(int(fragment.Number)),
215-
Title:github.Ptr(sanitize.FilterInvisibleCharacters(string(fragment.Title))),
215+
Title:github.Ptr(sanitize.Sanitize(string(fragment.Title))),
216216
CreatedAt:&github.Timestamp{Time:fragment.CreatedAt.Time},
217217
UpdatedAt:&github.Timestamp{Time:fragment.UpdatedAt.Time},
218218
User:&github.User{
219219
Login:github.Ptr(string(fragment.Author.Login)),
220220
},
221221
State:github.Ptr(string(fragment.State)),
222222
ID:github.Ptr(fragment.DatabaseID),
223-
Body:github.Ptr(sanitize.FilterInvisibleCharacters(string(fragment.Body))),
223+
Body:github.Ptr(sanitize.Sanitize(string(fragment.Body))),
224224
Labels:foundLabels,
225225
Comments:github.Ptr(int(fragment.Comments.TotalCount)),
226226
}
@@ -327,10 +327,10 @@ func GetIssue(ctx context.Context, client *github.Client, owner string, repo str
327327
// Sanitize title/body on response
328328
ifissue!=nil {
329329
ifissue.Title!=nil {
330-
issue.Title=github.Ptr(sanitize.FilterInvisibleCharacters(*issue.Title))
330+
issue.Title=github.Ptr(sanitize.Sanitize(*issue.Title))
331331
}
332332
ifissue.Body!=nil {
333-
issue.Body=github.Ptr(sanitize.FilterInvisibleCharacters(*issue.Body))
333+
issue.Body=github.Ptr(sanitize.Sanitize(*issue.Body))
334334
}
335335
}
336336

‎pkg/github/pullrequests.go‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,10 @@ func GetPullRequest(ctx context.Context, client *github.Client, owner, repo stri
127127
// sanitize title/body on response
128128
ifpr!=nil {
129129
ifpr.Title!=nil {
130-
pr.Title=github.Ptr(sanitize.FilterInvisibleCharacters(*pr.Title))
130+
pr.Title=github.Ptr(sanitize.Sanitize(*pr.Title))
131131
}
132132
ifpr.Body!=nil {
133-
pr.Body=github.Ptr(sanitize.FilterInvisibleCharacters(*pr.Body))
133+
pr.Body=github.Ptr(sanitize.Sanitize(*pr.Body))
134134
}
135135
}
136136

@@ -821,10 +821,10 @@ func ListPullRequests(getClient GetClientFn, t translations.TranslationHelperFun
821821
continue
822822
}
823823
ifpr.Title!=nil {
824-
pr.Title=github.Ptr(sanitize.FilterInvisibleCharacters(*pr.Title))
824+
pr.Title=github.Ptr(sanitize.Sanitize(*pr.Title))
825825
}
826826
ifpr.Body!=nil {
827-
pr.Body=github.Ptr(sanitize.FilterInvisibleCharacters(*pr.Body))
827+
pr.Body=github.Ptr(sanitize.Sanitize(*pr.Body))
828828
}
829829
}
830830

‎pkg/sanitize/sanitize.go‎

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,10 @@ import (
44
"github.com/microcosm-cc/bluemonday"
55
)
66

7-
typeContentFilterstruct {
8-
HTMLPolicy*bluemonday.Policy
9-
}
10-
11-
funcNewContentFilter()*ContentFilter {
12-
p:=bluemonday.NewPolicy()
13-
p.AllowElements("b","blockquote","br","code","em","h1","h2","h3","h4","h5","h6","hr","i","li","ol","p","pre","strong","sub","sup","table","tbody","td","th","thead","tr","ul")
14-
p.AllowAttrs("img","a")
15-
p.AllowAttrs()
16-
p.AllowURLSchemes("https")
7+
varpolicy*bluemonday.Policy
178

18-
return&ContentFilter{
19-
HTMLPolicy:p,
20-
}
9+
funcSanitize(inputstring)string {
10+
returnFilterHTMLTags(FilterInvisibleCharacters(input))
2111
}
2212

2313
// FilterInvisibleCharacters removes invisible or control characters that should not appear
@@ -40,11 +30,25 @@ func FilterInvisibleCharacters(input string) string {
4030
returnstring(out)
4131
}
4232

43-
func (cf*ContentFilter)FilterHtmlTags(inputstring)string {
33+
funcFilterHTMLTags(inputstring)string {
34+
ifpolicy==nil {
35+
policyInit()
36+
}
4437
ifinput=="" {
4538
returninput
4639
}
47-
returncf.HTMLPolicy.Sanitize(input)
40+
returnpolicy.Sanitize(input)
41+
}
42+
43+
funcpolicyInit() {
44+
ifpolicy!=nil {
45+
return
46+
}
47+
policy=bluemonday.StrictPolicy()
48+
policy.AllowElements("b","blockquote","br","code","em","h1","h2","h3","h4","h5","h6","hr","i","li","ol","p","pre","strong","sub","sup","table","tbody","td","th","thead","tr","ul")
49+
policy.AllowAttrs("img","a")
50+
policy.AllowURLSchemes("https")
51+
policy.AllowImages()
4852
}
4953

5054
funcshouldRemoveRune(rrune)bool {

‎pkg/sanitize/sanitize_test.go‎

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,3 +186,64 @@ func TestShouldRemoveRune(t *testing.T) {
186186
})
187187
}
188188
}
189+
190+
funcTestFilterHtmlTags(t*testing.T) {
191+
tests:= []struct {
192+
namestring
193+
inputstring
194+
expectedstring
195+
}{
196+
{
197+
name:"empty string",
198+
input:"",
199+
expected:"",
200+
},
201+
{
202+
name:"allowed simple tags preserved",
203+
input:"<b>bold</b>",
204+
expected:"<b>bold</b>",
205+
},
206+
{
207+
name:"multiple allowed tags",
208+
input:"<b>bold</b> and <em>italic</em>",
209+
expected:"<b>bold</b> and <em>italic</em>",
210+
},
211+
{
212+
name:"code tag preserved",
213+
input:"<code>fmt.Println(\"hi\")</code>",
214+
expected:"<code>fmt.Println(&#34;hi&#34;)</code>",// quotes are escaped by sanitizer
215+
},
216+
{
217+
name:"disallowed script removed entirely",
218+
input:"<script>alert(1)</script>",
219+
expected:"",// StrictPolicy should drop script element and contents
220+
},
221+
{
222+
name:"anchor removed but inner text kept",
223+
input:"Click <a href='https://example.com'>here</a> now",
224+
expected:"Click here now",
225+
},
226+
{
227+
name:"image removed (no textual fallback)",
228+
input:"<img src='x' alt='y'>",
229+
expected:"<img src=\"x\" alt=\"y\">",// images are allowed via AllowImages()
230+
},
231+
{
232+
name:"mixed allowed and disallowed",
233+
input:"<b>bold</b> <script>alert(1)</script> <em>italic</em>",
234+
expected:"<b>bold</b> <em>italic</em>",
235+
},
236+
{
237+
name:"idempotent sanitization",
238+
input:FilterHTMLTags("<b>bold</b> and <em>italic</em>"),
239+
expected:"<b>bold</b> and <em>italic</em>",
240+
},
241+
}
242+
243+
for_,tt:=rangetests {
244+
t.Run(tt.name,func(t*testing.T) {
245+
result:=FilterHTMLTags(tt.input)
246+
assert.Equal(t,tt.expected,result)
247+
})
248+
}
249+
}

‎third-party-licenses.darwin.md‎

Lines changed: 42 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,48 @@ The following open source dependencies are used to build the [github/github-mcp-
77
Some packages may only be included on certain architectures or operating systems.
88

99

10-
-[github.com/bahlo/generic-list-go](https://pkg.go.dev/github.com/bahlo/generic-list-go) ([BSD-3-Clause](https://github.com/bahlo/generic-list-go/blob/v0.2.0/LICENSE))
11-
-[github.com/buger/jsonparser](https://pkg.go.dev/github.com/buger/jsonparser) ([MIT](https://github.com/buger/jsonparser/blob/v1.1.1/LICENSE))
12-
-[github.com/fsnotify/fsnotify](https://pkg.go.dev/github.com/fsnotify/fsnotify) ([BSD-3-Clause](https://github.com/fsnotify/fsnotify/blob/v1.9.0/LICENSE))
10+
-[github.com/aymerick/douceur](https://pkg.go.dev/github.com/aymerick/douceur) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/aymerick/douceur/LICENSE))
11+
-[github.com/bahlo/generic-list-go](https://pkg.go.dev/github.com/bahlo/generic-list-go) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/bahlo/generic-list-go/LICENSE))
12+
-[github.com/buger/jsonparser](https://pkg.go.dev/github.com/buger/jsonparser) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/buger/jsonparser/LICENSE))
13+
-[github.com/fsnotify/fsnotify](https://pkg.go.dev/github.com/fsnotify/fsnotify) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/fsnotify/fsnotify/LICENSE))
1314
-[github.com/github/github-mcp-server](https://pkg.go.dev/github.com/github/github-mcp-server) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/LICENSE))
14-
-[github.com/go-openapi/jsonpointer](https://pkg.go.dev/github.com/go-openapi/jsonpointer) ([Apache-2.0](https://github.com/go-openapi/jsonpointer/blob/v0.19.5/LICENSE))
15-
-[github.com/go-openapi/swag](https://pkg.go.dev/github.com/go-openapi/swag) ([Apache-2.0](https://github.com/go-openapi/swag/blob/v0.21.1/LICENSE))
16-
-[github.com/go-viper/mapstructure/v2](https://pkg.go.dev/github.com/go-viper/mapstructure/v2) ([MIT](https://github.com/go-viper/mapstructure/blob/v2.4.0/LICENSE))
17-
-[github.com/google/go-github/v71/github](https://pkg.go.dev/github.com/google/go-github/v71/github) ([BSD-3-Clause](https://github.com/google/go-github/blob/v71.0.0/LICENSE))
18-
-[github.com/google/go-github/v76/github](https://pkg.go.dev/github.com/google/go-github/v76/github) ([BSD-3-Clause](https://github.com/google/go-github/blob/v76.0.0/LICENSE))
19-
-[github.com/google/go-querystring/query](https://pkg.go.dev/github.com/google/go-querystring/query) ([BSD-3-Clause](https://github.com/google/go-querystring/blob/v1.1.0/LICENSE))
20-
-[github.com/google/uuid](https://pkg.go.dev/github.com/google/uuid) ([BSD-3-Clause](https://github.com/google/uuid/blob/v1.6.0/LICENSE))
21-
-[github.com/gorilla/mux](https://pkg.go.dev/github.com/gorilla/mux) ([BSD-3-Clause](https://github.com/gorilla/mux/blob/v1.8.0/LICENSE))
22-
-[github.com/invopop/jsonschema](https://pkg.go.dev/github.com/invopop/jsonschema) ([MIT](https://github.com/invopop/jsonschema/blob/v0.13.0/COPYING))
23-
-[github.com/josephburnett/jd/v2](https://pkg.go.dev/github.com/josephburnett/jd/v2) ([MIT](https://github.com/josephburnett/jd/blob/v1.9.2/LICENSE))
24-
-[github.com/josharian/intern](https://pkg.go.dev/github.com/josharian/intern) ([MIT](https://github.com/josharian/intern/blob/v1.0.0/license.md))
25-
-[github.com/mailru/easyjson](https://pkg.go.dev/github.com/mailru/easyjson) ([MIT](https://github.com/mailru/easyjson/blob/v0.7.7/LICENSE))
26-
-[github.com/mark3labs/mcp-go](https://pkg.go.dev/github.com/mark3labs/mcp-go) ([MIT](https://github.com/mark3labs/mcp-go/blob/v0.36.0/LICENSE))
27-
-[github.com/migueleliasweb/go-github-mock/src/mock](https://pkg.go.dev/github.com/migueleliasweb/go-github-mock/src/mock) ([MIT](https://github.com/migueleliasweb/go-github-mock/blob/v1.3.0/LICENSE))
28-
-[github.com/pelletier/go-toml/v2](https://pkg.go.dev/github.com/pelletier/go-toml/v2) ([MIT](https://github.com/pelletier/go-toml/blob/v2.2.4/LICENSE))
29-
-[github.com/sagikazarmark/locafero](https://pkg.go.dev/github.com/sagikazarmark/locafero) ([MIT](https://github.com/sagikazarmark/locafero/blob/v0.11.0/LICENSE))
30-
-[github.com/shurcooL/githubv4](https://pkg.go.dev/github.com/shurcooL/githubv4) ([MIT](https://github.com/shurcooL/githubv4/blob/48295856cce7/LICENSE))
31-
-[github.com/shurcooL/graphql](https://pkg.go.dev/github.com/shurcooL/graphql) ([MIT](https://github.com/shurcooL/graphql/blob/ed46e5a46466/LICENSE))
32-
-[github.com/sourcegraph/conc](https://pkg.go.dev/github.com/sourcegraph/conc) ([MIT](https://github.com/sourcegraph/conc/blob/5f936abd7ae8/LICENSE))
33-
-[github.com/spf13/afero](https://pkg.go.dev/github.com/spf13/afero) ([Apache-2.0](https://github.com/spf13/afero/blob/v1.15.0/LICENSE.txt))
34-
-[github.com/spf13/cast](https://pkg.go.dev/github.com/spf13/cast) ([MIT](https://github.com/spf13/cast/blob/v1.10.0/LICENSE))
35-
-[github.com/spf13/cobra](https://pkg.go.dev/github.com/spf13/cobra) ([Apache-2.0](https://github.com/spf13/cobra/blob/v1.10.1/LICENSE.txt))
36-
-[github.com/spf13/pflag](https://pkg.go.dev/github.com/spf13/pflag) ([BSD-3-Clause](https://github.com/spf13/pflag/blob/v1.0.10/LICENSE))
37-
-[github.com/spf13/viper](https://pkg.go.dev/github.com/spf13/viper) ([MIT](https://github.com/spf13/viper/blob/v1.21.0/LICENSE))
38-
-[github.com/subosito/gotenv](https://pkg.go.dev/github.com/subosito/gotenv) ([MIT](https://github.com/subosito/gotenv/blob/v1.6.0/LICENSE))
39-
-[github.com/wk8/go-ordered-map/v2](https://pkg.go.dev/github.com/wk8/go-ordered-map/v2) ([Apache-2.0](https://github.com/wk8/go-ordered-map/blob/v2.1.8/LICENSE))
40-
-[github.com/yosida95/uritemplate/v3](https://pkg.go.dev/github.com/yosida95/uritemplate/v3) ([BSD-3-Clause](https://github.com/yosida95/uritemplate/blob/v3.0.2/LICENSE))
41-
-[github.com/yudai/golcs](https://pkg.go.dev/github.com/yudai/golcs) ([MIT](https://github.com/yudai/golcs/blob/ecda9a501e82/LICENSE))
42-
-[go.yaml.in/yaml/v3](https://pkg.go.dev/go.yaml.in/yaml/v3) ([MIT](https://github.com/yaml/go-yaml/blob/v3.0.4/LICENSE))
43-
-[golang.org/x/exp](https://pkg.go.dev/golang.org/x/exp) ([BSD-3-Clause](https://cs.opensource.google/go/x/exp/+/8a7402ab:LICENSE))
44-
-[golang.org/x/sys/unix](https://pkg.go.dev/golang.org/x/sys/unix) ([BSD-3-Clause](https://cs.opensource.google/go/x/sys/+/v0.31.0:LICENSE))
45-
-[golang.org/x/text](https://pkg.go.dev/golang.org/x/text) ([BSD-3-Clause](https://cs.opensource.google/go/x/text/+/v0.28.0:LICENSE))
46-
-[golang.org/x/time/rate](https://pkg.go.dev/golang.org/x/time/rate) ([BSD-3-Clause](https://cs.opensource.google/go/x/time/+/v0.5.0:LICENSE))
47-
-[gopkg.in/yaml.v2](https://pkg.go.dev/gopkg.in/yaml.v2) ([Apache-2.0](https://github.com/go-yaml/yaml/blob/v2.4.0/LICENSE))
48-
-[gopkg.in/yaml.v3](https://pkg.go.dev/gopkg.in/yaml.v3) ([MIT](https://github.com/go-yaml/yaml/blob/v3.0.1/LICENSE))
15+
-[github.com/go-openapi/jsonpointer](https://pkg.go.dev/github.com/go-openapi/jsonpointer) ([Apache-2.0](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/go-openapi/jsonpointer/LICENSE))
16+
-[github.com/go-openapi/swag](https://pkg.go.dev/github.com/go-openapi/swag) ([Apache-2.0](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/go-openapi/swag/LICENSE))
17+
-[github.com/go-viper/mapstructure/v2](https://pkg.go.dev/github.com/go-viper/mapstructure/v2) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/go-viper/mapstructure/v2/LICENSE))
18+
-[github.com/google/go-github/v71/github](https://pkg.go.dev/github.com/google/go-github/v71/github) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/google/go-github/v71/LICENSE))
19+
-[github.com/google/go-github/v76/github](https://pkg.go.dev/github.com/google/go-github/v76/github) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/google/go-github/v76/LICENSE))
20+
-[github.com/google/go-querystring/query](https://pkg.go.dev/github.com/google/go-querystring/query) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/google/go-querystring/LICENSE))
21+
-[github.com/google/uuid](https://pkg.go.dev/github.com/google/uuid) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/google/uuid/LICENSE))
22+
-[github.com/gorilla/css/scanner](https://pkg.go.dev/github.com/gorilla/css/scanner) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/gorilla/css/LICENSE))
23+
-[github.com/gorilla/mux](https://pkg.go.dev/github.com/gorilla/mux) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/gorilla/mux/LICENSE))
24+
-[github.com/invopop/jsonschema](https://pkg.go.dev/github.com/invopop/jsonschema) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/invopop/jsonschema/COPYING))
25+
-[github.com/josephburnett/jd/v2](https://pkg.go.dev/github.com/josephburnett/jd/v2) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/josephburnett/jd/LICENSE))
26+
-[github.com/josharian/intern](https://pkg.go.dev/github.com/josharian/intern) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/josharian/intern/license.md))
27+
-[github.com/mailru/easyjson](https://pkg.go.dev/github.com/mailru/easyjson) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/mailru/easyjson/LICENSE))
28+
-[github.com/mark3labs/mcp-go](https://pkg.go.dev/github.com/mark3labs/mcp-go) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/mark3labs/mcp-go/LICENSE))
29+
-[github.com/microcosm-cc/bluemonday](https://pkg.go.dev/github.com/microcosm-cc/bluemonday) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/microcosm-cc/bluemonday/LICENSE.md))
30+
-[github.com/migueleliasweb/go-github-mock/src/mock](https://pkg.go.dev/github.com/migueleliasweb/go-github-mock/src/mock) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/migueleliasweb/go-github-mock/LICENSE))
31+
-[github.com/pelletier/go-toml/v2](https://pkg.go.dev/github.com/pelletier/go-toml/v2) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/pelletier/go-toml/v2/LICENSE))
32+
-[github.com/sagikazarmark/locafero](https://pkg.go.dev/github.com/sagikazarmark/locafero) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/sagikazarmark/locafero/LICENSE))
33+
-[github.com/shurcooL/githubv4](https://pkg.go.dev/github.com/shurcooL/githubv4) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/shurcooL/githubv4/LICENSE))
34+
-[github.com/shurcooL/graphql](https://pkg.go.dev/github.com/shurcooL/graphql) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/shurcooL/graphql/LICENSE))
35+
-[github.com/sourcegraph/conc](https://pkg.go.dev/github.com/sourcegraph/conc) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/sourcegraph/conc/LICENSE))
36+
-[github.com/spf13/afero](https://pkg.go.dev/github.com/spf13/afero) ([Apache-2.0](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/spf13/afero/LICENSE.txt))
37+
-[github.com/spf13/cast](https://pkg.go.dev/github.com/spf13/cast) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/spf13/cast/LICENSE))
38+
-[github.com/spf13/cobra](https://pkg.go.dev/github.com/spf13/cobra) ([Apache-2.0](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/spf13/cobra/LICENSE.txt))
39+
-[github.com/spf13/pflag](https://pkg.go.dev/github.com/spf13/pflag) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/spf13/pflag/LICENSE))
40+
-[github.com/spf13/viper](https://pkg.go.dev/github.com/spf13/viper) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/spf13/viper/LICENSE))
41+
-[github.com/subosito/gotenv](https://pkg.go.dev/github.com/subosito/gotenv) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/subosito/gotenv/LICENSE))
42+
-[github.com/wk8/go-ordered-map/v2](https://pkg.go.dev/github.com/wk8/go-ordered-map/v2) ([Apache-2.0](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/wk8/go-ordered-map/v2/LICENSE))
43+
-[github.com/yosida95/uritemplate/v3](https://pkg.go.dev/github.com/yosida95/uritemplate/v3) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/yosida95/uritemplate/v3/LICENSE))
44+
-[github.com/yudai/golcs](https://pkg.go.dev/github.com/yudai/golcs) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/github.com/yudai/golcs/LICENSE))
45+
-[go.yaml.in/yaml/v3](https://pkg.go.dev/go.yaml.in/yaml/v3) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/go.yaml.in/yaml/v3/LICENSE))
46+
-[golang.org/x/exp](https://pkg.go.dev/golang.org/x/exp) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/golang.org/x/exp/LICENSE))
47+
-[golang.org/x/net/html](https://pkg.go.dev/golang.org/x/net/html) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/golang.org/x/net/LICENSE))
48+
-[golang.org/x/sys/unix](https://pkg.go.dev/golang.org/x/sys/unix) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/golang.org/x/sys/LICENSE))
49+
-[golang.org/x/text](https://pkg.go.dev/golang.org/x/text) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/golang.org/x/text/LICENSE))
50+
-[golang.org/x/time/rate](https://pkg.go.dev/golang.org/x/time/rate) ([BSD-3-Clause](https://github.com/github/github-mcp-server/blob/HEAD/vendor/golang.org/x/time/LICENSE))
51+
-[gopkg.in/yaml.v2](https://pkg.go.dev/gopkg.in/yaml.v2) ([Apache-2.0](https://github.com/github/github-mcp-server/blob/HEAD/vendor/gopkg.in/yaml.v2/LICENSE))
52+
-[gopkg.in/yaml.v3](https://pkg.go.dev/gopkg.in/yaml.v3) ([MIT](https://github.com/github/github-mcp-server/blob/HEAD/vendor/gopkg.in/yaml.v3/LICENSE))
4953

5054
[github/github-mcp-server]:https://github.com/github/github-mcp-server

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp