CometChat Docs

io.github.cometchatPublished by GitHub account cometchatv0.1.7Updated Oct 29, 2026

CometChat docs search + implementation bundles: add chat, voice, video & moderation to your app.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Read-only CometChat documentation server that lets an assistant search docs, read pages, and pull implementation bundles for adding chat, voice, video and…

What you can do
  • Search CometChat documentation by topic, API name or error message and get ranked excerpts with page URLs
  • Read a single documentation page in full as markdown by URL or path, with moved pages followed and oversized pages truncated
  • List the available implementation bundles with identifier, title, framework and last-verified date
  • Retrieve a bundle for a scenario such as a React, Flutter, iOS or Android UI Kit quickstart, moderation, multi-tenant chat or presence, compiled into one markdown document with prerequisites and related pages
When to use it
Use it when an assistant is helping integrate CometChat's chat, voice/video calling or moderation into a web or mobile app and needs current first-party docs and step-by-step setup recipes. It is also useful for looking up API details, error codes and rate limits while writing integration code.
Requirements
A remote MCP endpoint over Streamable HTTP; no account, API key or authentication is needed. To actually build with the code the assistant writes, a CometChat account with an App ID, Auth Key and Region is needed separately.
Before you install
The server is read-only and serves public documentation only, so it does not change your project itself; the assistant writes code into your files. Standard request metadata such as IP address may be processed transiently for rate limiting. Signing up for CometChat is a separate step with its own terms and a free tier limited to the first 100 monthly active users.

Installation

In SourceWeft

  1. Open CometChat Docs in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.cometchat%2Fdocs-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "cometchat-docs": {
      "type": "http",
      "url": "https://mcp.cometchat.com/mcp"
    }
  }
}

README

CometChat MCP Server

Add real-time chat, voice, video, and moderation to your app through your AI coding agent.

[CI] [Release] [MCP Registry] [LightNow capabilities] [docs-mcp MCP server] [Listed on ClaudePluginHub] [License] [MCP] [Status]

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.

Read-only. No account, no API key, no authentication required.


Demo

[CometChat MCP server in action]

An AI agent reading CometChat's docs and writing a working chat integration from a single prompt.


Quick install

