Skip to main content
Glama
REQUISITOS.md7.42 kB
# Requisitos do Sistema – MCP Gateway Este documento apresenta os requisitos essenciais para o desenvolvimento, operação e evolução do MCP Gateway. Ele serve como referência central para desenvolvedores, administradores, gestores e demais stakeholders. --- ## Sumário - [1. Requisitos Funcionais](#1-requisitos-funcionais) - [2. Requisitos Não-Funcionais](#2-requisitos-não-funcionais) - [3. Requisitos de Negócio](#3-requisitos-de-negócio) - [4. Requisitos Operacionais](#4-requisitos-operacionais) - [Legenda](#legenda) - [Observações e Boas Práticas](#observações-e-boas-práticas) --- ## 1. Requisitos Funcionais Definem as funcionalidades obrigatórias para atender as necessidades dos usuários e administradores. Cada requisito funcional deve ser validado por meio de testes e revisões de usabilidade. *(Status atualizado em 2025-05-10 com base na documentação e TODOs existentes. Para detalhes da implementação, consulte `docs/BACKEND_DOCUMENTATION.md` e `docs/CHANGELOG.md`.)* - **RF01:** Permitir login de usuários, administradores de grupo e administrador global via portal web e API. - *Status: Concluído (Backend API e Frontend básico implementados).* - **RF02:** Permitir ao administrador global criar, editar e remover grupos, além de designar administradores de grupo. - *Status: Concluído (Endpoints backend implementados: `POST /tools/grupos`, `PUT /tools/grupos/{grupo}`, `DELETE /tools/grupos/{grupo}`, `POST /tools/grupos/{grupo}/admins`).* - **RF03:** Permitir ao administrador de grupo adicionar/remover usuários do grupo e promover usuários a administradores do grupo. - *Status: Concluído (Endpoints backend implementados: `POST /tools/grupos/{grupo}/usuarios`, `DELETE /tools/grupos/{grupo}/usuarios/{username}`, `POST /tools/grupos/{grupo}/promover-admin`).* - **RF04:** Permitir ao administrador de grupo criar, editar e remover ferramentas do grupo. - *Status: Parcialmente Concluído (Backend permite adicionar/remover ferramentas a grupos: `POST /tools/grupos/{grupo}/ferramentas`, `DELETE /tools/grupos/{grupo}/ferramentas/{tool_id}`. A "criação/edição" de ferramentas no contexto do grupo refere-se principalmente à associação de nomes/IDs de ferramentas, não à definição completa da ferramenta em si dentro do grupo).* - **RF05:** Permitir ao usuário comum consumir ferramentas às quais tem acesso. - *Status: Concluído (Endpoints backend implementados: `GET /user_tools` e exemplos como `GET /tools/ferramenta_x`).* - **RF06:** Permitir ao usuário solicitar acesso a grupos (workflow de aprovação). - *Status: Concluído (Endpoints backend em `app/groups/requests_routes.py` e Frontend básico implementados).* - **RF07:** Permitir ao administrador global auditar todas as ações do sistema, com trilha de auditoria detalhada. - *Status: Pendente (Item em `docs/TODO.md`).* - **RF08:** Expor documentação automática e interativa da API (Swagger/Redoc), sempre atualizada. - *Status: Concluído (Fornecido pelo FastAPI em `/docs` e `/redoc`).* - **RF09:** Permitir integração futura com banco NoSQL e SSO corporativo, com arquitetura preparada para expansão. - *Status: Pendente (Migração para BD e implementação de SSO são itens futuros em `docs/TODO.md`).* --- ## 2. Requisitos Não-Funcionais Garantem qualidade, segurança, escalabilidade e usabilidade do sistema. Devem ser considerados em todas as fases do ciclo de vida do software. - **RNF01:** O sistema deve ser seguro, utilizando autenticação JWT e RBAC (controle de acesso baseado em papéis), com proteção contra ataques comuns (XSS, CSRF, etc). - *Status: Parcialmente Concluído (Autenticação JWT e RBAC implementados. Headers de segurança adicionais e revisão de CSRF estão em `docs/TODO.md`).* - **RNF02:** O sistema deve ser escalável e modular, pronto para ambientes de produção e fácil de manter. - *Status: Em Andamento (Estrutura modular existe, escalabilidade depende da migração de persistência e otimizações futuras).* - **RNF03:** O frontend deve ser responsivo, acessível (WCAG 2.1), e funcionar integrado ao backend. - *Status: Em Andamento (Frontend básico integrado. Responsividade e acessibilidade WCAG 2.1 requerem avaliação e melhorias contínuas).* - **RNF04:** O backend deve registrar logs detalhados de todas as ações administrativas e de acesso, com níveis configuráveis. - *Status: Pendente (Melhoria do sistema de logging é um item em `docs/TODO.md`).* - **RNF05:** O sistema deve ser facilmente auditável e extensível, com código limpo e documentação técnica. - *Status: Em Andamento (Documentação técnica existe e está sendo revisada. Extensibilidade e auditoria completa dependem de RF07 e RNF04).* - **RNF06:** O sistema deve permitir deploy em ambiente cloud (nuvem) ou on-premises (local), com scripts e automação. - *Status: Pendente (Preparação para containerização e deployment são itens em `docs/TODO.md`).* - **RNF07:** O frontend deve suportar internacionalização (i18n) e ser preparado para múltiplos idiomas. - *Status: Pendente (Item em `docs/TODO.md`).* --- ## 3. Requisitos de Negócio Asseguram que o sistema atenda às necessidades estratégicas e operacionais da organização, promovendo autonomia e governança. - **RN01:** Garantir segregação de acesso entre grupos/projetos, com políticas claras de permissão. - **RN02:** Permitir autoatendimento para criação de ferramentas e gestão de usuários, reduzindo dependência de TI. - **RN03:** Permitir que cada grupo/projeto tenha autonomia sobre suas ferramentas e usuários, com limites configuráveis. - **RN04:** Permitir que o administrador global tenha visão e controle total do ambiente, com dashboards e relatórios. - **RN05:** Permitir integração com sistemas legados e APIs internas, com conectores e documentação de integração. --- ## 4. Requisitos Operacionais Asseguram a operação, manutenção e evolução do sistema, facilitando o suporte e a continuidade do serviço. - **RO01:** O sistema deve ser facilmente monitorável (healthcheck, logs, métricas), com alertas configuráveis. - **RO02:** O sistema deve permitir backup e restauração dos dados de configuração, com procedimentos documentados. - **RO03:** O sistema deve ser documentado e possuir onboarding rápido para novos usuários e administradores, com tutoriais e FAQs. --- ## Legenda - **JWT:** JSON Web Token - **RBAC:** Role-Based Access Control (Controle de Acesso Baseado em Papéis) - **SSO:** Single Sign-On (Autenticação Única) - **i18n:** Internacionalização - **WCAG:** Web Content Accessibility Guidelines - **API:** Application Programming Interface --- ## Observações e Boas Práticas - Para detalhes de endpoints, payloads e exemplos de uso, consulte o arquivo [`API.md`](API.md) e a documentação Swagger gerada pelo backend. - Este documento deve ser revisado e atualizado periodicamente para refletir mudanças nas necessidades do negócio ou na arquitetura do sistema. - Utilize issues e pull requests para propor alterações e manter o histórico de decisões. - Recomenda-se a revisão colaborativa deste documento por todas as áreas envolvidas (negócio, desenvolvimento, operações e segurança). - Mantenha a documentação sempre alinhada com o código-fonte e as práticas de DevOps adotadas pelo time.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jowpereira/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server