feat: add support for insecure mode in Gitea client configuration #20
@@ -109,6 +109,7 @@ To configure the MCP server for Gitea, add the following to your MCP configurati | ||||
], | ||||
"env": { | ||||
// "GITEA_HOST": "https://gitea.com", | ||||
// "GITEA_INTERACTIVE": "true", | ||||
"GITEA_ACCESS_TOKEN": "<your personal access token>" | ||||
} | ||||
} | ||||
|
@@ -109,6 +109,7 @@ cp gitea-mcp /usr/local/bin/ | ||||
], | ||||
"env": { | ||||
// "GITEA_HOST": "https://gitea.com", | ||||
// "GITEA_INTERACTIVE": "true", | ||||
"GITEA_ACCESS_TOKEN": "<your personal access token>" | ||||
} | ||||
} | ||||
|
@@ -109,6 +109,7 @@ cp gitea-mcp /usr/local/bin/ | ||||
], | ||||
"env": { | ||||
// "GITEA_HOST": "https://gitea.com", | ||||
// "GITEA_INTERACTIVE": "true", | ||||
"GITEA_ACCESS_TOKEN": "<your personal access token>" | ||||
} | ||||
} | ||||
|
11 cmd/cmd.go
11
cmd/cmd.go @@ -62,6 +62,12 @@ func init() { | ||||
true, | ||||
"debug mode", | ||||
) | ||||
flag.BoolVar( | ||||
&flagPkg.Insecure, | ||||
"insecure", | ||||
false, | ||||
"ignore TLS certificate errors", | ||||
) | ||||
| ||||
flag.Parse() | ||||
| ||||
@@ -88,6 +94,11 @@ func init() { | ||||
if !debug { | ||||
flagPkg.Debug = os.Getenv("GITEA_DEBUG") == "true" | ||||
} | ||||
| ||||
// Set insecure mode based on environment variable | ||||
if os.Getenv("GITEA_INSECURE") == "true" { | ||||
flagPkg.Insecure = true | ||||
} | ||||
} | ||||
| ||||
func Execute(version string) { | ||||
|
@@ -7,5 +7,6 @@ var ( | ||||
Version string | ||||
Mode string | ||||
| ||||
Debug bool | ||||
Insecure bool | ||||
Debug bool | ||||
) | ||||
|
@@ -1,6 +1,8 @@ | ||||
package gitea | ||||
| ||||
import ( | ||||
"crypto/tls" | ||||
"net/http" | ||||
"sync" | ||||
| ||||
"gitea.com/gitea/gitea-mcp/pkg/flag" | ||||
@@ -16,12 +18,26 @@ var ( | ||||
| ||||
func Client() *gitea.Client { | ||||
clientOnce.Do(func() { | ||||
if client == nil { | ||||
c, err := gitea.NewClient(flag.Host, gitea.SetToken(flag.Token)) | ||||
if err != nil { | ||||
log.Fatalf("create gitea client err: %v", err) | ||||
var err error | ||||
if client != nil { | ||||
return | ||||
} | ||||
opts := []gitea.ClientOption{ | ||||
gitea.SetToken(flag.Token), | ||||
} | ||||
if flag.Insecure { | ||||
httpClient := &http.Client{ | ||||
Transport: &http.Transport{ | ||||
TLSClientConfig: &tls.Config{ | ||||
InsecureSkipVerify: true, | ||||
}, | ||||
}, | ||||
} | ||||
client = c | ||||
opts = append(opts, gitea.SetHTTPClient(httpClient)) | ||||
} | ||||
client, err = gitea.NewClient(flag.Host, opts...) | ||||
if err != nil { | ||||
log.Fatalf("create gitea client err: %v", err) | ||||
} | ||||
}) | ||||
return client | ||||
|
Reference in New Issue
Block a user