AgentHow to add
Claude.ai / Claude DesktopSettings → Connectors → Add custom connector → URL: https://mcp.cometchat.com/mcp
CursorCmd+Shift+P → Open MCP settings → Add custom MCP → paste config below
WindsurfPlugins (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: HTTP
Claude Code (CLI)claude mcp add --transport http cometchat https://mcp.cometchat.com/mcp
Claude Code (plugin)claude plugin marketplace add cometchat/docs-mcp && claude plugin install cometchat@cometchat
Codex CLI (plugin)codex plugin marketplace add cometchat/docs-mcp && codex plugin add cometchat@cometchat

Config snippet (Cursor / Windsurf / generic MCP clients)

json
{  "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. Optional version filter and limit (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

URIPurpose
cometchat://skills/overviewAgent orientation skill — Product summary, decision guidance, workflow, common gotchas, verification checklist
cometchat://bundles/react-uikit-quickstartReact UI Kit install + init + login + chat surface
cometchat://bundles/react-native-uikit-quickstartReact Native UI Kit with navigation and chat screen
cometchat://bundles/flutter-uikit-quickstartFlutter UI Kit install + init + basic chat
cometchat://bundles/ios-uikit-quickstartiOS UI Kit install + chat view
cometchat://bundles/android-uikit-quickstartAndroid UI Kit install + chat screen
cometchat://bundles/angular-uikit-quickstartAngular UI Kit install + init + login + chat surface
cometchat://bundles/js-sdk-messaging-basicsVanilla JS SDK — send/receive text and media messages
cometchat://bundles/widget-embedNo-code widget embed for HTML, with pointers to WordPress, Webflow and Squarespace
cometchat://bundles/moderation-setupModeration getting started, with pointers to rules, lists and flagged messages
cometchat://bundles/multi-tenant-chatMulti-tenancy — isolated apps under one plan, App Management APIs
cometchat://bundles/presence-and-typingOnline presence, typing indicators, read receipts

How it works

  1. You prompt your agent in natural language.
  2. The agent reads the orientation skill (cometchat://skills/overview) to understand which tool/bundle fits your request.
  3. For top scenarios, the agent pulls an implementation bundle — the current docs pages for that integration in one document.
  4. For long-tail questions, the agent searches CometChat's docs and reads specific reference pages.
  5. 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

FieldValue
Display nameCometChat Docs
Version0.1.7
ProtocolMCP 2025-11-25; earlier protocol versions are negotiated down
TransportStreamable HTTP (with SSE)
AuthenticationNone (public docs only)
Capabilitiestools, resources
Health endpointGET 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 → live docs pages listed in src/bundles/manifest.ts
  • Stateless server, single universal endpoint, no user-specific state.
  • Search index rebuilds from github.com/cometchat/docs on every push to that repo's main branch.
  • 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:bundles fails 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

bash
# 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 servernpm installDOCS_REPO=../cometchat-docs-repo npm run build:indexnpm 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

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

bash
npx @modelcontextprotocol/inspector# add server: http://localhost:3000/mcp

You 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 logo

Configuration

Env varDefaultNotes
PORT3000HTTP port
HOST0.0.0.0Bind host
DOCS_BASE_URLhttps://www.cometchat.com/docsUsed for URLs in responses + the .md fetch fallback
INDEX_PATH./data/index.sqliteSQLite FTS5 index location. Server still boots if missing; search returns backend_unavailable and /health is 503.
SKILLS_DIR./skillsOrientation skill (overview.md) directory
FETCH_TIMEOUT_MS5000Per-fetch HTTP timeout
LOG_LEVELinfodebug / info / warn / error
NODE_ENVdevelopmentStandard Node.js setting (Express runs in production mode); set production in containers
ALLOWED_HOSTS<HOST>:<PORT>,localhost:<PORT>,127.0.0.1:<PORT>Comma-separated Host header allowlist for DNS-rebinding protection
ALLOWED_ORIGINSunsetComma-separated browser Origin allowlist for /mcp. Unset allows none: a request with an Origin gets 403. Clients that send no Origin (IDEs, CLIs, hosted connectors) are unaffected
DNS_REBINDING_PROTECTIONtrueSet false only if an upstream already validates Host
RATE_LIMIT_ENABLEDtrueSet false to disable per-IP rate limiting on /mcp. Exactly true or false; other values fail startup
RATE_LIMIT_MAX120Max requests per window per IP. Positive integer; 0 fails startup (disable with RATE_LIMIT_ENABLED=false)
RATE_LIMIT_WINDOW_MS60000Rate-limit window in ms. Positive integer
INDEX_AUTO_REFRESHfalseSet true to rebuild the search index in-container when cometchat/docs changes. Requires git in the image and a writable INDEX_WORK_DIR.
INDEX_POLL_INTERVAL_MS600000How often to check the docs repo for a new commit (a git ls-remote, ~1s)
INDEX_WORK_DIR./data/generationsWhere rebuilt index generations are written (tmpfs in production)
INDEX_KEEP_GENERATIONS2Previous index generations retained on disk for instant fallback
INDEX_MIN_PAGES2000Absolute floor: a candidate index with fewer pages is rejected
INDEX_MAX_DROP_RATIO0.2Relative 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
DOCS_REPO_URLhttps://github.com/cometchat/docs.gitPublic docs repo; cloned anonymously, no credentials
DOCS_REFmainBranch to follow
DOCS_COMMIT_PINunsetFreeze on one commit and stop following HEAD (incident escape hatch)
POSTHOG_KEYunsetPostHog project API key. Unset = usage analytics fully disabled (no-op)
POSTHOG_HOSThttps://us.i.posthog.comPostHog instance host
ANALYTICS_SALTunsetRequired when POSTHOG_KEY is set (analytics stays off without it). Salts client fingerprints/IP hashes; rotating it resets all fingerprints

Deployment

See DEPLOY.md for container build, environment, and platform notes.


Marketplaces

The same server URL is listed in these registries and directories:


Support

  • Issues / feedback: open an issue in this repo.
  • CometChat support: [email protected].
  • Live MCP status: curl https://mcp.cometchat.com/health returns {"status":"ok"} when healthy.

Contributing

PRs welcome — especially:

  • New implementation bundles: add an entry to src/bundles/manifest.ts listing existing docs pages. If no page covers the scenario, write the page in cometchat/docs first; bundle content always comes from the docs.
  • 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.

Source: README.md at commit 804b54c

Tools

4

search_cometchat_docs

Search CometChat Documentation

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.

Parameterslimitqueryrequiredversion

fetch_cometchat_doc_page

Fetch CometChat Documentation Page

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).

Parameterspathrequired

get_cometchat_implementation_bundle

Get a CometChat Implementation Bundle

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.

Parametersbundlerequired

list_cometchat_bundles

List CometChat Implementation Bundles

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.

Takes no parameters.

Version history

3
  1. v0.1.7LatestOct 29, 2026
  2. v0.1.6Sep 22, 2026
  3. v0.1.5Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts