package handler
import (
"context"
"fmt"
"path/filepath"
"strings"
"github.com/mark3labs/mcp-go/mcp"
)
func (fs *FilesystemHandler) HandleListAllowedDirectories(
ctx context.Context,
request mcp.CallToolRequest,
) (*mcp.CallToolResult, error) {
// Remove the trailing separator for display purposes
displayDirs := make([]string, len(fs.allowedDirs))
for i, dir := range fs.allowedDirs {
displayDirs[i] = strings.TrimSuffix(dir, string(filepath.Separator))
}
var result strings.Builder
result.WriteString("Allowed directories:\n\n")
for _, dir := range displayDirs {
resourceURI := pathToResourceURI(dir)
result.WriteString(fmt.Sprintf("%s (%s)\n", dir, resourceURI))
}
return &mcp.CallToolResult{
Content: []mcp.Content{
mcp.TextContent{
Type: "text",
Text: result.String(),
},
},
}, nil
}