mirror of
https://gitea.com/gitea/gitea-mcp.git
synced 2025-08-24 14:53:06 +00:00
Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d892b05048 | ||
|
592cf51c9b |
@@ -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!
|
||||||
|
@@ -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")
|
||||||
|
@@ -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:
|
||||||
|
@@ -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 {
|
||||||
|
@@ -2,6 +2,7 @@ package flag
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
Host string
|
Host string
|
||||||
|
Port int
|
||||||
Token string
|
Token string
|
||||||
Version string
|
Version string
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user