Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AllowedDirectoriesResponse ¶
type AllowedDirectoriesResponse struct {
Directories []string `json:"directories"`
}
AllowedDirectoriesResponse represents the response for listing allowed directories
type DirectoryEntry ¶
type DirectoryEntry struct {
Name string `json:"name"`
Type string `json:"type"` // "file" or "directory"
Size int64 `json:"size,omitempty"`
Modified time.Time `json:"modified,omitempty"`
Children []DirectoryEntry `json:"children,omitempty"` // Only for directories
}
DirectoryEntry represents a single directory entry
type EditFileRequest ¶
type EditFileRequest struct {
Path string `json:"path"`
Edits []EditOperation `json:"edits"`
DryRun bool `json:"dryRun"`
}
EditFileRequest represents the request for editing a file
type EditOperation ¶
EditOperation represents a single edit operation
type FileInfo ¶
type FileInfo struct {
Size int64 `json:"size"`
Created time.Time `json:"created"`
Modified time.Time `json:"modified"`
Accessed time.Time `json:"accessed"`
IsDirectory bool `json:"isDirectory"`
IsFile bool `json:"isFile"`
Permissions string `json:"permissions"`
}
FileInfo represents file metadata
type FileSystemRequest ¶
type FileSystemRequest struct {
Path string `json:"path"`
}
FileSystemRequest represents the base request structure
type FileSystemTool ¶
type FileSystemTool struct {
// contains filtered or unexported fields
}
FileSystemTool implements filesystem operations with directory access control
func (*FileSystemTool) Definition ¶
func (t *FileSystemTool) Definition() mcp.Tool
Definition returns the tool's definition for MCP registration
func (*FileSystemTool) Execute ¶
func (t *FileSystemTool) Execute(ctx context.Context, logger *logrus.Logger, cache *sync.Map, args map[string]interface{}) (*mcp.CallToolResult, error)
Execute executes the filesystem tool
func (*FileSystemTool) SetAllowedDirectories ¶
func (t *FileSystemTool) SetAllowedDirectories(dirs []string)
SetAllowedDirectories sets the allowed directories (for testing purposes)
type ListDirectoryRequest ¶
type ListDirectoryRequest struct {
Path string `json:"path"`
SortBy string `json:"sortBy,omitempty"` // "name" or "size"
}
ListDirectoryRequest represents the request for listing directory contents
type MoveFileRequest ¶
type MoveFileRequest struct {
Source string `json:"source"`
Destination string `json:"destination"`
}
MoveFileRequest represents the request for moving/renaming files
type ReadFileRequest ¶
type ReadFileRequest struct {
Path string `json:"path"`
Head *int `json:"head,omitempty"` // Read only first N lines
Tail *int `json:"tail,omitempty"` // Read only last N lines
}
ReadFileRequest represents the request for reading a file
type ReadMultipleFilesRequest ¶
type ReadMultipleFilesRequest struct {
Paths []string `json:"paths"`
}
ReadMultipleFilesRequest represents the request for reading multiple files
type SearchFilesRequest ¶
type SearchFilesRequest struct {
Path string `json:"path"`
Pattern string `json:"pattern"`
ExcludePatterns []string `json:"excludePatterns"`
}
SearchFilesRequest represents the request for searching files
type WriteFileRequest ¶
WriteFileRequest represents the request for writing a file