{"_id":"@coretext-ai/coretext-e00568d8-457e-4f23-88b9-d5e0b2eb948e","name":"@coretext-ai/coretext-e00568d8-457e-4f23-88b9-d5e0b2eb948e","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@coretext-ai/coretext-e00568d8-457e-4f23-88b9-d5e0b2eb948e","version":"1.0.1","description":"Coretext Google MCP Server","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-e00568d8-457e-4f23-88b9-d5e0b2eb948e@1.0.1","_integrity":"sha512-zKCN9I38Ewxkj93qej8RC0Ni3UNuwUEpzUqkbFeEsOEuSXiH1fQBt+2XD0oz9sP7mbSFDLvG04jniZSEDCMBOQ==","_resolved":"/var/folders/2n/nfhtcjn92b93cf81jcwgn8_r0000gn/T/npm-publish-QVkqDW/@coretext-ai-coretext-e00568d8-457e-4f23-88b9-d5e0b2eb948e-1.0.1.tgz","_from":"file:/var/folders/2n/nfhtcjn92b93cf81jcwgn8_r0000gn/T/npm-publish-QVkqDW/@coretext-ai-coretext-e00568d8-457e-4f23-88b9-d5e0b2eb948e-1.0.1.tgz","_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-zKCN9I38Ewxkj93qej8RC0Ni3UNuwUEpzUqkbFeEsOEuSXiH1fQBt+2XD0oz9sP7mbSFDLvG04jniZSEDCMBOQ==","shasum":"c8c1e36b711569c0f0fd0c84130fe9fa0cfe0ba5","tarball":"https://registry.npmjs.org/@coretext-ai/coretext-e00568d8-457e-4f23-88b9-d5e0b2eb948e/-/coretext-e00568d8-457e-4f23-88b9-d5e0b2eb948e-1.0.1.tgz","fileCount":10,"unpackedSize":62589,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCS/Ty1FjDbhnt5r1RaJywEwYYD9YbTeBjWnmsDWodz3gIhAI2oWfwXs6dpv5J3EUiCq9HJgGtYuClX/IZALqSFYANM"}]},"_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-e00568d8-457e-4f23-88b9-d5e0b2eb948e_1.0.1_1755106930283_0.6778709852488918"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-13T17:42:10.199Z","1.0.1":"2025-08-13T17:42:10.499Z","modified":"2025-08-13T17:42:10.834Z"},"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 Server","readme":"# coretext-google-mcp-server\n\nCoretext Google MCP Server\n\n## Installation\n\n```bash\nnpm install @coretext-ai/coretext-e00568d8-457e-4f23-88b9-d5e0b2eb948e\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-server\": {\n      \"command\": \"npx\",\n      \"args\": [\"@coretext-ai/coretext-e00568d8-457e-4f23-88b9-d5e0b2eb948e\"],\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-02943f6edc00b18d0abce7d9f178f564"}