CometChat Docs について
CometChat Docsは、開発者がCometChatのドキュメントを参照し、アプリ向けの統合コードを作成するための読み取り専用MCPサーバーです。検索可能な資料、ページ全文、シナリオ別の実装資料を提供します。
主な機能
- 01SDK、UI Kit、APIのドキュメント検索
- 02ドキュメントページ全文の取得
- 03シナリオ別の実装資料の取得
- 04ReactやFlutterなどの統合リソース
- 05アカウントやAPIキーなしで接続
活用シーン
- 01アプリにチャットや通話機能を追加
- 02マルチテナントチャットやプレゼンスの実装を調査
- 03モデレーションや埋め込みチャットを設定
MCP 対応
MCPサーバーとして、読み取り専用ツールとリソースを通じてCometChatのドキュメント検索、ページ取得、実装資料を提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.cometchat.com/mcpclaude mcp add --transport http docs-mcp-cometchat https://mcp.cometchat.com/mcp{"mcpServers":{"docs-mcp-cometchat":{"type":"http","url":"https://mcp.cometchat.com/mcp"}}}Cursor で開く{"servers":{"docs-mcp-cometchat":{"type":"http","url":"https://mcp.cometchat.com/mcp"}}}VS Code で開く{"mcpServers":{"docs-mcp-cometchat":{"type":"http","url":"https://mcp.cometchat.com/mcp"}}}{"mcpServers":{"docs-mcp-cometchat":{"serverUrl":"https://mcp.cometchat.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
4| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | 検索クエリ。1~500 文字。 |
| version | string | いいえ | ドキュメントのバージョン選択画面にある任意のバージョンラベル。例:'v7'、'v5'。SDK と UI Kit はそれぞれ独立してバージョン番号を付けているため、同じラベルが該当するすべての製品に一致します。省略するとすべてのバージョンを検索し、現行バージョンを優先します。 |
| limit | number | いいえ | 返す結果の最大数。デフォルトは 10、最大は 25 です。 |
詳細
CometChat MCP サーバー
AI コーディングエージェントを通じて、アプリにリアルタイムチャット、音声、ビデオ、モデレーションを追加できます。
CometChat が提供する公式 MCP サーバーです。Claude、Cursor、Windsurf、VS Code Copilot、Codex、その他の Model Context Protocol 対応エージェントを接続し、自然言語のプロンプトで CometChat をアプリに統合できます。
エージェントに「ユーザー同士がダイレクトメッセージを送れるチャットタブを追加して」と依頼すると、CometChat のドキュメントを読み込み、技術スタックに適したコンポーネントを選んで、統合コードを作成します。
読み取り専用です。アカウント、API キー、認証は不要です。
デモ

