一键导入
mirra-google-drive
Use Mirra to google drive file storage and management. Covers all Google Drive SDK operations via REST API.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use Mirra to google drive file storage and management. Covers all Google Drive SDK operations via REST API.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use Mirra to living dashboards — natively-rendered grids of typed widgets (stat, image_card, list, progress, sparkline) that flows keep current by pushing data into them..... Covers all Dashboards SDK operations via REST API.
Use Mirra to execute user-defined scripts in aws lambda. Covers all Scripts SDK operations via REST API.
Use Mirra to the places a space publishes to — its corporate x, blog, newsletter — and the drafted copy waiting to go out to them. use listchannels to see what this space.... Covers all Space Channels SDK operations via REST API.
Use Mirra to the space's shared work-ledger. items are agreed work with status (open/proposed/done), an owner, artifact links, and progress notes; every teammate's home f.... Covers all Work Items SDK operations via REST API.
The team work-ledger ritual for agents on a Mirra space: track agreed work, propose discoveries (then ask in chat), relay approvals, close what ships, and publish ONE narrated update card per work burst — revise, never stack. Rides the Mirra items adapter / MCP work-ledger tools.
START HERE for anything Mirra. Load this whenever the repo you're working in has a .mirra/ directory (it's linked to a Mirra team space), or your human mentions their Mirra space, teammates' updates, or the team ledger. Directs the ambient team rituals — record work in the shared ledger, publish update cards, ask the space before expanding scope — and indexes every detail-level mirra-* skill.
| name | mirra-google-drive |
| description | Use Mirra to google drive file storage and management. Covers all Google Drive SDK operations via REST API. |
| allowed-tools | Read, Bash(curl:*, jq:*) |
Google Drive file storage and management
You need the user's API key. Ask for these if not provided:
API_KEY: Mirra API key (generated in Mirra app > Settings > API Keys)API_URL: Defaults to https://api.fxn.world (only ask if they mention a custom server)Note: Google Drive requires OAuth authentication. The user must have connected their Google Drive account in the Mirra app before these operations will work.
All operations use a single POST endpoint with the resource ID and method in the body:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{
"resourceId": "google-drive",
"method": "{operation}",
"params": { ...args }
}' | jq .
Replace {operation} with the operation name from the table below.
Legacy alternative:
POST ${API_URL}/api/sdk/v1/googleDrive/{operation}with args as the request body also works but is not recommended for new integrations.
| Operation | Description |
|---|---|
listFiles | List files in Google Drive |
createFile | Create a new file in Google Drive |
createFolder | Create a new folder in Google Drive |
getFileInfo | Get information about a file |
shareFile | Share a file with others |
downloadFile | Download a file from Google Drive. For Google Docs/Sheets, exports as PDF/XLSX. Returns base64-en... |
moveFile | Move a file to a different folder |
deleteFile | Delete a file or folder. By default moves to trash; set permanently=true to delete forever. |
searchFiles | Search for files using Google Drive query syntax |
updateFile | Update file metadata (name, description) |
listFilesList files in Google Drive
Arguments:
query (string, optional): Search query (Google Drive query syntax)pageSize (number, optional): Maximum number of files to return (default: 20)Returns:
AdapterOperationResult: List of normalized files with count, query, and files array
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"listFiles","params":{}}' | jq .
Example response:
{
"count": 2,
"files": [
{
"id": "file_123",
"name": "Report.pdf",
"mimeType": "application/pdf",
"mimeTypeReadable": "PDF",
"createdAt": "2024-01-15T10:00:00Z",
"modifiedAt": "2024-01-16T14:30:00Z",
"isFolder": false
},
{
"id": "folder_456",
"name": "Documents",
"mimeType": "application/vnd.google-apps.folder",
"mimeTypeReadable": "Folder",
"createdAt": "2024-01-10T08:00:00Z",
"modifiedAt": "2024-01-10T08:00:00Z",
"isFolder": true
}
]
}
createFileCreate a new file in Google Drive
Arguments:
name (string, required): Name of the filemimeType (string, required): MIME type of the filefolderId (string, optional): Parent folder ID (optional)Returns:
AdapterOperationResult: Created file information
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"createFile","params":{"name":"<value>","mimeType":"<value>"}}' | jq .
createFolderCreate a new folder in Google Drive
Arguments:
name (string, required): Name of the folderparentFolderId (string, optional): Parent folder ID (optional)Returns:
AdapterOperationResult: Created folder information
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"createFolder","params":{"name":"<value>"}}' | jq .
getFileInfoGet information about a file
Arguments:
fileId (string, required): ID of the fileReturns:
AdapterOperationResult: Normalized file info with id, name, mimeType, size, dates, owner, etc.
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"getFileInfo","params":{"fileId":"file_abc123"}}' | jq .
Example response:
{
"id": "file_abc123",
"name": "Annual Report.pdf",
"mimeType": "application/pdf",
"mimeTypeReadable": "PDF",
"size": 1048576,
"createdAt": "2024-01-15T10:00:00Z",
"modifiedAt": "2024-01-20T16:45:00Z",
"webViewLink": "https://drive.google.com/file/d/file_abc123/view",
"parents": [
"folder_parent"
],
"owner": {
"name": "John Doe",
"email": "john@example.com"
},
"isFolder": false,
"isTrashed": false
}
shareFileShare a file with others
Arguments:
fileId (string, required): ID of the file to shareemail (string, optional): Email address to share with (optional)role (string, optional): Permission role: reader, writer, commenter (default: reader)Returns:
AdapterOperationResult: Share result with link
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"shareFile","params":{"fileId":"<ID>"}}' | jq .
Warning: This is a destructive operation. Confirm with the user before executing.
downloadFileDownload a file from Google Drive. For Google Docs/Sheets, exports as PDF/XLSX. Returns base64-encoded data.
Arguments:
fileId (string, required): ID of the file to downloadReturns:
AdapterOperationResult: File data (base64) and mimeType
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"downloadFile","params":{"fileId":"<ID>"}}' | jq .
moveFileMove a file to a different folder
Arguments:
fileId (string, required): ID of the file to movefolderId (string, required): ID of the destination folderReturns:
AdapterOperationResult: Updated file information
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"moveFile","params":{"fileId":"<ID>","folderId":"<ID>"}}' | jq .
deleteFileDelete a file or folder. By default moves to trash; set permanently=true to delete forever.
Arguments:
fileId (string, required): ID of the file or folder to deletepermanently (boolean, optional): If true, permanently delete instead of moving to trash (default: false)Returns:
AdapterOperationResult: Delete confirmation
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"deleteFile","params":{"fileId":"<ID>"}}' | jq .
Warning: This is a destructive operation. Confirm with the user before executing.
searchFilesSearch for files using Google Drive query syntax
Arguments:
query (string, required): Search query using Drive syntax (e.g., "name contains 'report'", "mimeType='application/pdf'")pageSize (number, optional): Maximum number of files to return (default: 20)Returns:
AdapterOperationResult: List of normalized matching files
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"searchFiles","params":{"query":"mimeType='application/pdf'"}}' | jq .
Example response:
{
"count": 1,
"query": "mimeType='application/pdf'",
"files": [
{
"id": "file_123",
"name": "Report.pdf",
"mimeType": "application/pdf",
"mimeTypeReadable": "PDF",
"createdAt": "2024-01-15T10:00:00Z",
"modifiedAt": "2024-01-16T14:30:00Z",
"isFolder": false
}
]
}
updateFileUpdate file metadata (name, description)
Arguments:
fileId (string, required): ID of the file to updatename (string, optional): New name for the filedescription (string, optional): New description for the fileReturns:
AdapterOperationResult: Updated file information
Example:
curl -s -X POST "${API_URL}/api/sdk/v2/resources/call" \
-H "Content-Type: application/json" \
-H "x-api-key: ${API_KEY}" \
-d '{"resourceId":"google-drive","method":"updateFile","params":{"fileId":"<ID>"}}' | jq .
All SDK responses return the operation payload wrapped in a standard envelope:
{
"success": true,
"data": { ... }
}
The data field contains the operation result. Error responses include:
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Human-readable error message"
}
}
jq . to pretty-print responses, jq .data to extract just the payloaddata.results or directly in data (check examples)--fail-with-body to curl to see error details on HTTP failuresexport API_KEY="your-key"