{"_id":"@coretext-ai/coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b","name":"@coretext-ai/coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@coretext-ai/coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b","version":"1.0.1","description":"Coretext Google MCP","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"jest","dev":"tsx src/index.ts","start":"node dist/index.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","oauth":"^0.10.0"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.0.0","tsx":"^4.0.0","jest":"^29.0.0","@types/jest":"^29.0.0"},"engines":{"node":">=18.0.0"},"_id":"@coretext-ai/coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b@1.0.1","_integrity":"sha512-qzj/NaA0la0KtadUPa93FOvy0TnkF9sK5Doq36H92ranhfVfQNaq25JvpAINquenizJhEzRX6+7XIvOLo/Qz9g==","_resolved":"/var/folders/2n/nfhtcjn92b93cf81jcwgn8_r0000gn/T/npm-publish-isedVR/@coretext-ai-coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b-1.0.1.tgz","_from":"file:/var/folders/2n/nfhtcjn92b93cf81jcwgn8_r0000gn/T/npm-publish-isedVR/@coretext-ai-coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b-1.0.1.tgz","_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-qzj/NaA0la0KtadUPa93FOvy0TnkF9sK5Doq36H92ranhfVfQNaq25JvpAINquenizJhEzRX6+7XIvOLo/Qz9g==","shasum":"e0f11a22e349c9ceb453835a4ef4d3616acc6d07","tarball":"https://registry.npmjs.org/@coretext-ai/coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b/-/coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b-1.0.1.tgz","fileCount":10,"unpackedSize":62533,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDQzag8GuCZq2xZKDCKHHT1lESD+7qvxV09CJ95jMMDIwIgLuo/SwUKLz0BBnmJBiqLdKD643Wptf7ZbrGXJRrgiio="}]},"_npmUser":{"name":"ctxmitch","email":"mitchell@coretextai.dev"},"directories":{},"maintainers":[{"name":"rugved-core","email":"rugved@coretextai.dev"},{"name":"ctxmitch","email":"mitchell@coretextai.dev"},{"name":"gerson-coretext","email":"gerson@coretextai.dev"},{"name":"dgomezcortextai","email":"daniel@coretextai.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b_1.0.1_1755285371537_0.22241766295325704"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-15T19:16:11.387Z","1.0.1":"2025-08-15T19:16:11.718Z","modified":"2025-08-15T19:16:12.209Z"},"maintainers":[{"name":"rugved-core","email":"rugved@coretextai.dev"},{"name":"ctxmitch","email":"mitchell@coretextai.dev"},{"name":"gerson-coretext","email":"gerson@coretextai.dev"},{"name":"dgomezcortextai","email":"daniel@coretextai.dev"}],"description":"Coretext Google MCP","readme":"# coretext-google-mcp\n\nCoretext Google MCP\n\n## Installation\n\n```bash\nnpm install @coretext-ai/coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b\n```\n\n## Configuration\n\n### Environment Variables\n\nThe following environment variables are required:\n\n- `NPM_TOKEN`: User-defined environment variable\n- `GITHUB_TOKEN`: User-defined environment variable\n\n## Usage\n\n### With Claude Desktop\n\nAdd to your Claude Desktop configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"coretext-google-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"@coretext-ai/coretext-0f484d4d-36a0-4d29-91c1-f94c8d2ec41b\"],\n      \"env\": {\n        \"NPM_TOKEN\": \"your-value-here\",\n        \"GITHUB_TOKEN\": \"your-value-here\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools\n\nThis server provides the following tools:\n\n### google-analytics Service\n\n- **run_report**: Run a standard report with dimensions and metrics for a GA4 property\n- **batch_run_reports**: Run multiple reports in a single request for efficiency\n### google-gmail Service\n\n- **get_draft**: Get a specific draft by ID\n- **get_label**: Get label details by ID\n- **get_thread**: Get a specific thread by ID\n- **send_draft**: Send an existing draft\n- **get_message**: Get a specific message by ID\n- **get_profile**: Get user&#x27;s Gmail profile information\n- **list_drafts**: List draft messages in user&#x27;s mailbox\n- **list_labels**: List all labels in the user&#x27;s mailbox\n- **create_draft**: Create a new draft message. IMPORTANT: Message must be an object with &#x27;raw&#x27; field containing base64url-encoded RFC 2822 formatted message.\n- **create_label**: Create a new custom label\n- **delete_draft**: Delete a draft. Returns 204 No Content with empty body on success.\n- **delete_label**: Delete a custom label. Returns 204 No Content with empty body on success.\n- **list_threads**: List email threads in user&#x27;s mailbox\n- **send_message**: Send an email message. Requires message in RFC 2822 format encoded as base64url string\n- **trash_thread**: Move an entire email thread/conversation to trash (RECOMMENDED for deleting conversations). This is the standard way users delete email threads - remains recoverable for 30 days.\n- **update_draft**: Update an existing draft. IMPORTANT: Message must be an object with &#x27;raw&#x27; field containing base64url-encoded RFC 2822 formatted message.\n- **update_label**: Update an existing label\n- **delete_thread**: PERMANENTLY delete an entire thread - IMMEDIATE and IRREVERSIBLE. WARNING: Use trash_thread instead for normal conversation deletion. Only use this for sensitive data that must be immediately destroyed. Bypasses trash completely. REQUIRES https://mail.google.com/ scope. Returns 204 No Content with empty body on success.\n- **list_messages**: List messages in user&#x27;s mailbox with optional filtering\n- **modify_thread**: Modify labels on all messages in a thread\n- **trash_message**: Move a message to trash (RECOMMENDED for deleting emails). This is the standard way users delete emails - messages remain recoverable for 30 days.\n- **delete_message**: PERMANENTLY delete a message - IMMEDIATE and IRREVERSIBLE. WARNING: Use trash_message instead for normal email deletion. Only use this for sensitive data that must be immediately destroyed. Bypasses trash completely. REQUIRES https://mail.google.com/ scope. Returns 204 No Content with empty body on success.\n- **modify_message**: Modify labels on a message (add/remove labels, mark read/unread)\n- **untrash_thread**: Remove a thread from trash\n- **untrash_message**: Remove a message from trash\n### google-calendar Service\n\n- **list_events**: Returns events on the specified calendar\n- **create_event**: Creates an event\n- **delete_event**: Deletes an event. Returns 204 No Content with empty body on success.\n- **update_event**: Updates an event\n- **create_calendar**: Creates a secondary calendar\n### google-contacts Service\n\n- **get_person**: Get a specific contact by resource name\n- **create_contact**: Create a new contact with specified fields\n- **delete_contact**: Delete a contact permanently\n- **update_contact**: Update an existing contact. IMPORTANT: Include the &#x27;etag&#x27; field in the request body to prevent conflicts. Get the current etag by first calling get_contact or from a previous create/update response.\n- **search_contacts**: Search across all contacts with text query\n- **batch_get_people**: Get multiple contacts by resource names\n- **list_connections**: List authenticated user&#x27;s contacts\n- **get_contact_group**: Get a specific contact group by resource name\n- **copy_other_contact**: Copy an other contact to the authenticated user&#x27;s contacts\n- **list_contact_groups**: List all contact groups\n- **list_other_contacts**: List other contacts (auto-created contacts from interactions)\n- **create_contact_group**: Create a new contact group\n- **delete_contact_group**: Delete a contact group\n- **update_contact_group**: Update an existing contact group. IMPORTANT: Include the &#x27;etag&#x27; field in the contactGroup object to prevent conflicts. Get the current etag by first calling get_contact_group or from a previous create/update response.\n- **list_directory_people**: List people in the authenticated user&#x27;s domain directory (G Suite/Workspace). TROUBLESHOOTING: If returns empty results, verify: 1) User is part of Google Workspace domain, 2) Directory access is enabled, 3) User has sufficient privileges (may need domain admin), 4) OAuth scopes include directory.readonly\n- **search_other_contacts**: Search other contacts with text query\n- **search_directory_people**: Search people in the authenticated user&#x27;s domain directory. TROUBLESHOOTING: If returns empty results, verify: 1) User is part of Google Workspace domain, 2) Directory access is enabled, 3) User has sufficient privileges (may need domain admin), 4) OAuth scopes include directory.readonly\n- **modify_contact_group_members**: Add or remove members from a contact group\n### google-drive Service\n\n- **get_file**: Get file metadata by ID\n- **copy_file**: Create a copy of an existing file\n- **move_file**: Move a file to different parent folders\n- **list_files**: List files in Google Drive with optional search query and filtering\n- **delete_file**: Permanently delete a file. Returns 204 No Content with empty body on success.\n- **export_file**: Export Google Workspace document to specified format\n- **get_comment**: Get a specific comment\n- **update_file**: Update file metadata\n- **search_files**: Advanced file search with complex query syntax\n- **create_folder**: Create a new folder\n- **download_file**: Download file content or export Google Workspace documents\n- **list_comments**: List comments on a file\n- **create_comment**: Create a comment on a file\n- **delete_comment**: Delete a comment. Returns 204 No Content with empty body on success.\n- **get_permission**: Get a specific permission for a file\n- **update_comment**: Update a comment\n- **get_folder_tree**: Get folder hierarchy and structure\n- **list_permissions**: List permissions for a file or folder\n- **create_permission**: Create a permission for a file or folder (sharing)\n- **delete_permission**: Remove a permission from a file or folder. Returns 204 No Content with empty body on success.\n- **get_file_revision**: Get a specific revision of a file\n- **update_permission**: Update an existing permission\n- **upload_file_simple**: Simple upload for files ≤5MB. Upload file content directly. NOTE: Simple uploads provide limited metadata control - use multipart upload for custom names/folders.\n- **get_folder_contents**: List files and folders within a specific folder\n- **list_file_revisions**: List revisions of a specific file\n- **update_file_content**: Update file content using multipart upload\n- **delete_file_revision**: Delete a specific revision of a file. Returns 204 No Content with empty body on success.\n- **update_file_revision**: Update revision metadata (e.g., set keepForever)\n- **upload_file_multipart**: Multipart upload for files with metadata. Combines metadata and content in single request with full metadata control.\n- **upload_file_resumable**: Initiate resumable upload for large files with progress tracking\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Run in development mode\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Run tests\nnpm test\n```\n\n## License\n\nMIT\n\n---\n\nGenerated with Template Orchestrator\n","readmeFilename":"README.md","_rev":"1-10711868ef7ea15bc561de1e6bcbabfa"}