2 Commits

Author SHA1 Message Date
hiifong
d892b05048 Support custom sse port (#11)
fix: #10
Reviewed-on: https://gitea.com/gitea/gitea-mcp/pulls/11
2025-04-01 08:07:47 +00:00
hiifong
592cf51c9b fix bug (#9)
Reviewed-on: https://gitea.com/gitea/gitea-mcp/pulls/9
2025-03-28 03:10:29 +00:00
5 changed files with 25 additions and 7 deletions

View File

@@ -118,7 +118,7 @@ The Gitea MCP Server supports the following tools:
To enable debug mode, add the `-d` flag when running the Gitea MCP Server with sse mode: To enable debug mode, add the `-d` flag when running the Gitea MCP Server with sse mode:
```sh ```sh
./gitea-mcp -t sse --token <your personal access token> -d ./gitea-mcp -t sse [--port 8080] --token <your personal access token> -d
``` ```
Enjoy exploring and managing your Gitea repositories via chat! Enjoy exploring and managing your Gitea repositories via chat!

View File

@@ -13,6 +13,7 @@ import (
var ( var (
transport string transport string
host string host string
port int
token string token string
debug bool debug bool
@@ -37,6 +38,12 @@ func init() {
"https://gitea.com", "https://gitea.com",
"Gitea host", "Gitea host",
) )
flag.IntVar(
&port,
"port",
8080,
"sse port",
)
flag.StringVar( flag.StringVar(
&token, &token,
"token", "token",
@@ -66,6 +73,8 @@ func init() {
flagPkg.Host = "https://gitea.com" flagPkg.Host = "https://gitea.com"
} }
flagPkg.Port = port
flagPkg.Token = token flagPkg.Token = token
if flagPkg.Token == "" { if flagPkg.Token == "" {
flagPkg.Token = os.Getenv("GITEA_ACCESS_TOKEN") flagPkg.Token = os.Getenv("GITEA_ACCESS_TOKEN")

View File

@@ -50,8 +50,8 @@ func Run(transport, version string) error {
} }
case "sse": case "sse":
sseServer := server.NewSSEServer(mcpServer) sseServer := server.NewSSEServer(mcpServer)
log.Infof("Gitea MCP SSE server listening on :8080") log.Infof("Gitea MCP SSE server listening on :%d", flag.Port)
if err := sseServer.Start(":8080"); err != nil { if err := sseServer.Start(fmt.Sprintf(":%d", flag.Port)); err != nil {
return err return err
} }
default: default:

View File

@@ -119,11 +119,19 @@ func ForkRepoFn(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResu
if !ok { if !ok {
return to.ErrorResult(errors.New("repository name is required")) return to.ErrorResult(errors.New("repository name is required"))
} }
organization, _ := req.Params.Arguments["organization"].(string) organization, ok := req.Params.Arguments["organization"].(string)
name, _ := req.Params.Arguments["name"].(string) organizationPtr := ptr.To(organization)
if !ok || organization == "" {
organizationPtr = nil
}
name, ok := req.Params.Arguments["name"].(string)
namePtr := ptr.To(name)
if !ok || name == "" {
namePtr = nil
}
opt := gitea_sdk.CreateForkOption{ opt := gitea_sdk.CreateForkOption{
Organization: ptr.To(organization), Organization: organizationPtr,
Name: ptr.To(name), Name: namePtr,
} }
_, _, err := gitea.Client().CreateFork(user, repo, opt) _, _, err := gitea.Client().CreateFork(user, repo, opt)
if err != nil { if err != nil {

View File

@@ -2,6 +2,7 @@ package flag
var ( var (
Host string Host string
Port int
Token string Token string
Version string Version string