Documentation
¶
Overview ¶
Package ffuserlists provides MCP tool handlers for GitLab feature flag user list operations.
markdown.go provides Markdown formatting functions for feature flag user list MCP tool output.
register.go wires ffuserlists MCP tools to the MCP server.
Index ¶
- func DeleteUserList(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
- func FormatListUserListsMarkdown(out ListOutput) string
- func FormatUserListMarkdown(out Output) string
- func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
- func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
- type CreateInput
- type DeleteInput
- type GetInput
- type ListInput
- type ListOutput
- type Output
- func CreateUserList(ctx context.Context, client *gitlabclient.Client, input CreateInput) (Output, error)
- func GetUserList(ctx context.Context, client *gitlabclient.Client, input GetInput) (Output, error)
- func UpdateUserList(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (Output, error)
- type UpdateInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteUserList ¶
func DeleteUserList(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
DeleteUserList deletes a feature flag user list.
func FormatListUserListsMarkdown ¶
func FormatListUserListsMarkdown(out ListOutput) string
FormatListUserListsMarkdown formats a list of feature flag user lists as markdown.
func FormatUserListMarkdown ¶
FormatUserListMarkdown formats a single feature flag user list as markdown.
func RegisterMeta ¶
func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
RegisterMeta registers the feature flag user list meta-tool.
func RegisterTools ¶
func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
RegisterTools registers all feature flag user list individual tools.
Types ¶
type CreateInput ¶
type CreateInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
Name string `json:"name" jsonschema:"User list name,required"`
UserXIDs string `json:"user_xids" jsonschema:"Comma-separated list of user external IDs,required"`
}
CreateInput contains parameters for creating a feature flag user list.
type DeleteInput ¶
type DeleteInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
IID int64 `json:"user_list_iid" jsonschema:"Feature flag user list internal ID,required"`
}
DeleteInput contains parameters for deleting a feature flag user list.
type GetInput ¶
type GetInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
IID int64 `json:"user_list_iid" jsonschema:"Feature flag user list internal ID,required"`
}
GetInput contains parameters for getting a feature flag user list.
type ListInput ¶
type ListInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
Search string `json:"search,omitempty" jsonschema:"Search by name"`
toolutil.PaginationInput
}
ListInput contains parameters for listing feature flag user lists.
type ListOutput ¶
type ListOutput struct {
toolutil.HintableOutput
UserLists []Output `json:"user_lists"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
ListOutput represents a paginated list of feature flag user lists.
func ListUserLists ¶
func ListUserLists(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)
ListUserLists lists feature flag user lists for a project.
type Output ¶
type Output struct {
toolutil.HintableOutput
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `json:"project_id"`
Name string `json:"name"`
UserXIDs string `json:"user_xids"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
Output represents a single feature flag user list.
func CreateUserList ¶
func CreateUserList(ctx context.Context, client *gitlabclient.Client, input CreateInput) (Output, error)
CreateUserList creates a new feature flag user list.
func GetUserList ¶
GetUserList gets a single feature flag user list by IID.
func UpdateUserList ¶
func UpdateUserList(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (Output, error)
UpdateUserList updates an existing feature flag user list.
type UpdateInput ¶
type UpdateInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
IID int64 `json:"user_list_iid" jsonschema:"Feature flag user list internal ID,required"`
Name string `json:"name,omitempty" jsonschema:"New user list name"`
UserXIDs string `json:"user_xids,omitempty" jsonschema:"Comma-separated list of user external IDs"`
}
UpdateInput contains parameters for updating a feature flag user list.