Documentation
¶
Overview ¶
Package groupscim implements GitLab SCIM identity operations for groups including list, get, update, and delete.
markdown.go provides Markdown formatting functions for group SCIM MCP tool output.
register.go wires group SCIM MCP tools to the MCP server.
Index ¶
- func Delete(ctx context.Context, client *gitlabclient.Client, in DeleteInput) error
- func FormatListMarkdown(out ListOutput) string
- func FormatOutputMarkdown(o Output) string
- func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
- func Update(ctx context.Context, client *gitlabclient.Client, in UpdateInput) error
- type DeleteInput
- type GetInput
- type ListInput
- type ListOutput
- type Output
- type UpdateInput
- type UpdateOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Delete ¶
func Delete(ctx context.Context, client *gitlabclient.Client, in DeleteInput) error
Delete removes a SCIM identity.
func FormatListMarkdown ¶
func FormatListMarkdown(out ListOutput) string
FormatListMarkdown renders a list of SCIM identities as Markdown.
func FormatOutputMarkdown ¶
FormatOutputMarkdown renders a single SCIM identity as Markdown.
func RegisterTools ¶
func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
RegisterTools registers MCP tools for GitLab group SCIM identity operations.
func Update ¶
func Update(ctx context.Context, client *gitlabclient.Client, in UpdateInput) error
Update modifies a SCIM identity.
Types ¶
type DeleteInput ¶
type DeleteInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
UID string `json:"uid" jsonschema:"SCIM external UID of the user,required"`
}
DeleteInput holds parameters for deleting a SCIM identity.
type GetInput ¶
type GetInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
UID string `json:"uid" jsonschema:"SCIM external UID of the user,required"`
}
GetInput holds parameters for getting a single SCIM identity.
type ListInput ¶
type ListInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
}
ListInput holds parameters for listing SCIM identities for a group.
type ListOutput ¶
type ListOutput struct {
toolutil.HintableOutput
Identities []Output `json:"identities"`
}
ListOutput holds the list response.
func List ¶
func List(ctx context.Context, client *gitlabclient.Client, in ListInput) (ListOutput, error)
List returns all SCIM identities for a group.
type Output ¶
type Output struct {
toolutil.HintableOutput
ExternalUID string `json:"external_uid"`
UserID int64 `json:"user_id"`
Active bool `json:"active"`
}
Output represents a SCIM identity.
type UpdateInput ¶
type UpdateInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
UID string `json:"uid" jsonschema:"SCIM external UID of the user,required"`
ExternUID string `json:"extern_uid" jsonschema:"New external UID value,required"`
}
UpdateInput holds parameters for updating a SCIM identity.
type UpdateOutput ¶
type UpdateOutput struct {
toolutil.HintableOutput
Updated bool `json:"updated"`
Message string `json:"message"`
}
UpdateOutput holds the update confirmation.