mirror of
https://gitea.com/gitea/gitea-mcp.git
synced 2025-08-23 14:23:05 +00:00
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