omnichat-expert-mcp
v1.1.2
Published
MCP Server especialista no projeto OmniChat web-app e Angular 18
Readme
OmniChat Expert MCP
MCP Server especialista no projeto OmniChat web-app e Angular 18.
Fornece recursos sobre arquitetura, convencoes, patterns Angular e ferramentas de busca no monorepo para uso dentro do Cursor IDE.
Instalacao rapida
1. Publicar no npm (uma vez, feito pelo admin)
npm login
npm publish2. Instalar no Cursor (cada colega)
npx omnichat-expert-mcp --setupO wizard vai:
- Detectar automaticamente o monorepo OmniChat (ou pedir o caminho)
- Pedir a chave de ativacao
- Configurar o Cursor automaticamente
Chave de ativacao: omnichat-mcp-2025
Depois, reinicie o Cursor. O MCP aparece automaticamente.
Configuracao manual (alternativa)
Se preferir configurar manualmente, adicione ao arquivo ~/.cursor/mcp.json:
{
"mcpServers": {
"omnichat-expert": {
"command": "npx",
"args": ["-y", "omnichat-expert-mcp"],
"env": {
"PROJECT_ROOT": "/caminho/do/monorepo/omnichat",
"OMNICHAT_MCP_KEY": "omnichat-mcp-2025"
}
}
}
}Comandos
| Comando | Descricao |
|---------|-----------|
| npx omnichat-expert-mcp --setup | Wizard de instalacao automatica |
| npx omnichat-expert-mcp --help | Mostra ajuda |
| npx omnichat-expert-mcp --version | Mostra versao |
| npx omnichat-expert-mcp | Inicia o server MCP (usado pelo Cursor) |
O que o MCP oferece
Resources (conhecimento estatico) — 7
| Resource | Descricao |
|----------|-----------|
| architecture | Visao completa da arquitetura do monorepo, libs, dominios, tech stack e relacionamentos |
| conventions | Convencoes de codigo: naming, estrutura de arquivos, imports, testes (mockProvider, it.each, private/protected) |
| angular-patterns | Patterns Angular: components, NgRx, signal store, services, routes, guards, testing, i18n |
| troubleshooting | Erros comuns e solucoes: circular deps, lazy loading, state, Transloco, Spectator, camelCase/snake_case |
| onboarding | Guia para novos devs: setup, estrutura do repo, workflow, como criar features, primeiros passos |
| testing-patterns | Padroes de teste com Spectator + Jest: mockProvider, it.each, respeito a private/protected, componentes, services, guards, effects |
| migration-guide | Guias de migracao: NgRx -> Signal Store, modules -> standalone, inject(), guards funcionais, @if/@for |
Tools — 10
| Tool | Descricao | Requer monorepo local |
|------|-----------|----------------------|
| get_component_template | Gera template completo de componente Angular (.ts, .html, .scss, .spec.ts) | Nao |
| get_service_template | Gera service com HttpClient, CRUD, conversao camelCase/snake_case e spec | Nao |
| get_store_template | Gera Signal Store (1 arquivo) ou NgRx completo (state, actions, reducer, selectors, effects) | Nao |
| get_lib_dependencies | Analisa dependencias entre libs; mostra quem importa quem e detecta ciclos | Sim |
| get_pr_checklist | Gera checklist de PR por tipo (feature, bugfix, refactor, migration) com secoes condicionais | Nao |
| scaffold_feature | Gera feature completa: component + template + SCSS + test + service + store + route + i18n | Nao |
| search_project_patterns | Busca patterns/texto no codigo do monorepo (grep-like) | Sim |
| search_angular_usage | Busca uso de features Angular (signals, guards, NgRx, transloco, etc.) | Sim |
| get_lib_info | Info detalhada de uma lib: estrutura, state, routes, exports | Sim |
| list_all_libs | Lista todas as libs do monorepo com dominio e features | Sim |
Desenvolvimento local
# Instalar dependencias
npm install
# Build
npm run build
# Watch mode
npm run dev
# Testar
node dist/index.js --help
OMNICHAT_MCP_KEY="omnichat-mcp-2025" node dist/index.jsTestar como npx local (sem publicar)
npm link
omnichat-expert-mcp --help
omnichat-expert-mcp --setup
npm unlink -g omnichat-expert-mcp # para remover depoisGerenciar chaves de ativacao
A chave e validada via hash SHA-256. Apenas o hash fica no codigo publicado.
Gerar hash de uma nova chave
node -e "console.log(require('crypto').createHash('sha256').update('NOVA-CHAVE-AQUI').digest('hex'))"Adicionar/revogar chaves
Edite o array VALID_KEY_HASHES em src/auth.ts:
const VALID_KEY_HASHES: string[] = [
'hash-da-chave-1',
'hash-da-chave-2', // adicione mais conforme necessario
];Depois: npm run build && npm publish
Estrutura do projeto
src/
index.ts # Entry point, registra resources e tools, CLI flags
auth.ts # Validacao de chave de ativacao (SHA-256)
setup.ts # Wizard interativo de instalacao
detect-project.ts # Auto-deteccao do monorepo e config do Cursor
resources/
architecture.ts # Resource: arquitetura do monorepo
conventions.ts # Resource: convencoes de codigo
angular-patterns.ts # Resource: patterns Angular
troubleshooting.ts # Resource: erros comuns e solucoes
onboarding.ts # Resource: guia para novos devs
testing-patterns.ts# Resource: padroes de teste Spectator/Jest
migration-guide.ts # Resource: guias de migracao
tools/
component-template.ts # Tool: gera template de componente
service-template.ts # Tool: gera template de service
store-template.ts # Tool: gera Signal Store ou NgRx
project-info.ts # Tool: info de libs (requer filesystem)
search-patterns.ts # Tool: busca no codigo (requer filesystem)
lib-dependencies.ts # Tool: analise de dependencias entre libs
pr-checklist.ts # Tool: checklist de PR
scaffold-feature.ts # Tool: scaffold de feature completaREADME na raiz vs MCP (resources/tools)
| Aspecto | README .md na raiz do projeto | MCP (estrutura atual) | |---------|------------------------------|------------------------| | Para quem | Humanos (dev lendo o repo). A IA so ve se o arquivo estiver aberto ou referenciado. | IA (Cursor): o modelo recebe o conteudo quando chama o resource/tool no chat. | | Quando entra em contexto | So se voce abrir o arquivo ou colar no prompt. | Automatico: ao perguntar "quais as convencoes?" ou usar uma tool, o MCP injeta o conteudo. | | Atualizacao | Commit no repo; todos que puxam o codigo veem. | Nova versao do pacote npm; colegas recebem ao usar `npx` (cache pode atrasar um pouco). | | Escopo | Um repo: documentacao vive junto do codigo. | Um pacote: o mesmo MCP serve qualquer pessoa que instale, em qualquer repo. |
Conclusao: Os dois se complementam. Use README (ou .md na raiz) para onboarding humano e referencia rapida no repo. Use MCP para a IA aplicar convencoes, gerar codigo e responder duvidas durante o desenvolvimento. Para eficiencia da IA no dia a dia, a estrutura MCP e mais eficiente: o modelo nao depende de voce ter um .md aberto; ele usa resources e tools sob demanda.
