Skip to main content
Glama

mcp-1panel

Official
by 1Panel-dev
install_openresty.go2.04 kB
package app import ( "context" "fmt" "github.com/modelcontextprotocol/go-sdk/mcp" "github.com/1Panel-dev/mcp-1panel/operations/types" "github.com/1Panel-dev/mcp-1panel/utils" ) const ( InstallOpenResty = "install_openresty" ) var InstallOpenRestyTool = mcp.NewServerTool[InstallOpenRestyInput, any]( InstallOpenResty, "install openresty, if not set name, default is openresty, if not set http_port, default is 80, if not set https_port, default is 443", func(ctx context.Context, _ *mcp.ServerSession, params *mcp.CallToolParamsFor[InstallOpenRestyInput]) (*mcp.CallToolResultFor[any], error) { input := params.Arguments name := input.Name if name == "" { name = "openresty" } httpPort := input.HttpPort if httpPort == 0 { httpPort = 80 } httpsPort := input.HttpsPort if httpsPort == 0 { httpsPort = 443 } appRes := &types.AppRes{} result, err := utils.NewPanelClient("GET", "/apps/openresty").Request(appRes) if err != nil { return result, err } version := appRes.Data.Versions[0] appID := appRes.Data.ID appDetailURL := fmt.Sprintf("/apps/detail/%d/%s/app", appID, version) appDetailRes := &types.AppDetailRes{} result, err = utils.NewPanelClient("GET", appDetailURL).Request(appDetailRes) if err != nil { return result, err } appDetailID := appDetailRes.Data.ID req := &types.AppInstallCreate{ AppDetailID: appDetailID, Name: name, Params: map[string]interface{}{ "PANEL_APP_PORT_HTTP": httpPort, "PANEL_APP_PORT_HTTPS": httpsPort, }, } res := &types.Response{} result, err = utils.NewPanelClient("POST", "/apps/install", utils.WithPayload(req)).Request(res) if result != nil { result.StructuredContent = res } return result, err }, ) type InstallOpenRestyInput struct { Name string `json:"name,omitempty" jsonschema:"openresty name"` HttpPort float64 `json:"http_port,omitempty" jsonschema:"openresty http port"` HttpsPort float64 `json:"https_port,omitempty" jsonschema:"openresty https port"` }

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/1Panel-dev/mcp-1panel'

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