tools

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package tools provides MCP tool implementations for slidekit.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterAll

func RegisterAll(srv *mcp.Server)

RegisterAll registers all slidekit tools with the MCP server.

Types

type ApplyChangesInput

type ApplyChangesInput struct {
	Path    string     `json:"path" jsonschema:"description=path to the presentation file"`
	Diff    model.Diff `json:"diff" jsonschema:"description=the diff to apply"`
	Confirm bool       `json:"confirm" jsonschema:"description=must be true to actually apply changes"`
}

ApplyChangesInput is the input for the apply_changes tool.

type ApplyChangesOutput

type ApplyChangesOutput struct {
	Applied bool   `json:"applied" jsonschema:"description=true if changes were applied"`
	Message string `json:"message" jsonschema:"description=status message"`
}

ApplyChangesOutput is the output for the apply_changes tool.

type CreateDeckInput

type CreateDeckInput struct {
	Path    string     `json:"path" jsonschema:"description=path for the new presentation file"`
	Deck    model.Deck `json:"deck" jsonschema:"description=the deck definition"`
	Backend string     `json:"backend,omitempty" jsonschema:"description=backend to use (default: auto-detect from path)"`
}

CreateDeckInput is the input for the create_deck tool.

type CreateDeckOutput

type CreateDeckOutput struct {
	Path    string `json:"path" jsonschema:"description=path to the created file"`
	Message string `json:"message" jsonschema:"description=status message"`
}

CreateDeckOutput is the output for the create_deck tool.

type GetSlideInput

type GetSlideInput struct {
	Path    string `json:"path" jsonschema:"description=path to the presentation file"`
	SlideID string `json:"slide_id" jsonschema:"description=ID of the slide to retrieve"`
	Format  string `json:"format,omitempty" jsonschema:"description=output format: toon (default) or json"`
}

GetSlideInput is the input for the get_slide tool.

type GetSlideOutput

type GetSlideOutput struct {
	Content string `json:"content" jsonschema:"description=the slide content in the requested format"`
}

GetSlideOutput is the output for the get_slide tool.

type ListSlidesInput

type ListSlidesInput struct {
	Path   string `json:"path" jsonschema:"description=path to the presentation file"`
	Format string `json:"format,omitempty" jsonschema:"description=output format: toon (default) or json"`
}

ListSlidesInput is the input for the list_slides tool.

type ListSlidesOutput

type ListSlidesOutput struct {
	Content string `json:"content" jsonschema:"description=list of slides with IDs and titles"`
}

ListSlidesOutput is the output for the list_slides tool.

type PlanChangesInput

type PlanChangesInput struct {
	Path    string     `json:"path" jsonschema:"description=path to the presentation file"`
	Desired model.Deck `json:"desired" jsonschema:"description=the desired state of the deck"`
	Format  string     `json:"format,omitempty" jsonschema:"description=output format: toon (default) or json"`
}

PlanChangesInput is the input for the plan_changes tool.

type PlanChangesInputJSON

type PlanChangesInputJSON struct {
	Path        string          `json:"path" jsonschema:"description=path to the presentation file"`
	DesiredJSON json.RawMessage `json:"desired_json" jsonschema:"description=the desired state as JSON"`
	Format      string          `json:"format,omitempty" jsonschema:"description=output format: toon (default) or json"`
}

PlanChangesInputJSON is an alternative input that accepts JSON for desired state.

type PlanChangesOutput

type PlanChangesOutput struct {
	Content string `json:"content" jsonschema:"description=the diff between current and desired state"`
	IsEmpty bool   `json:"is_empty" jsonschema:"description=true if there are no changes"`
}

PlanChangesOutput is the output for the plan_changes tool.

type ReadDeckInput

type ReadDeckInput struct {
	Path   string `json:"path" jsonschema:"description=path to the presentation file"`
	Format string `json:"format,omitempty" jsonschema:"description=output format: toon (default) or json"`
}

ReadDeckInput is the input for the read_deck tool.

type ReadDeckOutput

type ReadDeckOutput struct {
	Content string `json:"content" jsonschema:"description=the presentation content in the requested format"`
}

ReadDeckOutput is the output for the read_deck tool.

type UpdateSlideInput

type UpdateSlideInput struct {
	Path    string      `json:"path" jsonschema:"description=path to the presentation file"`
	SlideID string      `json:"slide_id" jsonschema:"description=ID of the slide to update"`
	Updates model.Slide `json:"updates" jsonschema:"description=fields to update (title, subtitle, body, notes)"`
	Confirm bool        `json:"confirm" jsonschema:"description=must be true to actually apply changes"`
}

UpdateSlideInput is the input for the update_slide tool.

type UpdateSlideOutput

type UpdateSlideOutput struct {
	Updated bool   `json:"updated" jsonschema:"description=true if the slide was updated"`
	Message string `json:"message" jsonschema:"description=status message"`
}

UpdateSlideOutput is the output for the update_slide tool.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL