Google Calendar - No deletion
Google Workspace MCP サーバー
Gmail およびカレンダー API と連携するためのツールを提供するモデルコンテキストプロトコル(MCP)サーバーです。このサーバーを使用すると、MCP インターフェースを介してメールやカレンダーの予定をプログラムで管理できます。
特徴
Gmailツール
list_emails: 受信トレイから最近のメールを一覧表示します(オプションでフィルタリング可能)search_emails: Gmail クエリ構文を使用した高度なメール検索send_email: CC と BCC をサポートして新しいメールを送信しますmodify_email: メールラベルを変更する(アーカイブ、ゴミ箱、既読/未読としてマーク)
カレンダーツール
list_events: 日付範囲でフィルタリングして今後のカレンダーイベントを一覧表示しますcreate_event: 参加者を指定した新しいカレンダーイベントを作成するGoogle Cloud Calendar API には作成は許可するが削除や更新は禁止するスコープがないため、以下のイベントはセキュリティ対策としてこのサーバーから削除されました。
update_event: 既存のカレンダーイベントを更新するdelete_event: カレンダーイベントを削除する
Related MCP server: google-workspace-mcp-server
前提条件
Node.js : Node.jsバージョン14以降をインストールします
Google Cloud Console のセットアップ:
新しいプロジェクトを作成するか、既存のプロジェクトを選択してください
Gmail API と Google カレンダー API を有効にします。
「APIとサービス」>「ライブラリ」に移動します
「Gmail API」を検索して有効にします
「Google カレンダー API」を検索して有効にします
OAuth 2.0 資格情報を設定します。
「APIとサービス」>「認証情報」に移動します
「認証情報を作成」>「OAuthクライアントID」をクリックします
「Webアプリケーション」を選択
「承認済みリダイレクト URI」に次の URL を含めるように設定します:
http://localhost:4100/codeクライアントIDとクライアントシークレットを書き留めます
セットアップ手順
Smithery経由でインストール
Smithery経由で Claude Desktop に Google Workspace Server - No Calendar Deletion を自動的にインストールするには:
npx -y @smithery/cli install @erickva/google-workspace-mcp-server-no-calendar-deletetion --client claude手動でインストールする
クローンとインストール:
git clone https://github.com/epaproditus/google-workspace-mcp-server.git cd google-workspace-mcp-server npm installOAuth 資格情報の作成: ルート ディレクトリに
credentials.jsonファイルを作成します。{ "web": { "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "redirect_uris": ["http://localhost:4100/code"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token" } }リフレッシュトークンを取得:
node get-refresh-token.jsこれにより、次のようになります。
Google OAuth認証のためにブラウザを開きます
次の権限を要求します。
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/gmail.send
資格情報を
token.jsonに保存しますコンソールにリフレッシュトークンを表示する
MCP 設定を構成する: MCP 設定ファイルにサーバー構成を追加します。
VSCode Claude 拡張機能の場合:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonClaude デスクトップ アプリの場合:
~/Library/Application Support/Claude/claude_desktop_config.json
これを
mcpServersオブジェクトに追加します。{ "mcpServers": { "google-workspace": { "command": "node", "args": ["/path/to/google-workspace-server/build/index.js"], "env": { "GOOGLE_CLIENT_ID": "your_client_id", "GOOGLE_CLIENT_SECRET": "your_client_secret", "GOOGLE_REFRESH_TOKEN": "your_refresh_token" } } } }ビルドと実行:
npm run build
使用例
Gmailの操作
最近のメールの一覧:
{ "maxResults": 5, "query": "is:unread" }メールを検索:
{ "query": "from:example@gmail.com has:attachment", "maxResults": 10 }メールを送信:
{ "to": "recipient@example.com", "subject": "Hello", "body": "Message content", "cc": "cc@example.com", "bcc": "bcc@example.com" }メールアドレスの変更:
{ "id": "message_id", "addLabels": ["UNREAD"], "removeLabels": ["INBOX"] }
カレンダー操作
イベント一覧:
{ "maxResults": 10, "timeMin": "2024-01-01T00:00:00Z", "timeMax": "2024-12-31T23:59:59Z" }イベントを作成:
{ "summary": "Team Meeting", "location": "Conference Room", "description": "Weekly sync-up", "start": "2024-01-24T10:00:00Z", "end": "2024-01-24T11:00:00Z", "attendees": ["colleague@example.com"] }
3.イベントの更新:
{
"eventId": "event_id",
"summary": "Updated Meeting Title",
"location": "Virtual",
"start": "2024-01-24T11:00:00Z",
"end": "2024-01-24T12:00:00Z"
}4.イベントの削除:
{
"eventId": "event_id"
}トラブルシューティング
認証の問題:
必要なすべてのOAuthスコープが付与されていることを確認する
クライアントIDとシークレットが正しいことを確認する
リフレッシュトークンが有効かどうかを確認する
APIエラー:
API の割り当てと制限については、Google Cloud Console で確認してください。
プロジェクトで API が有効になっていることを確認する
リクエストパラメータが必要な形式と一致していることを確認する
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています。
Available Tools
7 toolscreate_eventC
Create a new calendar event
| Name | Required | Description | Default |
|---|---|---|---|
| attendees | No | List of attendee email addresses | |
| description | No | Event description | |
| end | Yes | End time in ISO format | |
| location | No | Event location | |
| start | Yes | Start time in ISO format | |
| summary | Yes | Event title |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden of behavioral disclosure. It only states 'create', which implies mutation, but omits details like authorization requirements (e.g., calendar write access), side effects (e.g., notifications to attendees), or whether the event is created immediately. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words, which is concise. However, it is too minimal and does not fully earn its place by providing additional context. It could include a brief note on required fields or behavior without significant length increase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no output schema, no annotations), the description is incomplete. It does not specify return values (e.g., created event ID), constraints (e.g., title length, time range), or error conditions. An agent would lack critical context for successful invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's property descriptions (e.g., 'Start time in ISO format' already in schema). It does not clarify relationships between parameters or provide usage hints beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new calendar event', specifying the verb 'create' and resource 'calendar event'. It distinguishes from sibling tools like 'update_event' and 'delete_event', which modify or remove existing events. However, it could be more precise about the scope (e.g., single event creation with required fields).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'update_event' for modifications or 'list_events' for viewing. The description lacks context about prerequisites or typical scenarios, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_emailsB
List recent emails from Gmail inbox
| Name | Required | Description | Default |
|---|---|---|---|
| maxResults | No | Maximum number of emails to return (default: 10) | |
| query | No | Search query to filter emails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'list recent emails', omitting crucial details such as required authentication, rate limits, output format (e.g., headers vs full content), and potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it omits important details that could be included without much expansion, slightly reducing its efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the sibling tools (especially 'search_emails'), the description fails to clarify when to use this tool versus searching. It also lacks return value details, pagination, and recency definition, making it incomplete for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described ('query' for filtering, 'maxResults' with default). The description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List recent emails from Gmail inbox', specifying the verb and resource. However, the term 'recent' is vague, and there is no differentiation from the sibling tool 'search_emails' which likely supports similar queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing recent emails but does not provide explicit guidance on when to use this tool versus alternatives like 'search_emails' or 'modify_email'. No context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_eventsC
List upcoming calendar events
| Name | Required | Description | Default |
|---|---|---|---|
| maxResults | No | Maximum number of events to return (default: 10) | |
| timeMax | No | End time in ISO format | |
| timeMin | No | Start time in ISO format (default: now) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It fails to mention sorting order, inclusion of canceled events, pagination behavior, or default time range behavior beyond implying 'upcoming'. The schema covers parameters but not runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. However, it omits important behavioral context, so it is not perfectly concise for a helpful description. Still, it is efficiently brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could have explained the return format or common use cases. It also fails to mention that timeMin can be set in the past, contradicting 'upcoming'. The tool is simple but the description lacks completeness for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema, but since the schema is sufficient, this score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List upcoming calendar events' clearly states the action (list) and resource (calendar events). However, 'upcoming' may be misleading since the tool can list events in any time range via parameters. It distinguishes from siblings implicitly as there is no other event list tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like create_event, update_event, or delete_event. The description does not indicate that this is a read-only operation or that for email lists one should use list_emails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meeting_suggestionC
Suggest available meeting slots within the next 30 days
| Name | Required | Description | Default |
|---|---|---|---|
| bankHolidays | No | List of bank holiday dates in YYYY-MM-DD format | |
| calendarIds | No | List of Google Calendar IDs (default: ["primary"]) | |
| daysToSearch | No | Number of days to find slots for (default: 3) | |
| meetingLengthMinutes | No | Meeting length in minutes (default: 60) | |
| slotsPerDay | No | Number of slots per day to suggest (default: 1) | |
| timezone | No | Timezone for scheduling (default: America/Sao_Paulo) | |
| workingHoursEnd | No | End of working hours (24h format, default: 17) | |
| workingHoursStart | No | Start of working hours (24h format, default: 9) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the 30-day constraint but doesn't explain what 'suggest' entails (e.g., how slots are determined, whether it considers existing events, authentication needs, rate limits, or what the output looks like). For a tool with 8 parameters and no annotation coverage, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized and front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain the suggestion algorithm, how parameters interact, what the return format is, or error conditions. The 30-day mention provides some context but doesn't compensate for the missing behavioral and output information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't add any parameter-specific information beyond what's already in the schema (which has 100% coverage). It mentions 'within the next 30 days' which relates to the time scope but doesn't clarify how this interacts with parameters like 'daysToSearch'. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Suggest available meeting slots within the next 30 days' - a specific verb ('suggest') and resource ('meeting slots') with a time constraint. However, it doesn't differentiate from sibling tools like 'create_event' or 'list_events' which handle different calendar operations, so it doesn't fully distinguish itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'create_event' for scheduling meetings or 'list_events' for viewing existing ones, nor does it specify prerequisites or contextual constraints for slot suggestion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modify_emailA
Modify email labels (archive, trash, mark read/unread)
| Name | Required | Description | Default |
|---|---|---|---|
| addLabels | No | Labels to add | |
| id | Yes | Email ID | |
| removeLabels | No | Labels to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'Modify email labels' without disclosing side effects, idempotency, exact label behavior (e.g., archive meaning removing INBOX), or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, front-loaded with the action, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple mutation tool with 3 params and no output schema; covers the main purpose but lacks detail on error handling or return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by giving concrete label examples (archive, trash, mark read/unread) beyond the generic schema descriptions, though exact label names are not specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool modifies email labels, with concrete examples (archive, trash, mark read/unread), distinguishing it from sibling tools like list_emails or send_email.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings (e.g., list_emails or search_emails) or any prerequisites, leaving the agent to infer usage context without support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_emailsC
Search emails with advanced query
| Name | Required | Description | Default |
|---|---|---|---|
| maxResults | No | Maximum number of emails to return (default: 10) | |
| query | Yes | Gmail search query (e.g., "from:example@gmail.com has:attachment") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It only states the purpose, omitting details like read-only nature, pagination behavior, or rate limits. The tool name implies a read operation, but no explicit confirmation is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It is front-loaded with the core purpose, but it could be slightly more structured (e.g., including output behavior) without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should at least hint at what the tool returns (e.g., a list of email objects). It does not mention return format, pagination details, or error conditions, leaving the agent with incomplete information for a simple search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides detailed descriptions for both parameters (query and maxResults) with examples and defaults, achieving 100% coverage. The tool description adds no further semantic value beyond the schema, meeting the baseline for adequate coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search emails with advanced query' clearly states the action (search) and resource (emails), and the phrase 'advanced query' hints at the query parameter's capabilities. However, it does not explicitly differentiate from sibling tools like 'list_emails', leaving room for ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'list_emails' or 'modify_email'. The description lacks any context about appropriate scenarios, prerequisites, or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_emailC
Send a new email
| Name | Required | Description | Default |
|---|---|---|---|
| bcc | No | BCC recipients (comma-separated) | |
| body | Yes | Email body (can include HTML) | |
| cc | No | CC recipients (comma-separated) | |
| subject | Yes | Email subject | |
| to | Yes | Recipient email address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks disclosure of side effects (e.g., sending is a write operation) or other behaviors like authentication, rate limits, or delivery guarantees. Since no annotations are present, the description carries full burden but fails to inform beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is minimal (one sentence), which is concise but not well-structured. It lacks front-loading of key information and does not earn its brevity by covering essential details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does not explain return values or error states. For a tool with 5 parameters and no nested objects, more context about the sending process (e.g., confirmation, async) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The tool description adds no additional meaning beyond what is already in the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Send a new email' clearly identifies the action (send) and resource (email), distinguishing it from siblings like list_emails, modify_email, and search_emails. However, 'new' adds minor value; overall it is clear but not exceptionally specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as modify_email (which might handle drafts or edits). There is no mention of prerequisites, limitations, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v1.0.0- First observed
create_event - First observed
list_emails - First observed
list_events - First observed
meeting_suggestion - First observed
modify_email - First observed
search_emails - First observed
send_email
TDQS
Scored across 7 tools
The tool set mixes calendar and email operations without clear boundaries, causing potential misselection. For example, 'list_emails' and 'search_emails' overlap in purpose for email retrieval, while calendar tools like 'create_event' and 'list_events' are distinct but the server's dual-domain focus creates confusion.
Naming conventions are mixed, with some tools using verb_noun patterns like 'create_event' and others using noun_verb like 'meeting_suggestion'. While readable, the inconsistency in structure (e.g., 'modify_email' vs. 'send_email') deviates from a predictable pattern.
With 7 tools, the count is reasonable, but it feels borderline due to the server's split focus on both Google Calendar and Gmail. This scope might be too broad for the limited tool set, leading to a thin coverage in each domain.
For the implied dual-domain purpose, there are significant gaps. In calendar, tools lack update or delete event operations, and in email, there's no way to delete emails or manage drafts. The server name suggests calendar focus, but email tools are included without full lifecycle coverage.
Maintenance
Related MCP Connectors
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
A MCP server that works with Google Calendar to manage event listing, reading, and updates.
MCP server for Cronofy — read calendars, events and free/busy, and create, update or delete events.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Related MCP Servers
- AlicenseBqualityAmaintenanceGoogle Workspace MCP Server12059,049 PyPI3,314PythonMIT
- AlicenseAqualityDmaintenanceMCP server for Google Workspace APIs - Docs, Sheets, Drive, Gmail, and Calendar. Enables reading, creating, and editing Google Docs and Sheets, managing comments, reading emails, and viewing calendar events.3420 npm17MIT
- AlicenseBqualityDmaintenanceProduction-ready MCP server for Google Workspace providing broad coverage across Gmail, Drive, Calendar, Docs, Sheets, and more, with safe-by-default write operations and markdown-to-Google-Docs support.100MIT
- FlicenseDqualityDmaintenanceMCP server for interacting with Google Calendar, enabling reading events from public calendars and, with OAuth, creating, updating, and deleting events.1-