CometChat Docs
CometChat docs search + implementation bundles: add chat, voice, video & moderation to your app through your AI coding agent.
README
<div align="center">
CometChat MCP Server
Add real-time chat, voice, video, and moderation to your app through your AI coding agent.
Docs • CometChat • Get an account (free, 100 MAU)
</div>
CometChat's first-party MCP server. Connect Claude, Cursor, Windsurf, VS Code Copilot, Codex, or any other Model Context Protocol–compatible agent and integrate CometChat into your app from natural-language prompts.
Ask the agent: "add a chat tab where users can DM each other" — it reads CometChat's documentation, picks the right components for your stack, and writes the integration code.
Read-only. No account, no API key, no authentication required.
Demo

An AI agent reading CometChat's docs and writing a working chat integration from a single prompt.
Quick install
| Agent | How to add |
|---|---|
| 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 → paste config below |
| Windsurf | Plugins (hammer icon) → Manage plugins → View raw config → paste config below |
| VS Code (Copilot Agent) | Cmd+Shift+P → MCP: Add MCP Server → URL: https://mcp.cometchat.com/mcp, Transport: SSE |
| 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 |
Config snippet (Cursor / Windsurf / generic MCP clients)
{
"mcpServers": {
"cometchat": {
"url": "https://mcp.cometchat.com/mcp"
}
}
}
Usage
After connecting, prompt your agent with any of these:
- "How do I install the React UI Kit in my Vite project?"
- "Walk me through multi-tenant chat for a Next.js SaaS where workspaces are isolated."
- "Show me how to add presence indicators and typing dots to my iOS conversation list."
- "Set up content moderation so banned words are blocked before delivery."
- "Build a no-code chat widget for my Webflow site."
- "What's the rate limit for sending messages, and what error code do I get when I hit it?"
The agent reads CometChat's documentation, pulls the relevant implementation bundle, and writes the integration code into your project.
Tools
| Name | Purpose |
|---|---|
search_cometchat_docs |
Search across SDK guides, UI Kit references, REST API documentation, and OpenAPI specs. Returns ranked snippets with titles + direct links. Optional version filter. |
fetch_cometchat_doc_page |
Fetch the full content of any documentation page as markdown by URL or relative path. |
get_cometchat_implementation_bundle |
Return a curated implementation bundle for a named scenario — prerequisites, install commands, configuration, working code. |
All three carry readOnlyHint: true and a title annotation. Names are ≤ 64 characters. Descriptions describe contracts only — no behavioral instructions to the agent, no cross-tool routing, no marketing language.
Resources
| URI | Purpose |
|---|---|
cometchat://skills/overview |
Agent orientation skill — Product summary, decision guidance, workflow, common gotchas, verification checklist |
cometchat://bundles/react-uikit-quickstart |
React UI Kit install + init + login + chat surface |
cometchat://bundles/react-native-uikit-quickstart |
React Native UI Kit with navigation and chat screen |
cometchat://bundles/flutter-uikit-quickstart |
Flutter UI Kit install + init + basic chat |
cometchat://bundles/ios-uikit-quickstart |
iOS UI Kit (SwiftUI) install + chat view |
cometchat://bundles/android-uikit-quickstart |
Android UI Kit (Jetpack Compose) install + chat screen |
cometchat://bundles/js-sdk-messaging-basics |
Vanilla JS SDK — send/receive text and media messages |
cometchat://bundles/widget-embed |
No-code widget embed for HTML, Squarespace, Webflow, Wix, WordPress, Shopify |
cometchat://bundles/moderation-setup |
AI moderation rules, image moderation, webhooks |
cometchat://bundles/multi-tenant-chat |
Multi-tenant SaaS chat — tenant isolation, server-issued Auth Tokens |
cometchat://bundles/presence-and-typing |
Online presence, typing indicators, read receipts |
How it works
- You prompt your agent in natural language.
- The agent reads the orientation skill (
cometchat://skills/overview) to understand which tool/bundle fits your request. - For top scenarios, the agent pulls a curated implementation bundle — ready-to-run code with prerequisites, install commands, configuration, and working examples.
- For long-tail questions, the agent searches CometChat's docs and reads specific reference pages.
- The agent writes the code into your project, using the bundle as the source of truth and your project structure as the constraint.
CometChat in 30 seconds
CometChat is a real-time communications platform for adding chat, voice, and video calling to web and mobile apps. Used in production across SaaS, marketplaces, gaming, healthcare, education, and creator platforms.
- Free tier: first 100 monthly active users, no credit card required.
- SDKs: JavaScript, React Native, iOS, Android, Flutter.
- UI Kits: React, React Native, iOS, Android, Flutter, Angular, Vue.
- No-code: chat widget for any HTML site.
- Sign up:
app.cometchat.com— you'll need an App ID, Auth Key, and Region to build with the code the agent writes.
Server identity
| Field | Value |
|---|---|
| Display name | CometChat Docs |
| Version | 0.1.5 |
| Protocol | MCP 2025-06-18 |
| Transport | Streamable HTTP (with SSE) |
| Authentication | None (public docs only) |
| Capabilities | tools, resources |
| Health endpoint | GET https://mcp.cometchat.com/health |
Architecture
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 → bundled markdown recipes
- Stateless server, single universal endpoint, no user-specific state.
- Search index rebuilds from
github.com/cometchat/docson every push to that repo'smainbranch. - Implementation bundles carry a
last_verifieddate and are re-checked against live SDK versions quarterly.
Local development
# 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 (36 tests across validation, truncation, bundles, tools, resources, fetch)
npm test
The server listens on http://0.0.0.0:3000 by default. Health probe at GET /health, MCP endpoint at POST /mcp.
Inspect with the MCP Inspector
npx @modelcontextprotocol/inspector
# add server: http://localhost:3000/mcp
You should see all 3 tools with readOnlyHint: true and all 11 resources.
Repo layout
docs-mcp/
├── src/
│ ├── server.ts # MCP server entry, transport, tool dispatch
│ ├── tools/{search,fetch,bundle}.ts
│ ├── search/sqlite.ts # SQLite FTS5 client
│ ├── bundles/loader.ts # markdown bundle store
│ ├── resources/registry.ts # skill + bundle resources
│ └── lib/{errors,truncate,validation,logger}.ts
├── scripts/build-index.ts # builds SQLite FTS5 index from cometchat/docs
├── bundles/ # 10 curated implementation bundles
├── 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
Configuration
| Env var | Default | Notes |
|---|---|---|
PORT |
3000 |
HTTP port |
HOST |
0.0.0.0 |
Bind host |
DOCS_BASE_URL |
https://www.cometchat.com/docs |
Used for URLs in responses + the .md fetch fallback |
INDEX_PATH |
./data/index.sqlite |
SQLite FTS5 index location. Server still boots if missing; search returns backend_unavailable and /health is 503. |
BUNDLES_DIR |
./bundles |
Markdown bundles directory |
SKILLS_DIR |
./skills |
Orientation skill (overview.md) directory |
FETCH_TIMEOUT_MS |
5000 |
Per-fetch HTTP timeout |
LOG_LEVEL |
info |
debug / info / warn / error |
NODE_ENV |
development |
production makes bundle loading strict — a malformed bundle aborts boot instead of being skipped |
ALLOWED_HOSTS |
<HOST>:<PORT>,localhost:<PORT>,127.0.0.1:<PORT> |
Comma-separated Host header allowlist for DNS-rebinding protection |
ALLOWED_ORIGINS |
unset | Comma-separated CORS origin allowlist |
DNS_REBINDING_PROTECTION |
true |
Set false only if an upstream already validates Host |
RATE_LIMIT_ENABLED |
true |
Set false to disable per-IP rate limiting on /mcp |
RATE_LIMIT_MAX |
120 |
Max requests per window per IP |
RATE_LIMIT_WINDOW_MS |
60000 |
Rate-limit window in ms |
Deployment
See DEPLOY.md for container build, environment, and platform notes.
Marketplaces
The same server URL is listed across multiple agent marketplaces:
| Marketplace | Listing |
|---|---|
| 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 |
Support
- Issues / feedback: open an issue in this repo.
- CometChat support:
support@cometchat.com. - Live MCP status:
curl https://mcp.cometchat.com/healthreturns{"status":"ok"}when healthy.
Contributing
PRs welcome — especially:
- New implementation bundles for under-served scenarios (drop a markdown file in
bundles/with the required frontmatter). - Bundle refreshes when SDK versions change (
last_verifieddate in the bundle's frontmatter triggers a CI warning if older than 6 months). - Tool improvements behind the existing read-only contract.
Out of scope today:
- Tools that write to a customer's CometChat app (separate authenticated connector, on the roadmap).
- Mixed read/write tools (Anthropic auto-rejection rule).
Privacy
The CometChat MCP server is read-only and requires no account, API key, or authentication. It serves only CometChat's public documentation and does not request, store, or transmit your code, prompts, or personal data. Standard request metadata (such as IP address) may be processed transiently for rate limiting and abuse prevention.
For full details, see CometChat's privacy policy: cometchat.com/legal-privacy-policy.
License
Apache-2.0. See LICENSE.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。