Documentation
¶
Overview ¶
markdown.go provides Markdown formatting functions for runner controller MCP tool output.
register.go wires runner controller MCP tools to the MCP server.
Package runnercontrollers implements MCP tool handlers for GitLab Runner Controllers. This is an admin-only API. Experimental: may change or be removed in future versions.
Index ¶
- func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
- func FormatDetailsMarkdown(out DetailsOutput) string
- func FormatGetMarkdown(out DetailsOutput) *mcp.CallToolResult
- func FormatListMarkdown(out ListOutput) string
- func FormatOutputMarkdown(out Output) string
- func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
- func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
- type CreateInput
- type DeleteInput
- type DetailsOutput
- type GetInput
- type ListInput
- type ListOutput
- type Output
- type UpdateInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Delete ¶
func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
Delete removes a runner controller (admin only).
func FormatDetailsMarkdown ¶
func FormatDetailsMarkdown(out DetailsOutput) string
FormatDetailsMarkdown renders detailed runner controller info as Markdown.
func FormatGetMarkdown ¶
func FormatGetMarkdown(out DetailsOutput) *mcp.CallToolResult
FormatGetMarkdown formats Get output as an MCP tool result.
func FormatListMarkdown ¶
func FormatListMarkdown(out ListOutput) string
FormatListMarkdown renders a list of runner controllers as Markdown.
func FormatOutputMarkdown ¶
FormatOutputMarkdown renders a runner controller as Markdown.
func RegisterMeta ¶
func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
RegisterMeta registers the gitlab_runner_controller meta-tool, consolidating controller CRUD, scope management, and token management into a single tool.
func RegisterTools ¶
func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
RegisterTools registers all runner controller tools on the MCP server.
Types ¶
type CreateInput ¶
type CreateInput struct {
Description string `json:"description,omitempty" jsonschema:"Description of the runner controller"`
State string `json:"state,omitempty" jsonschema:"State: enabled, disabled, or dry_run"`
}
CreateInput defines parameters for creating a runner controller.
type DeleteInput ¶
type DeleteInput struct {
ControllerID int64 `json:"controller_id" jsonschema:"Runner controller ID,required"`
}
DeleteInput defines parameters for deleting a runner controller.
type DetailsOutput ¶
type DetailsOutput struct {
toolutil.HintableOutput
Output
Connected bool `json:"connected"`
}
DetailsOutput represents detailed runner controller information.
func Get ¶
func Get(ctx context.Context, client *gitlabclient.Client, input GetInput) (DetailsOutput, error)
Get retrieves a single runner controller (admin only).
type GetInput ¶
type GetInput struct {
ControllerID int64 `json:"controller_id" jsonschema:"Runner controller ID,required"`
}
GetInput defines parameters for getting a runner controller.
type ListInput ¶
type ListInput struct {
toolutil.PaginationInput
}
ListInput defines parameters for listing runner controllers.
type ListOutput ¶
type ListOutput struct {
toolutil.HintableOutput
Controllers []Output `json:"controllers"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
ListOutput holds a paginated list of runner controllers.
func List ¶
func List(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)
List retrieves all runner controllers (admin only).
type Output ¶
type Output struct {
toolutil.HintableOutput
ID int64 `json:"id"`
Description string `json:"description"`
State string `json:"state"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
Output represents a runner controller in responses.
func Create ¶
func Create(ctx context.Context, client *gitlabclient.Client, input CreateInput) (Output, error)
Create registers a new runner controller (admin only).
func Update ¶
func Update(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (Output, error)
Update modifies an existing runner controller (admin only).
type UpdateInput ¶
type UpdateInput struct {
ControllerID int64 `json:"controller_id" jsonschema:"Runner controller ID,required"`
Description string `json:"description,omitempty" jsonschema:"New description"`
State string `json:"state,omitempty" jsonschema:"New state: enabled, disabled, or dry_run"`
}
UpdateInput defines parameters for updating a runner controller.