Documentation
¶
Overview ¶
Package groupsaml implements MCP tool handlers for GitLab group SAML link operations.
markdown.go provides Markdown formatting functions for group SAML MCP tool output.
register.go wires group SAML MCP tools to the MCP server.
Index ¶
- func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
- func FormatListMarkdown(out ListOutput) string
- func FormatOutputMarkdown(out Output) string
- func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
- type AddInput
- type DeleteInput
- type DeleteOutput
- type GetInput
- type ListInput
- type ListOutput
- type Output
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 group SAML link.
func FormatListMarkdown ¶
func FormatListMarkdown(out ListOutput) string
FormatListMarkdown renders a list of group SAML links as Markdown.
func FormatOutputMarkdown ¶
FormatOutputMarkdown renders a single group SAML link as Markdown.
func RegisterTools ¶
func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
RegisterTools registers group SAML link tools on the MCP server.
Types ¶
type AddInput ¶
type AddInput struct {
GroupID string `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
SAMLGroupName string `json:"saml_group_name" jsonschema:"Name of the SAML group,required"`
AccessLevel int `json:"access_level" jsonschema:"Access level (10=Guest 20=Reporter 30=Developer 40=Maintainer 50=Owner),required"`
MemberRoleID *int64 `json:"member_role_id,omitempty" jsonschema:"Custom member role ID"`
Provider string `json:"provider,omitempty" jsonschema:"SAML provider name"`
}
AddInput holds parameters for adding a group SAML link.
type DeleteInput ¶
type DeleteInput struct {
GroupID string `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
SAMLGroupName string `json:"saml_group_name" jsonschema:"Name of the SAML group to delete,required"`
}
DeleteInput holds parameters for deleting a group SAML link.
type DeleteOutput ¶
type DeleteOutput = toolutil.DeleteOutput
DeleteOutput confirms the deletion of a SAML link.
type GetInput ¶
type GetInput struct {
GroupID string `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
SAMLGroupName string `json:"saml_group_name" jsonschema:"Name of the SAML group,required"`
}
GetInput holds parameters for getting a single group SAML link.
type ListInput ¶
type ListInput struct {
GroupID string `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
}
ListInput holds parameters for listing group SAML links.
type ListOutput ¶
type ListOutput struct {
toolutil.HintableOutput
Links []Output `json:"links"`
}
ListOutput holds a list of group SAML links.
func List ¶
func List(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)
List retrieves all SAML links for a group.
type Output ¶
type Output struct {
toolutil.HintableOutput
Name string `json:"name"`
AccessLevel int `json:"access_level"`
MemberRoleID int64 `json:"member_role_id,omitempty"`
Provider string `json:"provider,omitempty"`
}
Output represents a single group SAML link.