CometChat Docs
OfficialA read-only CometChat documentation server that lets an AI coding agent research CometChat and generate integration code from natural-language prompts.
search_cometchat_docs— keyword search across all CometChat docs (SDKs, UI Kits, Calls, REST API, AI agents, notifications, moderation, widget), returning ranked excerpts with page URLs; optionalversionfilter andlimit(max 25).fetch_cometchat_doc_page— retrieve any docs page in full as markdown by URL or path; follows redirects, truncates pages over 50 KiB with a link to the full page.list_cometchat_bundles— list all 11 implementation bundles with identifier, title, framework and last-verified date.get_cometchat_implementation_bundle— get one bundle (e.g.react-uikit-quickstart,moderation-setup,multi-tenant-chat) as a single compiled document with prerequisites and related page paths.Resources — an agent orientation skill (
cometchat://skills/overview) plus 11 bundle resources covering React, React Native, Flutter, iOS, Android, Angular, JS SDK, widget, moderation, multi-tenancy, and presence/typing.No auth for docs tools — no account or API key needed; per-IP rate limit of 120 requests per 60 s.
Optional account tools — after OAuth sign-in, manage CometChat apps, users, groups, API keys, webhooks, features and usage (off unless CometChat enables it on the hosted server).
Enables integration with Android apps using the CometChat Android UI Kit (Jetpack Compose) and SDK for real-time chat, voice, and video.
Provides Angular UI Kit integration for adding chat, voice, and video capabilities to Angular applications.
Allows Flutter apps to integrate real-time chat, voice, and video using the CometChat Flutter UI Kit and SDK.
Enables iOS apps to integrate real-time chat, voice, and video using the CometChat iOS UI Kit (SwiftUI) and SDK.
Provides the JavaScript SDK for integrating real-time messaging and media into web applications.
Supports Android app integration using the Jetpack Compose-based CometChat UI Kit for modern Android development.
Facilitates integration with Next.js applications, leveraging React UI Kit for building chat features.
Allows React applications to add real-time chat, voice, and video using the CometChat React UI Kit.
Provides a no-code widget integration for Shopify stores to add chat functionality.
Offers a no-code widget for embedding chat into Squarespace websites.
Enables Swift-based iOS apps to integrate CometChat using the SwiftUI UI Kit and SDK.
Provides a no-code widget for adding chat to Webflow sites.
Offers a no-code widget for embedding chat into Wix websites.
Enables a no-code widget integration for adding chat to WordPress sites.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
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)
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.
One endpoint, /mcp. The docs tools are read-only, with no account, API key or authentication. Account tools (your apps, users, settings) need you to sign in with your CometChat account: your client asks you to sign in the first time you use one. See Account tools.
Demo

