anthropics / anthropics/knowledge-work-plugins

`gmail` and `google calendar` MCP servers ship with an empty `url` in 12 plugins, while CONNECTORS.md lists them as included

オープン
#933 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
24k
フォーク
2.9k
平均マージ
1日 16時間
マージ済み PR(30日)
149

説明

## Summary

12 plugins declare `gmail` and `google calendar` MCP servers whose `url` is the
empty string. Claude Code registers them as real HTTP servers, attempts a
connection every session, and fails — permanently, since there is no endpoint to
reach.

The docs and the manifest disagree. Several of these plugins list Gmail and
Google Calendar in the `CONNECTORS.md` table as **Included servers**, with no
qualifier. `sales/CONNECTORS.md`, for example:

```
| Calendar | `~~calendar` | Google Calendar, Microsoft 365 | — |
| Email | `~~email` | Gmail, Microsoft 365 | — |
```

The repo already has a convention for this case — `data/CONNECTORS.md` marks
unfinished entries with `* Placeholder — MCP URL not yet configured`. None of
the 12 plugins applies it to Gmail or Google Calendar, so there is no signal,
in the docs or at runtime, that these were never meant to work.

## Affected plugins

`customer-support`, `design`, `engineering`, `enterprise-search`, `finance`,
`human-resources`, `legal`, `marketing`, `operations`, `product-management`,
`productivity`, `sales` — 24 blank entries in total.

Enumerated at `be9c0dae6d2004078973993a73fccc8e8f32cf83` with:

```bash
for f in */.mcp.json; do
jq -r --arg p "${f%%/*}" '.mcpServers | to_entries[] | select(.value.url == "") | "\($p): \(.key)"' "$f"
done
```

The same sweep also reports blank `snowflake` / `databricks` / `benchling`
entries in `data`, `finance`, and `bio-research`. Those are explicitly footnoted
as placeholders in their `CONNECTORS.md`, so they are mentioned only for
completeness — the undocumented Gmail and Calendar entries are what this issue
is about.

## Reproduction

1. Enable any affected plugin (e.g. `sales@knowledge-work-plugins`).
2. Run `claude mcp list`.

Observed:

```
plugin:sales:google calendar: (HTTP) - ✗ Failed to connect
plugin:sales:gmail: (HTTP) - ✗ Failed to connect
```

Note the empty URL between the server name and `(HTTP)`.

## Why this is worth fixing

**The failure mode points the user in the wrong direction.** "Failed to connect"
reads as a network or auth problem, so the natural response is to hunt for a
sign-in that does not exist. Gmail and Calendar make this especially confusing:
a user with working Gmail and Google Calendar connectors sees duplicate entries
for those same services failing, which suggests their real connectors are
broken. That was the reading that prompted this report.

**It is not user-recoverable.** The plugins declare no `userConfig`, so there is
no supported way to supply the missing URL. Neither `disabledMcpjsonServers` nor
`deniedMcpServers` suppresses a plugin-provided server. The only workarounds are
editing the plugin cache by hand — which a plugin update reverts — or disabling
the entire plugin, which also discards its skills.

**It obscures genuine failures.** These entries sit alongside servers that are
legitimately unauthenticated or unreachable, making the healthy-vs-broken
distinction harder to read.

## Suggested fix

Remove the `gmail` and `google calendar` entries from the 12 `.mcp.json` files.
The `CONNECTORS.md` tables can keep listing the categories: a category
documented but absent from the manifest costs the user nothing, since they
connect their own MCP server for it — which is what the tool-agnostic
`~~category` design already anticipates.

Two smaller alternatives, if shipping the entries is preferred:

- Apply the existing `*` placeholder footnote to them, so the docs at least
match the manifest.
- Have Claude Code skip registering an MCP server whose `url` is empty, rather
than registering it and reporting a connection failure. That is a client-side
fix and probably belongs in the Claude Code repo instead.

## Environment

- Claude Code on macOS (Darwin 25.6.0)
- Marketplace `anthropics/knowledge-work-plugins` @ `be9c0dae6d2004078973993a73fccc8e8f32cf83`

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start by inspecting the 12 plugin `.mcp.json` files named in the issue and compare their Gmail and Google Calendar entries with the corresponding `CONNECTORS.md` tables and the placeholder convention in `data/CONNECTORS.md`. Use the provided `jq` sweep to verify the affected entries; done means the undocumented blank servers no longer ship while the connector documentation remains consistent.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
json
領域
documentation, tooling
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
活発
明瞭さ
明確に書かれている
初心者へのやさしさ
84/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。