CometChat MCP
Adicione chat em tempo real, chamadas de voz e vídeo, agentes de IA e moderação ao seu aplicativo.
Documentação
Servidor MCP do CometChat
Adicione chat em tempo real, voz, vídeo e moderação ao seu aplicativo por meio do seu agente de codificação com IA.
Servidor MCP de primeira parte do CometChat. Conecte Claude, Cursor, Windsurf, VS Code Copilot, Codex ou qualquer outro agente compatível com Model Context Protocol e integre o CometChat ao seu aplicativo a partir de prompts em linguagem natural.
Peça ao agente: "adicione uma aba de chat onde os usuários possam enviar mensagens diretas entre si" — ele lê a documentação do CometChat, escolhe os componentes certos para a sua stack e escreve o código de integração.
Somente leitura. Sem conta, sem chave de API, sem autenticação necessária.
Demonstração

Um agente de IA lendo a documentação do CometChat e escrevendo uma integração de chat funcional a partir de um único prompt.
Instalação rápida
| Agente | Como adicionar |
|---|---|
| Claude.ai / Claude Desktop | Configurações → Conectores → Adicionar conector personalizado → URL: https://mcp.cometchat.com/mcp |
| Cursor | Cmd+Shift+P → Abrir configurações do MCP → Adicionar MCP personalizado → colar a configuração abaixo |
| Windsurf | Plugins (ícone de martelo) → Gerenciar plugins → Ver configuração bruta → colar a configuração abaixo |
| VS Code (Copilot Agent) | Cmd+Shift+P → MCP: Adicionar servidor MCP → URL: https://mcp.cometchat.com/mcp, Transporte: 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 |
Trecho de configuração (Cursor / Windsurf / clientes MCP genéricos)
{
"mcpServers": {
"cometchat": {
"url": "https://mcp.cometchat.com/mcp"
}
}
}
Uso
Após conectar, peça ao seu agente qualquer um destes:
- "Como instalo o React UI Kit no meu projeto Vite?"
- "Explique o chat multi-tenant para um SaaS Next.js onde os workspaces são isolados."
- "Mostre como adicionar indicadores de presença e pontos de digitação à minha lista de conversas no iOS."
- "Configure a moderação de conteúdo para que palavras banidas sejam bloqueadas antes da entrega."
- "Crie um widget de chat sem código para o meu site Webflow."
- "Qual é o limite de taxa para envio de mensagens e qual código de erro recebo quando o atinjo?"
O agente lê a documentação do CometChat, puxa o pacote de implementação relevante e escreve o código de integração no seu projeto.
Ferramentas
search_cometchat_docs— Pesquisa em guias de SDK, referências de UI Kit, documentação da API REST e especificações OpenAPI. Retorna trechos classificados com títulos + links diretos. Filtro opcionalversion.fetch_cometchat_doc_page— Busca o conteúdo completo de qualquer página de documentação como markdown por URL ou caminho relativo.get_cometchat_implementation_bundle— Retorna um pacote de implementação selecionado para um cenário nomeado — pré-requisitos, comandos de instalação, configuração, código funcional.list_cometchat_bundles— Lista todos os pacotes de implementação disponíveis (identificador, título, framework, data da última verificação) para descoberta.
Todas as quatro carregam readOnlyHint: true, uma anotação title e um outputSchema declarado com resultados estruturados. Nomes têm ≤ 64 caracteres. As descrições descrevem apenas contratos — sem instruções comportamentais para o agente, sem roteamento entre ferramentas, sem linguagem de marketing.
Recursos
| URI | Finalidade |
|---|---|
cometchat://skills/overview | Habilidade de orientação do agente — Resumo do produto, orientação de decisão, fluxo de trabalho, armadilhas comuns, lista de verificação de verificação |
cometchat://bundles/react-uikit-quickstart | React UI Kit instalação + init + login + superfície de chat |
cometchat://bundles/react-native-uikit-quickstart | React Native UI Kit com navegação e tela de chat |
cometchat://bundles/flutter-uikit-quickstart | Flutter UI Kit instalação + init + chat básico |
cometchat://bundles/ios-uikit-quickstart | iOS UI Kit (SwiftUI) instalação + visualização de chat |
cometchat://bundles/android-uikit-quickstart | Android UI Kit (Jetpack Compose) instalação + tela de chat |
cometchat://bundles/js-sdk-messaging-basics | SDK JavaScript puro — enviar/receber mensagens de texto e mídia |
cometchat://bundles/widget-embed | Widget sem código para incorporação em HTML, Squarespace, Webflow, Wix, WordPress, Shopify |
cometchat://bundles/moderation-setup | Regras de moderação de IA, moderação de imagens, webhooks |
cometchat://bundles/multi-tenant-chat | Chat SaaS multi-tenant — isolamento de tenant, Auth Tokens emitidos pelo servidor |
cometchat://bundles/presence-and-typing | Presença online, indicadores de digitação, recibos de leitura |
Como funciona
- Você solicita ao seu agente em linguagem natural.
- O agente lê a habilidade de orientação (
cometchat://skills/overview) para entender qual ferramenta/pacote atende à sua solicitação. - Para os principais cenários, o agente puxa um pacote de implementação selecionado — código pronto para execução com pré-requisitos, comandos de instalação, configuração e exemplos funcionais.
- Para perguntas de cauda longa, o agente pesquisa na documentação do CometChat e lê páginas de referência específicas.
- O agente escreve o código no seu projeto, usando o pacote como fonte da verdade e a estrutura do seu projeto como restrição.
CometChat em 30 segundos
O CometChat é uma plataforma de comunicações em tempo real para adicionar chat, voz e videochamadas a aplicativos web e móveis. Usado em produção em SaaS, marketplaces, jogos, saúde, educação e plataformas de criadores.
- Nível gratuito: primeiros 100 usuários ativos mensais, sem necessidade de cartão de crédito.
- SDKs: JavaScript, React Native, iOS, Android, Flutter.
- UI Kits: React, React Native, iOS, Android, Flutter, Angular, Vue.
- Sem código: widget de chat para qualquer site HTML.
- Cadastro:
app.cometchat.com— você precisará de um App ID, Auth Key e Região para compilar com o código que o agente escreve.
Identidade do servidor
| Campo | Valor |
|---|---|
| Nome de exibição | CometChat Docs |
| Versão | 0.1.6 |
| Protocolo | MCP 2025-06-18 |
| Transporte | HTTP transmissível (com SSE) |
| Autenticação | Nenhuma (somente documentação pública) |
| Capacidades | tools, resources |
| Endpoint de saúde | GET https://mcp.cometchat.com/health |
Arquitetura
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
- Servidor sem estado, endpoint universal único, sem estado específico de usuário.
- O índice de pesquisa é reconstruído a partir de
github.com/cometchat/docsa cada push para o branchmaindesse repositório. - Os pacotes de implementação carregam uma data
last_verifiede são reverificados contra as versões atuais do SDK trimestralmente.
Desenvolvimento local
# 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
O servidor escuta em http://0.0.0.0:3000 por padrão. Sonda de saúde em GET /health, endpoint MCP em POST /mcp.
Inspecionar com o MCP Inspector
npx @modelcontextprotocol/inspector
# add server: http://localhost:3000/mcp
Você deve ver todas as 4 ferramentas com readOnlyHint: true e todos os 11 recursos.
Estrutura do repositório
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
Configuração
| Variável de ambiente | Padrão | Observações |
|---|---|---|
PORT | 3000 | Porta HTTP |
HOST | 0.0.0.0 | Host de vinculação |
DOCS_BASE_URL | https://www.cometchat.com/docs | Usado para URLs em respostas + o fallback de busca .md |
INDEX_PATH | ./data/index.sqlite | Localização do índice SQLite FTS5. O servidor ainda inicia se ausente; a pesquisa retorna backend_unavailable e /health é 503. |
BUNDLES_DIR | ./bundles | Diretório de pacotes Markdown |
SKILLS_DIR | ./skills | Diretório da habilidade de orientação (overview.md) |
FETCH_TIMEOUT_MS | 5000 | Timeout HTTP por busca |
LOG_LEVEL | info | debug / info / warn / error |
NODE_ENV | development | production torna o carregamento de pacotes estrito — um pacote malformado aborta a inicialização em vez de ser ignorado |
ALLOWED_HOSTS | <HOST>:<PORT>,localhost:<PORT>,127.0.0.1:<PORT> | Lista de permissões de cabeçalho Host separada por vírgulas para proteção contra rebinding de DNS |
ALLOWED_ORIGINS | não definido | Lista de permissões de Origin do navegador separada por vírgulas para /mcp. Não definido não permite nenhum: uma solicitação com um Origin recebe 403. Clientes que não enviam Origin (IDEs, CLIs, conectores hospedados) não são afetados |
DNS_REBINDING_PROTECTION | true | Defina false somente se um upstream já validar Host |
RATE_LIMIT_ENABLED | true | Defina false para desativar a limitação de taxa por IP em /mcp. Exatamente true ou false; outros valores falham na inicialização |
RATE_LIMIT_MAX | 120 | Máximo de solicitações por janela por IP. Inteiro positivo; 0 falha na inicialização (desative com RATE_LIMIT_ENABLED=false) |
RATE_LIMIT_WINDOW_MS | 60000 | Janela de limitação de taxa em ms. Inteiro positivo |
INDEX_AUTO_REFRESH | false | Defina true para reconstruir o índice de pesquisa no contêiner quando cometchat/docs mudar. Requer git na imagem e um INDEX_WORK_DIR gravável. |
INDEX_POLL_INTERVAL_MS | 600000 | Com que frequência verificar o repositório de documentação por um novo commit (um git ls-remote, ~1s) |
INDEX_WORK_DIR | ./data/generations | Onde as gerações de índice reconstruídas são gravadas (tmpfs em produção) |
INDEX_KEEP_GENERATIONS | 2 | Gerações de índice anteriores retidas em disco para fallback instantâneo |
INDEX_MIN_PAGES | 2000 | Piso absoluto: um índice candidato com menos páginas é rejeitado |
INDEX_MAX_DROP_RATIO | 0.2 | Piso relativo: rejeitar um candidato que perca mais do que essa fração da contagem de páginas servidas, ou das páginas servidas cujas versões vêm da navegação docs.json |
DOCS_REPO_URL | https://github.com/cometchat/docs.git | Repositório público de documentação; clonado anonimamente, sem credenciais |
DOCS_REF | main | Branch a seguir |
DOCS_COMMIT_PIN | não definido | Congelar em um commit e parar de seguir HEAD (válvula de escape para incidentes) |
POSTHOG_KEY | não definido | Chave de API do projeto PostHog. Não definido = análises de uso totalmente desativadas (no-op) |
POSTHOG_HOST | https://us.i.posthog.com | Host da instância PostHog |
ANALYTICS_SALT | não definido | Necessário quando POSTHOG_KEY está definido (as análises permanecem desativadas sem ele). Salga impressões digitais de clientes/hashes de IP; rotacioná-lo redefine todas as impressões digitais |
Implantação
Consulte DEPLOY.md para build de contêiner, ambiente e notas de plataforma.
Marketplaces
A mesma URL do servidor está listada em vários marketplaces de agentes:
| Marketplace | Listagem |
|---|---|
| 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 |
Suporte
- Problemas / feedback: abra um problema neste repositório.
- Suporte do CometChat:
support@cometchat.com. - Status MCP ao vivo:
curl https://mcp.cometchat.com/healthretorna{"status":"ok"}quando saudável.
Contribuindo
PRs são bem-vindos — especialmente:
- Novos pacotes de implementação para cenários pouco atendidos (coloque um arquivo markdown em
bundles/com o frontmatter necessário). - Atualizações de pacotes quando as versões do SDK mudarem (a data
last_verifiedno frontmatter do pacote aciona um aviso de CI se tiver mais de 6 meses). - Melhorias de ferramentas por trás do contrato existente somente leitura.
Fora do escopo hoje:
- Ferramentas que gravam no aplicativo CometChat de um cliente (conector autenticado separado, no roadmap).
- Ferramentas mistas de leitura/gravação (regra de rejeição automática da Anthropic).
Privacidade
O servidor MCP do CometChat é somente leitura e não requer conta, chave de API ou autenticação. Ele serve apenas a documentação pública do CometChat e não solicita, armazena ou transmite seu código, prompts ou dados pessoais. Metadados padrão de solicitação (como endereço IP) podem ser processados transitoriamente para limitação de taxa e prevenção de abuso.
Para detalhes completos, consulte a política de privacidade do CometChat: cometchat.com/legal-privacy-policy.
Licença
Apache-2.0. Consulte LICENSE.