Skip to main content
Glama

Search CometChat Documentation

search_cometchat_docs
Read-only

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.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum results, from 1 to 25; default 10.
queryYesPlain keywords, 1–500 characters; short queries work best. Name the platform or framework when the answer is platform-specific ("iOS delete message", "React UI Kit message list"); otherwise results span platforms. API names such as markAsRead are searchable, as are the languages of a page's code examples. Quotes and operators such as OR have no special meaning, and common words such as "how", "is" and "can" are not counted as keywords. A version written in the query ("v4") is matched as a keyword: it favours pages mentioning it but does not restrict results to that version, even when it is the whole query. To get one version's pages, put the label in the version filter instead.
versionNoVersion label from the docs version picker, e.g. 'v5'. The leading v is optional and case does not matter, so V7, 7 and v7.0 all name v7. Each SDK and UI Kit numbers its versions independently, so one label spans every product that uses it. A label no page carries returns no results rather than an error.

Output Schema

NameRequiredDescriptionDefault
resultsYesMatching pages, best first.
totalAvailableYesNumber of matching pages, which can exceed the rows returned. For a query of 4 to 8 distinct keywords it also counts the pages holding all but one of them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • addedInput schema / properties / limit / default
      Added value: +10
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum number of results to return. Default 10, maximum 25."New value: +"Maximum results, from 1 to 25; default 10."
    • changedInput schema / properties / limit / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / query / description
      Previous value: -"Search query. 1–500 characters."New value: +"Plain keywords, 1–500 characters; short queries work best. Name the platform or framework when the answer is platform-specific (\"iOS delete message\", \"React UI Kit message list\"); otherwise results span platforms. API names such as markAsRead are searchable, as are the languages of a page's code examples. Quotes and operators such as OR have no special meaning, and common words such as \"how\", \"is\" and \"can\" are not counted as keywords. A version written in the query (\"v4\") is matched as a keyword: it favours pages mentioning it but does not restrict results to that version, even when it is the whole query. To get one version's pages, put the label in the version filter instead."
    • changedInput schema / properties / version / description
      Previous 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."New value: +"Version label from the docs version picker, e.g. 'v5'. The leading v is optional and case does not matter, so V7, 7 and v7.0 all name v7. Each SDK and UI Kit numbers its versions independently, so one label spans every product that uses it. A label no page carries returns no results rather than an error."
    • changedOutput schema / properties / results / description
      Previous value: -"Ranked search results."New value: +"Matching pages, best first."
    • changedOutput schema / properties / results / items / properties / isCurrent / description
      Previous value: -"False when the page documents an older version of its SDK or UI Kit."New value: +"False when the page documents an older version of its SDK or UI Kit, or a doc set retired from the docs navigation, which may carry no version label."
    • changedOutput schema / properties / results / items / properties / section / description
      Previous value: -"Documentation section the page belongs to."New value: +"Documentation section the page belongs to, e.g. 'UI Kit / React'."
    • changedOutput schema / properties / results / items / properties / snippet / description
      Previous value: -"Matched excerpt with context."New value: +"Matched excerpt with context, up to 300 characters."
    • changedOutput schema / properties / results / items / properties / url / description
      Previous value: -"Direct link to the source page."New value: +"Absolute page url, accepted as-is by fetch_cometchat_doc_page."
    • changedOutput schema / properties / results / items / properties / version / description
      Previous value: -"Version label of the page's SDK or UI Kit, e.g. 'v7'. Omitted for pages that are not versioned."New value: +"Version label of the page's SDK or UI Kit, e.g. 'v7'. Absent on a page that carries no version, including the pages of a retired SDK or UI Kit."
    • changedOutput schema / properties / totalAvailable / description
      Previous value: -"Total matching pages available (may exceed the returned count)."New value: +"Number of matching pages, which can exceed the rows returned. For a query of 4 to 8 distinct keywords it also counts the pages holding all but one of them."
  2. Changed2 schema 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"
      +}
  3. First observed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description still adds substantial non-annotation context: match/fallback ranking, empty list rather than error on no match, snapshot staleness versus the live site, error codes, and the per-IP HTTP rate limit with 429/Retry-After. That is well beyond what the annotations provide.

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

Conciseness4/5

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

Front-loaded with purpose and sibling routing before behavioral detail, and every paragraph is ordered by likely need. It is dense and long, though — the '4 to 8 distinct keywords ... half weight' explanation is more mechanism than an agent strictly needs to choose or call the tool.

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 3-parameter search tool with an output schema and full annotation coverage, nothing essential is missing: staleness, empty-result semantics, error codes, rate limiting, and no-auth are all stated. Return-value explanation is appropriately delegated to the 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 description coverage is 100%, so a 3 is the floor; the description goes further by explaining cross-parameter behavior the schema cannot — that limit caps returned rows but never totalAvailable, and that there is no offset. It also clarifies that a version keyword in the query does not restrict results, pointing at the version filter instead.

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?

States a specific verb (searches) plus the exact resource scope — all CometChat documentation across named product areas — and the return shape (ranked excerpts with each page's url). It is immediately distinguishable from fetch_cometchat_doc_page (full page retrieval) and the bundle tools.

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

Usage Guidelines5/5

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

Explicitly routes the agent: 'When a page's url or path is already in hand, fetch_cometchat_doc_page returns that page in full', and 'for a common setup scenario ... list_cometchat_bundles names the implementation bundles'. Both the when-to-use and the when-to-use-something-else conditions are stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.