Skip to main content
Glama

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

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.


Related MCP server: notifly-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 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_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. Exactly true or false; other values fail startup

RATE_LIMIT_MAX

120

Max requests per window per IP. Positive integer; 0 fails startup (disable with RATE_LIMIT_ENABLED=false)

RATE_LIMIT_WINDOW_MS

60000

Rate-limit window in ms. Positive integer

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, or of the served pages whose versions come from docs.json navigation

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesCanonical page URL.
titleYesPage title.
contentYesFull page content as markdown (truncated if very large).
sectionYesDocumentation section the page belongs to.
contentLengthYesContent length in bytes after truncation.
redirectedFromNoPath originally requested, present only when that page has moved. url and section describe the page it moved to.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description builds on that by disclosing the return format ('markdown along with title and section metadata') and the flexible path input. It doesn't cover error behavior or rate limits, but for a simple read operation this is solid additional context.

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 sentences, tightly packed with all essential information: operation, resource, return type, and accepted path forms. No filler or redundant phrases; front-loaded with the core purpose.

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?

For a single-parameter read-only tool with an output schema, the description covers everything an agent needs: the exact input format, the returned content type, and metadata inclusion. There are no hidden requirements or ambiguous behaviors left unexplained.

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%, and the parameter description already explains that both relative paths and full URLs work. The tool description largely repeats this same information with a concrete example, adding no new semantic meaning 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 uses a specific verb 'Fetches' and a clear resource: 'the full content of a single CometChat documentation page'. It explicitly contrasts with sibling tools by emphasizing 'single page', distinguishing it from search or bundle-list operations. No ambiguity about what the tool does.

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

Usage Guidelines4/5

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

The description makes the intended use clear: fetch a known documentation page by URL or path when you need its full markdown content and metadata. It doesn't explicitly name alternatives or exclusion conditions, but the use case is evident from the resource and the sibling context.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleYesHuman-readable bundle title.
bundleYesBundle identifier.
contentYesThe full implementation recipe as markdown.
frameworkYesTarget framework/platform.
last_verifiedYesDate the bundle was last verified against live SDK versions.
prerequisitesYesPrerequisites before applying the bundle.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so no contradiction exists. The description adds genuine behavioral context by specifying that the result includes prerequisites, install commands, configuration, working code examples, and common pitfalls, which tells the agent what to expect from the tool beyond the read-only guarantee.

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 compact sentences front-load the core action and resource, then efficiently summarize bundle contents and supported platforms. Every sentence adds value and there is no redundant restatement of the title or schema.

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?

For a single-parameter read-only tool with an output schema, the description is nearly complete: it explains what the bundle contains and which platforms are covered. It falls just short by not explicitly pointing the agent to list_cometchat_bundles for discovering available bundle names, though the sibling tool name makes this inferable.

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%, and the parameter description already documents the kebab-case format and gives an example. The tool description adds little beyond saying the bundle is for a named integration scenario, so the schema carries the semantic weight.

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 uses a specific verb ('Returns') tied to a clear resource ('a curated implementation bundle') and a named integration scenario. It also enumerates what the bundle contains, distinguishing this tool from documentation search or bundle listing siblings.

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 intended use is implied: call this when you need a ready-made implementation bundle for a CometChat scenario. However, there is no explicit guidance on when to use it versus list_cometchat_bundles or fetch_cometchat_doc_page, and it does not mention that list_cometchat_bundles should be used first to discover valid bundle names.

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

list_cometchat_bundlesList CometChat Implementation BundlesA
Read-only
Inspect

Lists every available CometChat implementation bundle with its identifier, title, target framework, and last-verified date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalYesNumber of bundles available.
bundlesYesAll available implementation bundles.

TDQS

A4.5/5.0
Behavior4/5

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

The readOnlyHint annotation already signals this is a non-mutating operation. The description adds that the tool returns the full set of bundles, which is a meaningful behavioral guarantee beyond the annotation, and it lists the data fields returned.

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?

A single, information-dense sentence that front-loads the action and scope while also summarizing the output fields. Every part of the description earns its place, and there is no unnecessary repetition of the tool name or schema.

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?

For a no-parameter, read-only list operation with an output schema, the description is fully sufficient. An agent can determine when to call it)Skip and what it will receive without needing additional context.

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?

The tool takes no parametershol, so the schema is already 100% descriptive. No additional parameter explanation is needed; the description correctly focuses on what the response contains.

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 uses a precise verb ('Lists') and identifies the exact resource ('every available CometChat implementation bundle') plus the returned fields. This makes it easy to distinguish from the singular get_cometchat_implementation_bundle and the search-focused search_cometchat_docs tool.

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

Usage Guidelines4/5

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

The description clearly implies this is the enumeration/discovery tool for bundles, useful before fetching a specific bundle via get_cometchat_implementation_bundle. It does not explicitly state exclusions or name alternatives, but the zero-argument interface leaves little ambiguity in when it should be used.

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. Pages for the current version of each SDK and UI Kit are preferred over older versions, and each result reports its version label and whether it is current. To reach older docs, pass the version filter with that version's label.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return. Default 10, maximum 25.
queryYesSearch query. 1–500 characters.
versionNoOptional version label from the docs version picker, e.g. 'v7' or 'v5'. Each SDK and UI Kit numbers its versions independently, so a label matches every product that uses it. Omit to search all versions, with current versions preferred.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYesRanked search results.
totalAvailableYesTotal matching pages available (may exceed the returned count).

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the readOnlyHint annotation, the description discloses meaningful behaviors: results are ranked snippets, pages carry titles and direct links, current versions are preferred, and each result reports a version label and currency. This adds actionable behavioral detail that annotations alone do not provide.

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 is compact and front-loaded: the first sentence defines scope and output, the second explains version behavior and usage. Every sentence earns its place with no redundant filler.

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?

