원클릭으로
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 직업 분류 기준
| 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"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.