mirror of
https://gitea.com/gitea/gitea-mcp.git
synced 2025-08-24 06:43:05 +00:00
92 lines
1.4 KiB
Go
92 lines
1.4 KiB
Go
package cmd
|
|
|
|
import (
|
|
"context"
|
|
"flag"
|
|
"os"
|
|
|
|
"gitea.com/gitea/gitea-mcp/operation"
|
|
flagPkg "gitea.com/gitea/gitea-mcp/pkg/flag"
|
|
"gitea.com/gitea/gitea-mcp/pkg/log"
|
|
)
|
|
|
|
var (
|
|
transport string
|
|
host string
|
|
token string
|
|
|
|
debug bool
|
|
)
|
|
|
|
func init() {
|
|
flag.StringVar(
|
|
&transport,
|
|
"t",
|
|
"stdio",
|
|
"Transport type (stdio or sse)",
|
|
)
|
|
flag.StringVar(
|
|
&transport,
|
|
"transport",
|
|
"stdio",
|
|
"Transport type (stdio or sse)",
|
|
)
|
|
flag.StringVar(
|
|
&host,
|
|
"host",
|
|
"https://gitea.com",
|
|
"Gitea host",
|
|
)
|
|
flag.StringVar(
|
|
&token,
|
|
"token",
|
|
"",
|
|
"Your personal access token",
|
|
)
|
|
flag.BoolVar(
|
|
&debug,
|
|
"d",
|
|
false,
|
|
"debug mode",
|
|
)
|
|
flag.BoolVar(
|
|
&debug,
|
|
"debug",
|
|
false,
|
|
"debug mode",
|
|
)
|
|
|
|
flag.Parse()
|
|
|
|
flagPkg.Host = host
|
|
if flagPkg.Host == "" {
|
|
flagPkg.Host = os.Getenv("GITEA_HOST")
|
|
}
|
|
if flagPkg.Host == "" {
|
|
flagPkg.Host = "https://gitea.com"
|
|
}
|
|
|
|
flagPkg.Token = token
|
|
if flagPkg.Token == "" {
|
|
flagPkg.Token = os.Getenv("GITEA_TOKEN")
|
|
}
|
|
|
|
if debug {
|
|
flagPkg.Debug = debug
|
|
}
|
|
if !debug {
|
|
flagPkg.Debug = os.Getenv("GITEA_DEBUG") == "true"
|
|
}
|
|
}
|
|
|
|
func Execute(version string) {
|
|
defer log.Default().Sync()
|
|
if err := operation.Run(transport, version); err != nil {
|
|
if err == context.Canceled {
|
|
log.Info("Server shutdown due to context cancellation")
|
|
return
|
|
}
|
|
log.Fatalf("Run Gitea MCP Server Error: %v", err)
|
|
}
|
|
}
|