For a search tool with an output schema and readOnlyHint annotation, the description covers what the tool returns, what it searches, version handling, and how to access older content. Nothing essential for selecting or invoking it is missing.

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%, so the baseline is 3. The description adds value by explaining the version preference behavior and how the version filter interacts with it ('To reach older docs, pass the version filter'). This goes beyond the schema's dry parameter description.

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 states a specific verb and resource ('Searches CometChat documentation') and enumerates the content scope (SDK guides, UI Kit references, REST API, tutorials, OpenAPI specs). It also differentiates itself from sibling tools like fetch_cometchat_doc_page by emphasizing ranked snippets, titles, and direct links rather than page retrieval or bundle listing.

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 provides useful context on version behavior: current versions are preferred, and older docs require a version filter with the correct label. However, it does not explicitly say when to choose this tool over siblings like fetch_cometchat_doc_page, nor does it state exclusions or alternative conditions.

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.

  1. 4 tool updatesv0.1.6
    • Changedfetch_cometchat_doc_page1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "content": {
        +      "description": "Full page content as markdown (truncated if very large).",
        +      "type": "string"
        +    },
        +    "contentLength": {
        +      "description": "Content length in bytes after truncation.",
        +      "type": "number"
        +    },
        +    "redirectedFrom": {
        +      "description": "Path originally requested, present only when that page has moved. url and section describe the page it moved to.",
        +      "type": "string"
        +    },
        +    "section": {
        +      "description": "Documentation section the page belongs to.",
        +      "type": "string"
        +    },
        +    "title": {
        +      "description": "Page title.",
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "Canonical page URL.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "url",
        +    "section",
        +    "content",
        +    "contentLength"
        +  ],
        +  "type": "object"
        +}
    • Changedget_cometchat_implementation_bundle1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "bundle": {
        +      "description": "Bundle identifier.",
        +      "type": "string"
        +    },
        +    "content": {
        +      "description": "The full implementation recipe as markdown.",
        +      "type": "string"
        +    },
        +    "framework": {
        +      "description": "Target framework/platform.",
        +      "type": "string"
        +    },
        +    "last_verified": {
        +      "description": "Date the bundle was last verified against live SDK versions.",
        +      "type": "string"
        +    },
        +    "prerequisites": {
        +      "description": "Prerequisites before applying the bundle.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "description": "Human-readable bundle title.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "bundle",
        +    "title",
        +    "framework",
        +    "prerequisites",
        +    "last_verified",
        +    "content"
        +  ],
        +  "type": "object"
        +}
    • Addedlist_cometchat_bundles
    • Changedsearch_cometchat_docs2 fields changed
      • changedInput schema / properties / version / description
        Previous value: -"Optional documentation version filter, e.g. 'v4' or 'v3'."New value: +"Optional version label from the docs version picker, e.g. 'v7' or 'v5'. Each SDK and UI Kit numbers its versions independently, so a label matches every product that uses it. Omit to search all versions, with current versions preferred."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "results": {
        +      "description": "Ranked search results.",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "isCurrent": {
        +            "description": "False when the page documents an older version of its SDK or UI Kit.",
        +            "type": "boolean"
        +          },
        +          "section": {
        +            "description": "Documentation section the page belongs to.",
        +            "type": "string"
        +          },
        +          "snippet": {
        +            "description": "Matched excerpt with context.",
        +            "type": "string"
        +          },
        +          "title": {
        +            "description": "Page title.",
        +            "type": "string"
        +          },
        +          "url": {
        +            "description": "Direct link to the source page.",
        +            "type": "string"
        +          },
        +          "version": {
        +            "description": "Version label of the page's SDK or UI Kit, e.g. 'v7'. Omitted for pages that are not versioned.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "url",
        +          "snippet",
        +          "section",
        +          "isCurrent"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalAvailable": {
        +      "description": "Total matching pages available (may exceed the returned count).",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "results",
        +    "totalAvailable"
        +  ],
        +  "type": "object"
        +}
  2. 3 tool updatesv0.1.5
    • First observedfetch_cometchat_doc_page
    • First observedget_cometchat_implementation_bundle
    • First observedsearch_cometchat_docs

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: listing bundles, searching docs, fetching a full doc page, and retrieving a specific implementation bundle. No two tools overlap in functionality, so an agent can confidently select the right one.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (list_, search_, fetch_, get_), making the API predictable and easy to reason about. The prefix 'cometchat' further reinforces the domain.

Tool Count5/5

With only 4 tools, the server is well-scoped for its purpose of documentation and bundle retrieval. Each tool earns its place, and the count is within the ideal 3-15 range without unnecessary bloat.

Completeness5/5

The surface covers the essential operations: discovering bundles, getting a specific bundle, searching documentation, and fetching a full doc page. There are no obvious gaps for the stated domain, and version filtering is handled via the search tool.

Maintenance

ActivityNo data
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Adds 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.
    23 npm
    1
    MIT