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
| 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, },