AI エージェントが CometChat のドキュメントを読み込み、1 つのプロンプトから動作するチャット統合を作成しています。
クイックインストール
| エージェント | 追加方法 |
|---|---|
| Claude.ai / Claude Desktop | Settings → Connectors → Add custom connector → URL: https://mcp.cometchat.com/mcp |
| Cursor | Cmd+Shift+P → Open MCP settings → Add custom MCP → 以下の設定を貼り付けます |
| Windsurf | Plugins(ハンマーアイコン)→ Manage plugins → View raw config → 以下の設定を貼り付けます |
| VS Code(Copilot Agent) | Cmd+Shift+P → MCP: Add MCP Server → URL: https://mcp.cometchat.com/mcp、Transport: HTTP |
| Claude Code(CLI) | claude mcp add --transport http cometchat https://mcp.cometchat.com/mcp |
| Smithery | npx -y smithery mcp add cometchat/docs-mcp |
| Codex CLI | codex plugin marketplace add cometchat/docs-mcp |
設定スニペット(Cursor / Windsurf / 汎用 MCP クライアント)
{
"mcpServers": {
"cometchat": {
"url": "https://mcp.cometchat.com/mcp"
}
}
}
使い方
接続後、次のようなプロンプトをエージェントに入力してください。
- 「Vite プロジェクトに React UI Kit をインストールする方法を教えてください。」
- 「ワークスペースごとに分離された Next.js の SaaS 向けに、マルチテナントチャットを設定する手順を説明してください。」
- 「iOS の会話リストにプレゼンスインジケーターと入力中を示す点を追加する方法を教えてください。」
- 「禁止語が配信前にブロックされるように、コンテンツモデレーションを設定してください。」
- 「Webflow サイト用のノーコードチャットウィジェットを作成してください。」
- 「メッセージ送信のレート制限はいくつですか?また、制限に達したときに返されるエラーコードは何ですか?」
エージェントは CometChat のドキュメントを読み込み、関連する実装バンドルを取得して、プロジェクトに統合コードを作成します。
ツール
search_cometchat_docs— トピック、API 名、エラーメッセージで SDK、UI Kit、Calls、REST API、AI エージェント、通知、モデレーションのドキュメントを検索します。ページ URL 付きのランキング済みスニペットを返し、現行バージョンを優先します。省略可能なversionフィルターと、最大 25 件までのlimitを指定できます。fetch_cometchat_doc_page— URL またはパスで指定したドキュメントページを、移動済みページをたどって Markdown 全文で取得します。50 KiB を超えるページは、全文へのリンクを付けて切り詰められます。get_cometchat_implementation_bundle— 名前を指定したシナリオの実装バンドルを返します。シナリオの現行ドキュメントページ(UI Kit の場合は、その統合ガイドに続いてプラットフォームの AI リファレンスページ)を 1 つのドキュメントにまとめ、関連ページのパスも返します。list_cometchat_bundles— 利用可能な実装バンドル(識別子、タイトル、フレームワーク、ページリストの確認日)をすべて一覧表示します。
4 つすべてに readOnlyHint: true、title アノテーション、構造化された結果を定義する outputSchema が含まれています。名前は 64 文字以下です。各説明には、ツールの機能、適した用途、制限(エラー、レート制限)が記載され、特定の用途に別のツールが役立つ場合に限り、このサーバーの他のツール名(「識別子は list_cometchat_bundles から取得します」など)が記されています。エージェントへの指示、他のサーバーや製品への言及、マーケティング表現は含まれていません。tests/tools.test.ts は、禁止表現のリストを使ってツール、パラメーター、出力フィールドの説明と initialize の指示を検証し、そのリストが想定された形式を引き続き拒否することも確認します。これは禁止リストであり、証明ではありません。
リソース
| URI | 用途 |
|---|---|
cometchat://skills/overview | エージェント向けオリエンテーションスキル — 製品概要、判断のガイダンス、ワークフロー、よくある注意点、検証チェックリスト |
cometchat://bundles/react-uikit-quickstart | React UI Kit のインストール+初期化+ログイン+チャット画面 |
cometchat://bundles/react-native-uikit-quickstart | ナビゲーションとチャット画面を備えた React Native UI Kit |
cometchat://bundles/flutter-uikit-quickstart | Flutter UI Kit のインストール+初期化+基本的なチャット |
cometchat://bundles/ios-uikit-quickstart | iOS UI Kit のインストール+チャットビュー |
cometchat://bundles/android-uikit-quickstart | Android UI Kit のインストール+チャット画面 |
cometchat://bundles/angular-uikit-quickstart | Angular UI Kit のインストール+初期化+ログイン+チャット画面 |
cometchat://bundles/js-sdk-messaging-basics | Vanilla JS SDK — テキストメッセージとメディアメッセージの送受信 |
cometchat://bundles/widget-embed | HTML 向けのノーコードウィジェット埋め込み。WordPress、Webflow、Squarespace への案内付き |
cometchat://bundles/moderation-setup | モデレーションの入門ガイド。ルール、リスト、フラグ付きメッセージへの案内付き |
cometchat://bundles/multi-tenant-chat | マルチテナント — 1 つのプランでアプリを分離、App Management API |
cometchat://bundles/presence-and-typing | オンライン状態、入力インジケーター、既読通知 |
仕組み
- 自然言語でエージェントにプロンプトを入力します。
- エージェントはオリエンテーションスキル(
cometchat://skills/overview)を読み、リクエストに適したツールやバンドルを把握します。 - **主要なシナリオでは、**エージェントが実装バンドルを取得します。これは、その統合に関する現行ドキュメントページを 1 つにまとめたものです。
- **多岐にわたる質問には、**エージェントが CometChat のドキュメントを検索し、特定のリファレンスページを読みます。
- **エージェントは、**バンドルを信頼できる情報源、プロジェクトの構成を制約として、プロジェクトにコードを記述します。
CometChat を 30 秒で紹介
CometChat は、ウェブアプリやモバイルアプリにチャット、音声通話、ビデオ通話を追加できるリアルタイム通信プラットフォームです。SaaS、マーケットプレイス、ゲーム、ヘルスケア、教育、クリエイタープラットフォームなどで本番利用されています。
- 無料プラン: 月間アクティブユーザー数が最初の 100 人まで。クレジットカードは不要です。
- SDK: JavaScript、React Native、iOS、Android、Flutter。
- UI キット: React、React Native、iOS、Android、Flutter、Angular、Vue。
- ノーコード: あらゆる HTML サイトで使えるチャットウィジェット。
- サインアップ:
app.cometchat.com— エージェントが作成するコードを使って開発するには、App ID、Auth Key、Region が必要です。
サーバーの識別情報
| 項目 | 値 |
|---|---|
| 表示名 | CometChat Docs |
| バージョン | 0.1.7 |
| プロトコル | MCP 2025-06-18 |
| トランスポート | Streamable HTTP(SSE 対応) |
| 認証 | なし(公開ドキュメントのみ) |
| ケイパビリティ | tools、resources |
| ヘルスエンドポイント | GET https://mcp.cometchat.com/health |
アーキテクチャ
Your agent (Claude / Cursor / Windsurf / …)
↓ MCP over Streamable HTTP
↓
mcp.cometchat.com/mcp (this server)
↓
├── search_cometchat_docs → SQLite FTS5 index of cometchat/docs
├── fetch_cometchat_doc_page → cometchat.com/docs/*.md (first-party)
└── get_cometchat_implementation_bundle → live docs pages listed in src/bundles/manifest.ts
- ステートレスサーバーで、単一の汎用エンドポイントを使用し、ユーザー固有の状態は保持しません。
- 検索インデックスは、
github.com/cometchat/docsリポジトリのmainブランチへのプッシュのたびに再構築されます。 - 実装バンドル自体はコンテンツを持ちません。それぞれがドキュメントページのリスト(
src/bundles/manifest.ts)で構成され、リクエスト時に最新のドキュメントから読み込まれるため、ドキュメントの修正は MCP の変更なしでバンドルに反映されます。構築済みバンドルは 10 分間提供されます。その後は、呼び出しに対して即座にバンドルを返し、バックグラウンドで再構築を 1 回開始します。タイムアウトまたは 5xx が発生した再構築ではキャッシュ済みのバンドルは置き換えられず、バックオフ(30 秒から開始し、最大 10 分まで倍増)を適用して再試行されるため、ドキュメントサイトの障害によってバンドルが失われたり、サイトに過剰なリクエストが送信されたりすることはありません。削除されたページ(404)はドキュメントの内容として扱われます。同じ結果が 2 回連続した時点で、その再構築結果が保持され、欠落しているページが示されます。npm run verify:bundlesは、掲載されているページの場所が変わった場合、ページが消失した場合、バンドルに収まらなくなった場合、docs.json に記載された現行バージョンではなくなった場合、または未公開のパッケージバージョン、古いメジャーバージョン、あるいはマイナーバージョンが 1 つ古い固定バージョンのインストールを案内している場合に失敗します(npm、pub.dev、CometChat の Maven リポジトリ、CocoaPods trunk、GitHub を照合)。メンテナーはこの検証を毎日実行します。
ローカル開発
# Clone the docs repo (used to build the search index)
git clone --depth 1 https://github.com/cometchat/docs.git ../cometchat-docs-repo
# Install + build the FTS index + run the server
npm install
DOCS_REPO=../cometchat-docs-repo npm run build:index
npm run dev
# Run the test suite (vitest: validation, truncation, bundles, tools, resources, fetch,
# search ranking and the index builder)
npm test
# Score search ranking on the index you built (CI pins the docs commit: see DEPLOY.md)
DOCS_REPO=../cometchat-docs-repo npm run eval:search
# Check every docs page a bundle lists still exists and is current (network)
npm run verify:bundles
サーバーはデフォルトで http://0.0.0.0:3000 をリッスンします。ヘルスプローブは GET /health、MCP エンドポイントは POST /mcp です。
MCP Inspector で確認する
npx @modelcontextprotocol/inspector
# add server: http://localhost:3000/mcp
readOnlyHint: true が設定されたツール 4 つと、リソース 11 個が表示されます。
リポジトリの構成
docs-mcp/
├── src/
│ ├── server.ts # MCP server entry, transport, tool dispatch
│ ├── tools/{search,fetch,bundle}.ts
│ ├── search/sqlite.ts # SQLite FTS5 client
│ ├── bundles/manifest.ts # each bundle's docs pages
│ ├── bundles/loader.ts # compiles bundles from live docs pages
│ ├── resources/registry.ts # skill + bundle resources
│ └── lib/{errors,truncate,validation,logger}.ts
├── scripts/build-index.ts # builds SQLite FTS5 index from cometchat/docs
├── skills/overview.md # agent orientation skill
├── tests/ # vitest suite
├── .claude-plugin/
│ ├── plugin.json # Claude Code plugin manifest
│ └── marketplace.json # Claude Code marketplace manifest
├── .codex-plugin/plugin.json # Codex plugin manifest
├── .cursor-plugin/plugin.json # Cursor Marketplace manifest
├── .mcp.json # MCP config (Claude Code auto-discovery)
├── mcp.json # Open Plugins standard manifest
└── assets/logo.svg # CometChat logo
設定
| 環境変数 | デフォルト | 説明 |
|---|---|---|
PORT | 3000 | HTTP ポート |
HOST | 0.0.0.0 | バインドするホスト |
DOCS_BASE_URL | https://www.cometchat.com/docs | レスポンス内の URL と .md の取得フォールバックに使用します |
INDEX_PATH | ./data/index.sqlite | SQLite FTS5 インデックスの保存場所です。ファイルが見つからなくてもサーバーは起動しますが、検索は backend_unavailable を返し、/health は 503 になります。 |
SKILLS_DIR | ./skills | オリエンテーションスキル(overview.md)のディレクトリ |
FETCH_TIMEOUT_MS | 5000 | 取得ごとの HTTP タイムアウト |
LOG_LEVEL | info | debug / info / warn / error |
NODE_ENV | development | 標準の Node.js 設定です(Express は本番モードで動作します)。コンテナでは production に設定してください |
ALLOWED_HOSTS | <HOST>:<PORT>,localhost:<PORT>,127.0.0.1:<PORT> | DNS リバインディング対策のための、カンマ区切りの Host ヘッダー許可リスト |
ALLOWED_ORIGINS | 未設定 | /mcp のブラウザー Origin 許可リスト(カンマ区切り)。未設定の場合はすべて拒否され、Origin を含むリクエストは 403 になります。Origin を送信しないクライアント(IDE、CLI、ホスト型コネクター)には影響しません |
DNS_REBINDING_PROTECTION | true | 上流ですでに Host が検証されている場合に限り、false に設定してください |
RATE_LIMIT_ENABLED | true | /mcp の IP ごとのレート制限を無効にするには false に設定します。値は true または false のみです。それ以外の値では起動に失敗します |
RATE_LIMIT_MAX | 120 | IP ごとのウィンドウ内の最大リクエスト数です。正の整数を指定してください。0 を指定すると起動に失敗します(無効にするには RATE_LIMIT_ENABLED=false を設定してください) |
RATE_LIMIT_WINDOW_MS | 60000 | レート制限のウィンドウ(ミリ秒)。正の整数を指定してください |
INDEX_AUTO_REFRESH | false | cometchat/docs に変更があった際に、コンテナ内で検索インデックスを再構築するには true に設定します。イメージ内に git があり、書き込み可能な INDEX_WORK_DIR が必要です。 |
INDEX_POLL_INTERVAL_MS | 600000 | ドキュメントリポジトリに新しいコミットがあるか確認する頻度(git ls-remote を実行、約1秒) |
INDEX_WORK_DIR | ./data/generations | 再構築したインデックスの世代の保存先(本番環境では tmpfs) |
INDEX_KEEP_GENERATIONS | 2 | 即時フォールバック用にディスク上に保持する、過去のインデックス世代数 |
INDEX_MIN_PAGES | 2000 | 絶対的な下限です。ページ数がこれを下回る候補インデックスは拒否されます |
INDEX_MAX_DROP_RATIO | 0.2 | 相対的な下限です。提供中のページ数、または docs.json のナビゲーションに由来するバージョンを持つ提供中のページ数に対して、この割合を超えて失われる候補は拒否されます |
DOCS_REPO_URL | https://github.com/cometchat/docs.git | 公開ドキュメントリポジトリ。認証情報なしで匿名クローンされます |
DOCS_REF | main | 追跡するブランチ |
DOCS_COMMIT_PIN | 未設定 | 1つのコミットに固定し、HEAD の追跡を停止します(インシデント時の回避策) |
POSTHOG_KEY | 未設定 | PostHog プロジェクト API キー。未設定の場合、利用状況分析は完全に無効になります(何もしません) |
POSTHOG_HOST | https://us.i.posthog.com | PostHog インスタンスのホスト |
ANALYTICS_SALT | 未設定 | POSTHOG_KEY が設定されている場合は必須です(これがないと分析は無効のままです)。クライアントのフィンガープリントと IP ハッシュにソルトを適用します。ローテーションするとすべてのフィンガープリントがリセットされます |
デプロイ
コンテナのビルド、環境、プラットフォームに関する注意事項については、DEPLOY.md を参照してください。
マーケットプレイス
同じサーバー URL が複数のエージェントマーケットプレイスに掲載されています。
| マーケットプレイス | 掲載先 |
|---|---|
| Smithery | smithery.ai/servers/cometchat/docs-mcp |
| Glama | glama.ai/mcp/servers/cometchat/docs-mcp |
| Cursor Marketplace | cursor.com/marketplace |
| Cursor Directory | cursor.directory |
| Anthropic Connector Directory | claude.com/connectors |
| Codex Marketplace | codex-marketplace.com |
サポート
- 問題 / フィードバック: このリポジトリで issue を作成してください。
- CometChat サポート:
[email protected]。 - MCP のリアルタイムステータス:
curl https://mcp.cometchat.com/healthは、正常時に{"status":"ok"}を返します。
貢献
PR を歓迎します。特に、次のような貢献をお待ちしています。
- 新しい実装バンドル:
src/bundles/manifest.tsに既存のドキュメントページのエントリーを追加してください。シナリオをカバーするページがない場合は、まずcometchat/docsにページを作成してください。バンドルのコンテンツは、常にドキュメントから取得します。 - 既存の読み取り専用の契約に沿ったツールの改善。
現時点では対象外です。
- お客様の CometChat アプリに書き込みを行うツール(認証付きの別コネクターとして、ロードマップに記載されています)。
- 読み取りと書き込みを組み合わせたツール(Anthropic の自動拒否ルール)。
プライバシー
CometChat MCP サーバーは読み取り専用で、アカウント、API キー、認証は必要ありません。CometChat の公開ドキュメントのみを提供し、お客様のコード、プロンプト、個人データを要求、保存、送信することはありません。標準的なリクエストメタデータ(IP アドレスなど)は、レート制限や不正利用の防止のため、一時的に処理される場合があります。
詳細については、CometChat のプライバシーポリシーをご覧ください:cometchat.com/legal-privacy-policy。
ライセンス
Apache-2.0。詳細は LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。