Skip to main content
Glama
creatre_release.go1.78 kB
package repository import ( "context" "fmt" "gitee.com/oschina/mcp-gitee/operations/types" "gitee.com/oschina/mcp-gitee/utils" "github.com/mark3labs/mcp-go/mcp" ) const ( CreateReleaseToolName = "create_release" ) var CreateReleaseTool = mcp.NewTool( CreateReleaseToolName, mcp.WithDescription("Create a release"), mcp.WithString( "owner", mcp.Description("The space address to which the repository belongs (the address path of the enterprise, organization or individual)"), mcp.Required(), ), mcp.WithString( "repo", mcp.Description("The path of the repository"), mcp.Required(), ), mcp.WithString( "tag_name", mcp.Description("The name of the tag"), mcp.Required(), ), mcp.WithString( "name", mcp.Description("The name of the release"), mcp.Required(), ), mcp.WithString( "body", mcp.Description("The description of the release"), mcp.Required(), ), mcp.WithBoolean( "prerelease", mcp.Description("Whether the release is a prerelease"), mcp.DefaultBool(false), ), mcp.WithString( "target_commitish", mcp.Description("The branch name or commit SHA, defaults to the repository's default branch"), mcp.Required(), ), ) func CreateReleaseHandleFunc(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { args, _ := utils.ConvertArgumentsToMap(request.Params.Arguments) if checkResult, err := utils.CheckRequired(args, "owner", "repo"); err != nil { return checkResult, err } owner := args["owner"].(string) repo := args["repo"].(string) apiUrl := fmt.Sprintf("/repos/%s/%s/releases", owner, repo) giteeClient := utils.NewGiteeClient("POST", apiUrl, utils.WithContext(ctx), utils.WithPayload(args)) release := &types.Release{} return giteeClient.HandleMCPResult(release) }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oschina/mcp-gitee'

If you have feedback or need assistance with the MCP directory API, please join our Discord server