feat: add server version
This commit is contained in:
@@ -5,6 +5,8 @@ import ( | ||||
| ||||
"gitea.com/gitea/gitea-mcp/operation/repo" | ||||
"gitea.com/gitea/gitea-mcp/operation/user" | ||||
"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" | ||||
) | ||||
@@ -15,13 +17,17 @@ var ( | ||||
| ||||
func RegisterTool(s *server.MCPServer) { | ||||
// User Tool | ||||
s.AddTool(user.GetMyUserInfoTool, user.MyUserInfoFn) | ||||
s.AddTool(user.GetMyUserInfoTool, user.GetUserInfoFn) | ||||
| ||||
// Repo Tool | ||||
s.AddTool(repo.GetMyReposTool, repo.MyUserReposFn) | ||||
s.AddTool(repo.ListMyReposTool, repo.ListMyReposFn) | ||||
| ||||
// Version Tool | ||||
s.AddTool(version.GetGiteaMCPServerVersionTool, version.GetGiteaMCPServerVersionFn) | ||||
} | ||||
| ||||
func Run(transport, version string) error { | ||||
flag.Version = version | ||||
mcpServer = newMCPServer(version) | ||||
RegisterTool(mcpServer) | ||||
switch transport { | ||||
| ||||
@@ -14,13 +14,13 @@ const ( | ||||
) | ||||
| ||||
var ( | ||||
GetMyReposTool = mcp.NewTool( | ||||
ListMyReposTool = mcp.NewTool( | ||||
ListMyReposToolName, | ||||
mcp.WithDescription("List My Repositories"), | ||||
) | ||||
) | ||||
| ||||
func MyUserReposFn(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||||
func ListMyReposFn(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||||
opts := gitea.ListReposOptions{ | ||||
ListOptions: gitea.ListOptions{ | ||||
Page: 1, | ||||
| ||||
@@ -20,7 +20,7 @@ var ( | ||||
) | ||||
) | ||||
| ||||
func MyUserInfoFn(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||||
func GetUserInfoFn(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||||
user, _, err := gitea.Client().GetMyUserInfo() | ||||
if err != nil { | ||||
return mcp.NewToolResultError("Get My User Info Error"), err | ||||
| ||||
28 operation/version/version.go Normal file
28
operation/version/version.go Normal file @@ -0,0 +1,28 @@ | ||||
package version | ||||
| ||||
import ( | ||||
"context" | ||||
"fmt" | ||||
| ||||
"gitea.com/gitea/gitea-mcp/pkg/flag" | ||||
"github.com/mark3labs/mcp-go/mcp" | ||||
) | ||||
| ||||
const ( | ||||
GetGiteaMCPServerVersion = "get_gitea_mcp_server_version" | ||||
) | ||||
| ||||
var ( | ||||
GetGiteaMCPServerVersionTool = mcp.NewTool( | ||||
GetGiteaMCPServerVersion, | ||||
mcp.WithDescription("Get Gitea MCP Server Version"), | ||||
) | ||||
) | ||||
| ||||
func GetGiteaMCPServerVersionFn(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||||
version := flag.Version | ||||
if version == "" { | ||||
version = "dev" | ||||
} | ||||
return mcp.NewToolResultText(fmt.Sprintf("Gitea MCP Server version: %v", version)), nil | ||||
} | ||||
Reference in New Issue
Block a user