Skip to content

KaioBorgesDev/siga-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIGA MCP Server

MCP Server para o SIGA do Centro Paula Souza / Fatec.
Expõe dados acadêmicos (faltas, notas, aulas) como tools para agentes de IA.

Arquitetura

Clean Architecture em 4 camadas:

domain/         → Entidades e interfaces (zero deps externas)
application/    → Use cases
adapters/       → MCP tools, parsers, repositórios, gateways
infrastructure/ → Entrypoint, configuração

Instalação

npm install

Uso

Modo desenvolvimento

npm run dev

Integrar com Claude Desktop

Adicione ao claude_desktop_config.json:

{
  "mcpServers": {
    "siga": {
      "command": "node",
      "args": ["/caminho/para/siga-mcp/src/infrastructure/server.js"]
    }
  }
}

Localização do arquivo de config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Integrar com Cursor

Adicione ao .cursor/mcp.json do projeto:

{
  "mcpServers": {
    "siga": {
      "command": "node",
      "args": ["./src/infrastructure/server.js"]
    }
  }
}

Tools disponíveis

Tool Descrição
authenticate Abre o browser para login SSO. Sempre chame primeiro.
check_session Verifica se a sessão está ativa e quanto tempo resta.
get_faltas Retorna faltas por disciplina com status de risco.
get_aulas Retorna conteúdo das aulas (filtro por disciplina opcional).
get_notas Retorna notas e médias por disciplina.

Exemplo de fluxo com agente

Você: "Quais disciplinas estou em risco de reprovação por falta?"

Agente:
  1. check_session → sessão expirada
  2. Pede para o usuário autenticar: "Preciso que você faça login. Chamo authenticate."
  3. authenticate → browser abre, usuário loga
  4. get_faltas → retorna dados
  5. Responde com análise das disciplinas em risco

Testes

npm test
npm run test:coverage

Ajustando os parsers

Os parsers em src/adapters/parsers/ usam seletores CSS para extrair dados do HTML do SIGA.
Como o GeneXus pode variar o HTML entre versões, pode ser necessário ajustar os seletores.

Para inspecionar o HTML real, use o DevTools do browser durante o authenticate() e
observe as respostas das requisições POST para app.aspx.

About

MCP Server para o SIGA do Centro Paula Souza / Fatec. Expõe dados acadêmicos (faltas, notas, aulas) como tools para agentes de IA.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors