Skip to main content
Glama
cometchat

CometChat Docs

Official

CometChat MCP Server

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

CI Release MCP Registry docs-mcp MCP server Listed on ClaudePluginHub License MCP Status

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


Related MCP server: ElevenLabs MCP Server

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: 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

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

  • list_cometchat_bundles — List every available implementation bundle (identifier, title, framework, last-verified date) for discovery.

All four carry readOnlyHint: true, a title annotation, and a declared outputSchema with structured results. 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

  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 a curated implementation bundle — ready-to-run code with prerequisites, install commands, configuration, and working examples.

  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

Field

Value

Display name

CometChat Docs

Version

0.1.6

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/docs on every push to that repo's main branch.

  • Implementation bundles carry a last_verified date 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 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/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

INDEX_AUTO_REFRESH

false

Set 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_MS

600000

How often to check the docs repo for a new commit (a git ls-remote, ~1s)

INDEX_WORK_DIR

./data/generations

Where rebuilt index generations are written (tmpfs in production)

INDEX_KEEP_GENERATIONS

2

Previous index generations retained on disk for instant fallback

INDEX_MIN_PAGES

2000

Absolute floor: a candidate index with fewer pages is rejected

INDEX_MAX_DROP_RATIO

0.2

Relative floor: reject a candidate losing more than this fraction of the served page count

DOCS_REPO_URL

https://github.com/cometchat/docs.git

Public docs repo; cloned anonymously, no credentials

DOCS_REF

main

Branch to follow

DOCS_COMMIT_PIN

unset

Freeze on one commit and stop following HEAD (incident escape hatch)

POSTHOG_KEY

unset

PostHog project API key. Unset = usage analytics fully disabled (no-op)

POSTHOG_HOST

https://us.i.posthog.com

PostHog instance host

ANALYTICS_SALT

unset

Required 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 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/health returns {"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_verified date 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.

Available Tools

3 tools
fetch_cometchat_doc_pageFetch CometChat Documentation PageA
Read-only
Inspect

Fetches the full content of a single CometChat documentation page by URL or path. Returns the page content as markdown along with title and section metadata. Path can be passed as a full https://www.cometchat.com/docs URL or as a relative path such as '/sdk/javascript/overview'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesDocumentation path or full URL. Relative paths like '/sdk/javascript/overview' and full URLs both work.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, confirming the tool is safe. The description adds value by stating the return format (markdown) and metadata (title, section), which is beneficial beyond the annotation. No side effects or rate limits are mentioned, but for a simple read tool this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two well-structured sentences with no extraneous information. The first sentence states the core function and output, the second clarifies input format. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (1 parameter, simple read operation, annotations present, no output schema), the description is fully adequate. It covers the tool's purpose, input options, and output type, leaving no obvious gaps for an AI agent to misunderstand.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'path'. The description adds further clarity with concrete examples (full URL and relative path), which enhances understanding beyond the schema's description. This justifies a score above the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches the full content of a single CometChat documentation page, distinguishing it from sibling tools like search (which returns snippets) and implementation bundle (different resource). The verb 'fetches' paired with 'documentation page' is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the input format (URL or path) with examples, but does not provide explicit guidance on when to use this tool versus its siblings (e.g., 'Use this when you need the full page content'). The usage is implied by the purpose, but no alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cometchat_implementation_bundleGet CometChat Implementation BundleA
Read-only
Inspect

Returns a curated implementation bundle for a named CometChat integration scenario. Each bundle includes prerequisites, install commands, configuration, working code examples, and common pitfalls. Available bundles cover common integration patterns across React, Flutter, iOS, Android, React Native, and the JavaScript SDK.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundleYesBundle name in lowercase kebab-case, e.g. 'react-uikit-quickstart'.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds behavioral context by detailing what the bundle includes (prerequisites, commands, code examples, pitfalls), which goes beyond the annotation. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the core purpose and follow with useful detail. No extraneous words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema), the description covers what to expect from the output. It lacks explicit format details but is sufficient for an agent to understand and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%. The description mentions 'named CometChat integration scenario' and lists example platforms, reinforcing the parameter's purpose but not adding significant new information beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a curated implementation bundle for a named integration scenario, listing included components. It distinguishes from sibling tools (fetch doc page, search docs) by focusing on bundles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when needing an implementation bundle) but does not explicitly state when not to use it or provide direct comparison to sibling tools. Usage context is implied but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_cometchat_docsSearch CometChat DocumentationA
Read-only
Inspect

Searches CometChat documentation including SDK guides (JavaScript, React, iOS, Android, Flutter, React Native), UI Kit references, REST API documentation, integration tutorials, and OpenAPI specs. Returns ranked snippets with titles and direct links to source pages. Supports an optional version filter to scope results to a specific documentation version.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return. Default 10, maximum 25.
queryYesSearch query. 1–500 characters.
versionNoOptional documentation version filter, e.g. 'v4' or 'v3'.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so description does not need to reiterate safety. The description adds that it returns ranked snippets with titles and direct links, which is useful but not rich behavioral context beyond what a search tool implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: first captures purpose and scope, second describes output format, third mentions the optional version filter. No redundancies, well front-loaded, and every sentence serves a clear function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage and clear annotations, the description covers output format and the version filter. It does not explain pagination behavior for the `limit` parameter, but that is minimal. Overall sufficient for a search tool without output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description adds value by listing the content domains searched (SDK guides, UI Kit, etc.), which clarifies what the query parameter targets. No additional semantics for `limit` or `version` beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly lists the verb 'searches' and the resource 'CometChat documentation' with an extensive enumeration of covered content types (SDK guides, UI Kit, REST API, etc.). Distinguishes from sibling tools implicitly by focusing on search vs. fetch or implementation retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool over siblings (fetch_cometchat_doc_page, get_cometchat_implementation_bundle). Does not mention when not to use it or provide context for alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv0.1.5
    • First observedfetch_cometchat_doc_page
    • First observedget_cometchat_implementation_bundle
    • First observedsearch_cometchat_docs

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: fetching a specific page, retrieving a curated implementation bundle, and searching across documentation. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (fetch_page, get_bundle, search_docs) with clear prefixes, making them predictable and easy to understand.

Tool Count4/5

With 3 tools, the set is slightly lean but still well-scoped for a documentation server. Each tool addresses a distinct need without redundancy.

Completeness4/5

The tools cover fetching, searching, and getting implementation examples. Missing a tool to list available bundles or documentation sections, but search can mitigate this gap.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides AI agents with instant access to official Apple developer documentation, Swift docs, design guidelines, and Apple Developer YouTube content through advanced semantic and hybrid search capabilities. Features AI-powered reranking for accurate retrieval of Apple platform knowledge including iOS, macOS, watchOS, tvOS, and visionOS development resources.
    5
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to perform semantic, hybrid, and filtered search on indexed local documentation with RAG capabilities.
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cometchat/docs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server