Update
This commit is contained in:
@@ -6,7 +6,9 @@ import ( | ||||
| ||||
"gitea.com/gitea/gitea-mcp/pkg/gitea" | ||||
"gitea.com/gitea/gitea-mcp/pkg/to" | ||||
| ||||
"github.com/mark3labs/mcp-go/mcp" | ||||
"github.com/mark3labs/mcp-go/server" | ||||
) | ||||
| ||||
const ( | ||||
@@ -25,20 +27,27 @@ var ( | ||||
"owner", | ||||
mcp.Required(), | ||||
mcp.Description("repository owner"), | ||||
mcp.DefaultString(""), | ||||
), | ||||
mcp.WithString( | ||||
"repo", | ||||
mcp.Required(), | ||||
mcp.Description("repository name"), | ||||
mcp.DefaultString(""), | ||||
), | ||||
mcp.WithNumber( | ||||
"index", | ||||
mcp.Required(), | ||||
mcp.Description("repository issue index"), | ||||
mcp.DefaultNumber(0), | ||||
), | ||||
} | ||||
) | ||||
| ||||
func RegisterTool(s *server.MCPServer) { | ||||
s.AddTool(GetIssueByIndexTool, GetIssueByIndexFn) | ||||
} | ||||
| ||||
func GetIssueByIndexFn(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||||
owner := req.Params.Arguments["owner"].(string) | ||||
repo := req.Params.Arguments["repo"].(string) | ||||
|
@@ -9,6 +9,7 @@ import ( | ||||
"gitea.com/gitea/gitea-mcp/operation/version" | ||||
"gitea.com/gitea/gitea-mcp/pkg/flag" | ||||
"gitea.com/gitea/gitea-mcp/pkg/log" | ||||
| ||||
"github.com/mark3labs/mcp-go/server" | ||||
) | ||||
| ||||
@@ -18,17 +19,16 @@ var ( | ||||
| ||||
func RegisterTool(s *server.MCPServer) { | ||||
// User Tool | ||||
s.AddTool(user.GetMyUserInfoTool, user.GetUserInfoFn) | ||||
user.RegisterTool(s) | ||||
| ||||
// Repo Tool | ||||
s.AddTool(repo.CreateRepoTool, repo.CreateRepoFn) | ||||
s.AddTool(repo.ListMyReposTool, repo.ListMyReposFn) | ||||
repo.RegisterTool(s) | ||||
| ||||
// Issue Tool | ||||
s.AddTool(issue.GetIssueByIndexTool, issue.GetIssueByIndexFn) | ||||
issue.RegisterTool(s) | ||||
| ||||
// Version Tool | ||||
s.AddTool(version.GetGiteaMCPServerVersionTool, version.GetGiteaMCPServerVersionFn) | ||||
version.RegisterTool(s) | ||||
} | ||||
| ||||
func Run(transport, version string) error { | ||||
|
@@ -6,7 +6,9 @@ import ( | ||||
"code.gitea.io/sdk/gitea" | ||||
giteaPkg "gitea.com/gitea/gitea-mcp/pkg/gitea" | ||||
"gitea.com/gitea/gitea-mcp/pkg/to" | ||||
| ||||
"github.com/mark3labs/mcp-go/mcp" | ||||
"github.com/mark3labs/mcp-go/server" | ||||
) | ||||
| ||||
const ( | ||||
@@ -22,16 +24,16 @@ var ( | ||||
| ||||
CreateRepoOpt = []mcp.ToolOption{ | ||||
mcp.WithDescription("Create repository"), | ||||
mcp.WithString("name", mcp.Required(), mcp.Description("Name of the repository to create")), | ||||
mcp.WithString("description", mcp.Description("Description of the repository to create")), | ||||
mcp.WithBoolean("private", mcp.Description("Whether the repository is private")), | ||||
mcp.WithString("issue_labels", mcp.Description("Issue Label set to use")), | ||||
mcp.WithBoolean("auto_init", mcp.Description("Whether the repository should be auto-intialized?")), | ||||
mcp.WithBoolean("template", mcp.Description("Whether the repository is template")), | ||||
mcp.WithString("gitignores", mcp.Description("Gitignores to use")), | ||||
mcp.WithString("license", mcp.Description("License to use")), | ||||
mcp.WithString("readme", mcp.Description("Readme of the repository to create")), | ||||
mcp.WithString("default_branch", mcp.Description("DefaultBranch of the repository (used when initializes and in template)")), | ||||
mcp.WithString("name", mcp.Required(), mcp.DefaultString("test"), mcp.Description("Name of the repository to create")), | ||||
mcp.WithString("description", mcp.DefaultString(""), mcp.Description("Description of the repository to create")), | ||||
mcp.WithBoolean("private", mcp.DefaultBool(true), mcp.Description("Whether the repository is private")), | ||||
mcp.WithString("issue_labels", mcp.DefaultString(""), mcp.Description("Issue Label set to use")), | ||||
mcp.WithBoolean("auto_init", mcp.DefaultBool(false), mcp.Description("Whether the repository should be auto-intialized?")), | ||||
mcp.WithBoolean("template", mcp.DefaultBool(false), mcp.Description("Whether the repository is template")), | ||||
mcp.WithString("gitignores", mcp.DefaultString(""), mcp.Description("Gitignores to use")), | ||||
mcp.WithString("license", mcp.DefaultString("MIT"), mcp.Description("License to use")), | ||||
mcp.WithString("readme", mcp.DefaultString(""), mcp.Description("Readme of the repository to create")), | ||||
mcp.WithString("default_branch", mcp.DefaultString("main"), mcp.Description("DefaultBranch of the repository (used when initializes and in template)")), | ||||
} | ||||
| ||||
ListMyReposTool = mcp.NewTool( | ||||
@@ -56,6 +58,11 @@ var ( | ||||
} | ||||
) | ||||
| ||||
func RegisterTool(s *server.MCPServer) { | ||||
s.AddTool(CreateRepoTool, CreateRepoFn) | ||||
s.AddTool(ListMyReposTool, ListMyReposFn) | ||||
} | ||||
| ||||
func CreateRepoFn(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||||
name := req.Params.Arguments["name"].(string) | ||||
description := req.Params.Arguments["description"].(string) | ||||
|
@@ -7,6 +7,7 @@ import ( | ||||
"gitea.com/gitea/gitea-mcp/pkg/to" | ||||
| ||||
"github.com/mark3labs/mcp-go/mcp" | ||||
"github.com/mark3labs/mcp-go/server" | ||||
) | ||||
| ||||
const ( | ||||
@@ -20,6 +21,10 @@ var ( | ||||
) | ||||
) | ||||
| ||||
func RegisterTool(s *server.MCPServer) { | ||||
s.AddTool(GetMyUserInfoTool, GetUserInfoFn) | ||||
} | ||||
| ||||
func GetUserInfoFn(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||||
user, _, err := gitea.Client().GetMyUserInfo() | ||||
if err != nil { | ||||
|
@@ -6,7 +6,9 @@ import ( | ||||
| ||||
"gitea.com/gitea/gitea-mcp/pkg/flag" | ||||
"gitea.com/gitea/gitea-mcp/pkg/to" | ||||
| ||||
"github.com/mark3labs/mcp-go/mcp" | ||||
"github.com/mark3labs/mcp-go/server" | ||||
) | ||||
| ||||
const ( | ||||
@@ -20,6 +22,10 @@ var ( | ||||
) | ||||
) | ||||
| ||||
func RegisterTool(s *server.MCPServer) { | ||||
s.AddTool(GetGiteaMCPServerVersionTool, GetGiteaMCPServerVersionFn) | ||||
} | ||||
| ||||
func GetGiteaMCPServerVersionFn(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||||
version := flag.Version | ||||
if version == "" { | ||||
|
Reference in New Issue
Block a user