manage_file_sharing
Manage file sharing settings on Tailscale devices by enabling, disabling, or retrieving status through automated operations with the MCP server.
Instructions
Manage Tailscale file sharing settings
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| deviceId | No | Device ID (for device-specific operations) | |
| operation | Yes | File sharing operation to perform |
Implementation Reference
- src/tools/admin-tools.ts:194-242 (handler)The handler function that implements the logic for managing Tailscale file sharing: get status, enable, or disable.async function manageFileSharing( args: z.infer<typeof FileSharingSchema>, context: ToolContext, ): Promise<CallToolResult> { try { logger.debug("Managing file sharing:", args); switch (args.operation) { case "get_status": { const result = await context.api.getFileSharingStatus(); if (!result.success) { return returnToolError(result.error); } return returnToolSuccess( `File Sharing Status: ${ result.data?.fileSharing ? "Enabled" : "Disabled" }`, ); } case "enable": { const result = await context.api.setFileSharingStatus(true); if (!result.success) { return returnToolError(result.error); } return returnToolSuccess("File sharing enabled successfully"); } case "disable": { const result = await context.api.setFileSharingStatus(false); if (!result.success) { return returnToolError(result.error); } return returnToolSuccess("File sharing disabled successfully"); } default: return returnToolError( "Invalid file sharing operation. Use: get_status, enable, or disable", ); } } catch (error) { logger.error("Error managing file sharing:", error); return returnToolError(error); } }
- src/tools/admin-tools.ts:16-24 (schema)Zod input schema for the manage_file_sharing tool defining operation and optional deviceId.const FileSharingSchema = z.object({ operation: z .enum(["get_status", "enable", "disable"]) .describe("File sharing operation to perform"), deviceId: z .string() .optional() .describe("Device ID (for device-specific operations)"), });
- src/tools/admin-tools.ts:558-563 (registration)Tool registration in the adminTools module, specifying name, description, schema, and handler.{ name: "manage_file_sharing", description: "Manage Tailscale file sharing settings", inputSchema: FileSharingSchema, handler: manageFileSharing, },