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
JavaScript
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
};
}
}