mcp

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2026 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatLines added in v1.2.0

func FormatLines(content string, offset, limit int) string

FormatLines formats content with line numbers (cat -n style). offset is 1-based (default 1). limit=0 means all remaining lines.

func MakeListVaultFilesHandler

MakeListVaultFilesHandler returns the handler for the list_vault_files tool.

func MakeReadVaultFileHandler

func MakeReadVaultFileHandler(vr VaultReader, tracker *ReadTracker) func(context.Context, *sdkmcp.CallToolRequest, ReadVaultFileParams) (*sdkmcp.CallToolResult, any, error)

MakeReadVaultFileHandler returns the handler for the read_vault_file tool.

func MakeUpdateVaultFileHandler added in v1.1.0

func MakeUpdateVaultFileHandler(vw VaultWriter, tracker *ReadTracker) func(context.Context, *sdkmcp.CallToolRequest, UpdateVaultFileParams) (*sdkmcp.CallToolResult, any, error)

MakeUpdateVaultFileHandler returns the handler for the update_vault_file tool.

func NewServer

func NewServer(registryPath string) *sdkmcp.Server

NewServer creates a configured MCP server. registryPath is the path to .pickaxe.json; it is re-read on every tool call so changes from `pickaxe add` are visible without restarting the server.

Types

type ListVaultFilesParams

type ListVaultFilesParams struct{}

ListVaultFilesParams is the (empty) parameter struct for list_vault_files.

type ReadTracker added in v1.1.0

type ReadTracker struct {
	// contains filtered or unexported fields
}

ReadTracker records which vault files have been read in the current session. update_vault_file requires a prior read_vault_file call for the same file.

func NewReadTracker added in v1.1.0

func NewReadTracker() *ReadTracker

func (*ReadTracker) HasRead added in v1.1.0

func (t *ReadTracker) HasRead(name string) bool

func (*ReadTracker) Invalidate added in v1.1.0

func (t *ReadTracker) Invalidate(name string)

func (*ReadTracker) MarkRead added in v1.1.0

func (t *ReadTracker) MarkRead(name string)

type ReadVaultFileParams

type ReadVaultFileParams struct {
	Name   string `json:"name"`
	Offset int    `json:"offset,omitempty"`
	Limit  int    `json:"limit,omitempty"`
}

ReadVaultFileParams is the parameter struct for read_vault_file.

type UpdateVaultFileParams added in v1.1.0

type UpdateVaultFileParams struct {
	Name      string  `json:"name"`
	Content   string  `json:"content,omitempty"`
	OldString *string `json:"old_string,omitempty"`
	NewString *string `json:"new_string,omitempty"`
}

UpdateVaultFileParams is the parameter struct for update_vault_file.

type VaultReader

type VaultReader interface {
	ListFiles() ([]vault.ResolvedFile, error)
	ReadFile(name string) (string, error)
}

VaultReader abstracts vault access for testability.

type VaultWriter added in v1.1.0

type VaultWriter interface {
	WriteFile(name string, content string) error
	ReplaceInFile(name, oldStr, newStr string) error
}

VaultWriter abstracts vault write access for testability.

Jump to

Keyboard shortcuts

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