An AI agent reading CometChat's docs and writing a working chat integration from a single prompt.
Related MCP server: notifly-mcp-server
Quick install
Agent | How to add |
Claude.ai / Claude Desktop | Settings → Connectors → Add custom connector → URL: |
Cursor |
|
Windsurf | Plugins (hammer icon) → Manage plugins → View raw config → paste config below |
VS Code (Copilot Agent) |
|
Claude Code (CLI) |
|
Claude Code (plugin) |
|
Codex CLI (plugin) |
|
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
search_cometchat_docs— Search the SDK, UI Kit, Calls, REST API, AI agent, notification and moderation docs by topic, API name or error message. Returns ranked snippets with page URLs, current versions first. Optionalversionfilter andlimit(up to 25).fetch_cometchat_doc_page— Fetch one documentation page in full as markdown by URL or path, following moved pages. Pages over 50 KiB are truncated with a link to the full page.get_cometchat_implementation_bundle— Return the implementation bundle for a named scenario: the scenario's current docs pages (for a UI Kit: its integration guide, then the platform's AI reference page) compiled into one document, plus related page paths.list_cometchat_bundles— List every available implementation bundle (identifier, title, framework, date its page list was reviewed) for discovery.
All four carry readOnlyHint: true, a title annotation, and a declared outputSchema with structured results. Names are ≤ 64 characters. Each description states what the tool does, when it fits and its limits (errors, rate limit), naming this server's other tools only where one serves a specific need ("identifiers come from list_cometchat_bundles"). They carry no directives to the agent, no references to other servers or products, and no marketing language. tests/tools.test.ts guards the tool, parameter and output-field descriptions and the initialize instructions against a list of banned phrasings, and checks that list still rejects the shapes it was written for; it is a banlist, not a proof.
Resources
URI | Purpose |
| Agent orientation skill — Product summary, decision guidance, workflow, common gotchas, verification checklist |
| React UI Kit install + init + login + chat surface |
| React Native UI Kit with navigation and chat screen |
| Flutter UI Kit install + init + basic chat |
| iOS UI Kit install + chat view |
| Android UI Kit install + chat screen |
| Angular UI Kit install + init + login + chat surface |
| Vanilla JS SDK — send/receive text and media messages |
| No-code widget embed for HTML, with pointers to WordPress, Webflow and Squarespace |
| Moderation getting started, with pointers to rules, lists and flagged messages |
| Multi-tenancy — isolated apps under one plan, App Management APIs |
| 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 an implementation bundle — the current docs pages for that integration in one document.
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.2.1 |
Protocol | MCP |
Transport | Streamable HTTP (with SSE) |
Authentication | None for the docs tools. OAuth 2.1 sign-in with your CometChat account for the account tools, on the same |
Capabilities |
|
Health endpoint |
|
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 → live docs pages listed in src/bundles/manifest.tsStateless server, single universal endpoint, no user-specific state.
Search index rebuilds from
github.com/cometchat/docson every push to that repo'smainbranch.Implementation bundles have no content of their own. Each is a list of docs pages (
src/bundles/manifest.ts), read from the live docs on request, so a docs fix reaches the bundle with no MCP change. A built bundle is served for 10 minutes; after that a call still gets it at once and starts one background rebuild. A rebuild that hits a timeout or 5xx never replaces the cached bundle and is retried with a backoff (30 s, doubling, up to 10 minutes), so a docs outage neither drops bundles nor floods the docs site. A deleted page (404) is what the docs say: once a second build in a row agrees, that rebuild is kept and names the missing page.npm run verify:bundlesfails when a listed page moves, disappears, no longer fits in its bundle, is no longer the current version in docs.json, or tells people to install a package version that is unpublished, on an older major, or an exact pin a minor behind (checked against npm, pub.dev, CometChat's Maven repo, CocoaPods trunk and GitHub); the maintainers run it daily.
Local development
Node.js: running the server needs Node 20 or later. Developing and running the tests need Node 20.19+ or 22.12+, because the test toolchain (Vitest, Vite and Rolldown) won't start on earlier releases. CI uses Node 24.
# 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:bundlesThe 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/mcpYou should see all 4 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/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 logoConfiguration
Env var | Default | Notes |
|
| HTTP port |
|
| Bind host |
|
| Used for URLs in responses + the |
|
| SQLite FTS5 index location. Server still boots if missing; search returns |
|
| Orientation skill ( |
|
| Per-fetch HTTP timeout |
|
|
|
|
| Standard Node.js setting (Express runs in production mode); set |
|
| Comma-separated |
| unset | Comma-separated browser |
|
| Set |
|
| Set |
|
| Max requests per window per IP. Positive integer; |
|
| Rate-limit window in ms. Positive integer |
|
| Set |
|
| How often to check the docs repo for a new commit (a |
|
| Where rebuilt index generations are written (tmpfs in production) |
|
| Previous index generations retained on disk for instant fallback |
|
| Absolute floor: a candidate index with fewer pages is rejected |
|
| Relative floor: reject a candidate losing more than this fraction of the served page count, or of the served pages whose versions come from docs.json navigation |
|
| Public docs repo; cloned anonymously, no credentials |
|
| Branch to follow |
| unset | Freeze on one commit and stop following |
| unset | PostHog project API key. Unset = usage analytics fully disabled (no-op) |
|
| PostHog instance host |
| unset | Required when |
Deployment
See DEPLOY.md for container build, environment, and platform notes.
Marketplaces
The same server URL is listed in these registries and directories:
Listing | Where |
Official MCP Registry | |
GitHub MCP Registry | |
Claude connector directory | |
Cursor Directory | |
Smithery | |
Glama | |
mcp.so | |
PulseMCP | |
LightNow | |
ClaudePluginHub |
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.
Account tools (sign-in)
https://mcp.cometchat.com/mcp also has tools for your CometChat account, after you sign in: list and create apps, read credentials, turn features on, manage users, groups, API keys and webhooks, delete users, groups, messages and other data, and check usage and moderation. It's off until CometChat enables it on the hosted server.
What it can and can't do. When you connect, the sign-in page lists what the tool will be able to do. It can delete users, groups, messages, API keys, webhooks, roles, moderation lists and rules, and push providers, always after your approval. It can't delete apps, change billing, transfer ownership or ban users. A read-only connection can still read your app credentials, including the Auth Key; other API key values are masked.
Unverified apps. Anyone can register a client with any name. If the address your browser returns to isn't a known AI tool (one running on your machine, claude.ai's connector callback, or a page on ChatGPT, Grok, Antigravity, Mistral Le Chat or Perplexity), the page marks it unverified and it only gets read-only access. A ChatGPT, Grok or Antigravity connection made before 0.2.1 still shows as unverified: remove it and add it again. The page shows the app's icon: ours for a known app (by where it returns to, not its name), otherwise the logo the app registered (never for an unverified app), otherwise the first letter of its name. The icon only helps you recognise the app; the name and the return address are what to check.
High-risk changes need your approval in the browser. Creating webhooks, API keys or login tokens, inviting team members, changing app settings, replacing the OpenAI key and every delete each give your AI tool a link. Open it in the browser where you connected your AI tool, check the exact details, and approve; you get a short code to give back to your AI tool. The code works once, for that exact change, for up to 10 minutes. This guards against text inside your app (a message, a user name) talking your AI tool into one of these changes. Only approve changes you asked for, and only sign in to CometChat from a link your own AI tool opened when you connected it. Secret values on the approval page show only their last 4 characters. If your AI tool can control your browser, it could also press Approve, so don't rely on approval in that setup. Other changes ask for your OK in the chat.
Disconnecting. Remove the CometChat connection in your AI tool (Claude Code: /mcp, pick it, Clear authentication). That stops that tool. A sign-in copied off your device keeps working until it expires (access tokens last 1 hour, a sign-in at most 7 days); changing your CometChat password cuts off every copy within an hour. Step-by-step help: https://mcp.cometchat.com/oauth/cometchat/disconnect.
For admins. There's no organisation-wide switch to block account sign-ins yet. To cut off a person's sign-ins straight away, contact CometChat support.
Contributing
PRs welcome — especially:
New implementation bundles: add an entry to
src/bundles/manifest.tslisting existing docs pages. If no page covers the scenario, write the page incometchat/docsfirst; bundle content always comes from the docs.Tool improvements: docs tools stay read-only; account tools keep the sign-in, confirmation and approval rules in Account tools.
Out of scope:
Account tools that delete apps, change billing, transfer ownership or ban users.
Mixed read/write tools (each tool is either read-only or a write).
Privacy
Docs tools. Read-only, with no account, API key or authentication. It serves CometChat's public documentation and does not request, store or transmit your code, prompts or personal data.
Account tools. Only used if you sign in. It passes your requests to your CometChat account and returns the results to your AI tool, which can include your users' names, emails and message text (truncated). The server stores nothing: your sign-in lives in your AI tool, sealed so only this server can read it. For security it logs one audit line per account action: a pseudonymous id for you, the tool, the app id, the ids it acted on (never message text, names or secrets), and the outcome.
Both. Request metadata such as your IP address is processed for rate limiting and abuse prevention. Usage analytics (PostHog) receive the tool name, outcome, duration, a session id and a one-way fingerprint of your IP. They never receive tool arguments, results or account details.
For full details, see CometChat's privacy policy: cometchat.com/legal-privacy-policy.
License
Apache-2.0. See LICENSE.
Available Tools
4 toolsfetch_cometchat_doc_pageFetch CometChat Documentation PageARead-onlyInspect
Returns one CometChat documentation page in full, as markdown with its title, url and section. Takes a url or path already in hand: a docs link from a bundle, or a result url from search_cometchat_docs, which is where a topic or API name goes instead, since that is not a path.
Each call reads the live docs site, so it sees pages the search index has not picked up yet. A moved page is followed for up to 3 redirects; a page over 50 KiB is truncated, ending in a link to the full page. No key or account is needed, and nothing is cached.
Errors: not_found for an unknown page or one redirected to the docs root, invalid_input for a path resolving outside the documentation, backend_unavailable when the site fails or the whole redirect chain exceeds the 5 s default timeout (retryable).
Inputs: path (required). Returns: url, title, content, section, +2 more
get_cometchat_implementation_bundleGet a CometChat Implementation BundleARead-onlyInspect
Returns one CometChat implementation bundle: the scenario's current documentation pages (for a UI Kit, its integration guide, then the platform's AI reference page) compiled into one markdown document, each headed by its source URL, plus paths of related pages, the prerequisites, and a last_verified date.
Eleven bundles cover UI Kit quickstarts (React, Angular, React Native, Flutter, iOS, Android), JavaScript SDK messaging, the no-code widget, moderation setup, multi-tenant chat, and presence and typing. list_cometchat_bundles names them all; for a topic no bundle covers, or for one reference page rather than a setup's pages, search_cometchat_docs searches the documentation.
bundle is an identifier, not a title and not a framework: 'react-uikit-quickstart', rather than 'React UI Kit' or 'react'. One that is well-formed but names no bundle returns unknown_bundle listing every valid one; anything else, invalid_input. Pages are included whole, in order, while the document fits in 60 KiB; a page that does not fit is listed by path under More pages rather than cut, except a first page too big on its own, which is cut at a paragraph and ends with a link to the full page. Pages are read from the live docs site; no key or account is needed. A built bundle is served for 10 minutes, then refreshed in the background. A page that cannot be loaded does not fail the call: the previous bundle, or a partial one naming the pages it lacks, is served instead, and backend_unavailable is returned only when no page loads and nothing is cached yet.
Inputs: bundle (required). Returns: title, bundle, content, framework, +2 more
list_cometchat_bundlesList CometChat Implementation BundlesARead-onlyInspect
Lists every CometChat implementation bundle: the setup scenarios whose current docs pages get_cometchat_implementation_bundle compiles by identifier, with each one's title, framework ('any' when platform-neutral) and last_verified date.
No parameters are required: one call returns the complete set, ordered by identifier, with no filter, paging or cap. The set is fixed at startup, since only page content is read from the docs site; the listing itself opens no connection and needs no key or account, so repeat calls return the same bundles.
For a topic no bundle covers, or for one reference page rather than a setup's pages, search_cometchat_docs searches the documentation.
Inputs: no named parameters. Returns: total, bundles
search_cometchat_docsSearch CometChat DocumentationARead-onlyInspect
Searches all of CometChat's documentation (SDKs, UI Kits, Calls, REST API, AI agents, notifications, moderation, the no-code widget, UI Kit Builder and more) for the pages covering a topic or API name, and returns ranked excerpts with each page's url.
When a page's url or path is already in hand, fetch_cometchat_doc_page returns that page in full; for a common setup scenario (a UI Kit quickstart, SDK messaging, the widget, moderation), list_cometchat_bundles names the implementation bundles, each the scenario's current docs pages compiled into one document.
Pages holding every keyword rank first, falling back to any keyword when no page holds them all; no match is an empty results list, not an error. For a query of 4 to 8 distinct keywords, pages missing one incidental keyword join the ranking at half weight, which is how an API renamed between versions is still found; a platform or language word is never the one dropped. Without the version filter, current-version pages lead, and each result reports isCurrent plus a version label when the page is versioned; the filter restricts results to pages carrying that label, so unversioned pages such as the REST API reference are excluded. limit caps the rows returned, never the totalAvailable count, and there is no offset.
Results come from a snapshot of the documentation repository, rebuilt periodically, so a page published since the last rebuild is missing until then; fetch_cometchat_doc_page reads the live site. Errors: invalid_input for a malformed argument, backend_unavailable when the index cannot be read. Over HTTP, every MCP request counts against one per-client-IP limit, initialize and tools/list included, by default 120 per 60 s, then HTTP 429 with Retry-After; no authentication.
Inputs: query (required), limit, version. Returns: results, totalAvailable
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a distinct retrieval mode: keyword search, direct page fetch by url/path, bundle listing, and bundle retrieval by identifier. Descriptions explicitly redirect agents between tools (e.g., use search when no bundle matches; use fetch when a url is in hand), eliminating overlap.
All four names follow a strict verb_noun snake_case pattern (search_/fetch_/get_/list_ + resource), with the resource names themselves consistent (cometchat_docs, doc_page, implementation_bundle(s)). No style mixing.
Four tools is a tight, well-justified surface for a documentation lookup server: two discovery paths (search, list bundles) and two retrieval paths (fetch page, get bundle). Nothing appears redundant or missing at the count level.
The discover-then-retrieve lifecycle is covered for both ad-hoc pages and scenario bundles, with live-vs-snapshot behavior documented. Minor gaps: search has no offset/pagination, and there is no way to enumerate available pages, versions, or related-page traversal beyond what bundles return.
Maintenance
Related MCP Connectors
Search the Amomic-AI docs and REST API for AI agents on calls, WhatsApp, chat and email.
Search @imqueue docs and scaffold typed services & clients from your AI coding agent.
Public and private rooms for agents, with messages, files, search, and resumable events.
Create and manage voice agents, discover voices, review conversations, and search Phonic docs.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables seamless integration with ElevenLabs Conversational AI to manage agents, tools, and knowledge base sources. It supports RAG indexing, webhook integration, and document management for building advanced voice-enabled AI agents.MIT

notifly-mcp-serverofficial
FlicenseNot gradedqualityDmaintenanceEnables AI agents to search Notifly documentation and SDK code examples for seamless integration.21 npm1-- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform semantic, hybrid, and filtered search on indexed local documentation with RAG capabilities.2MIT
- AlicenseNot gradedqualityDmaintenanceAdds semantic code search to AI coding agents, enabling natural language queries across entire codebases to retrieve relevant code chunks, saving tokens and providing deep context.20 npm1MIT