UNPKG

mcp-gdrive-enhanced-markov

Version:

MCP server for Google Drive and Sheets with write capabilities, AI-powered PDF analysis, SQLite document indexing, and advanced directory exploration tools

69 lines (68 loc) 1.96 kB
import { google } from "googleapis"; export const schema = { name: "gdrive_create_folder", description: "Create a new folder in Google Drive", inputSchema: { type: "object", properties: { name: { type: "string", description: "Name of the folder to create" }, parentId: { type: "string", description: "ID of the parent folder (optional)", optional: true } }, required: ["name"] } }; export async function createFolder(args) { try { const drive = google.drive({ version: "v3" }); // Security validation if (!args.name || args.name.includes("../")) { return { content: [{ type: "text", text: "Error: Invalid folder name" }], isError: true }; } // Prepare folder metadata const fileMetadata = { name: args.name, mimeType: "application/vnd.google-apps.folder" }; if (args.parentId) { fileMetadata.parents = [args.parentId]; } // Create the folder const response = await drive.files.create({ requestBody: fileMetadata, fields: "id,name,webViewLink" }); const folder = response.data; return { content: [{ type: "text", text: `Folder created successfully: - Name: ${folder.name} - ID: ${folder.id} - View Link: ${folder.webViewLink || "N/A"}` }], isError: false }; } catch (error) { return { content: [{ type: "text", text: `Error creating folder: ${error.message || error}` }], isError: true }; } }