Skip to main content
Glama

MCP Test Server

by yvanfreitas
STRUCTURE.md3.75 kB
# 📁 Estrutura do Projeto MCP Test Server ## 🏗️ **Organização por Domínios** ``` MCP-test/ ├── 📄 mcp-server.js # Servidor MCP principal (refatorado) ├── 📄 server.js # Servidor HTTP (para testes) ├── 📄 test-client.js # Cliente de teste HTTP ├── 📄 warp-mcp-config.json # Configuração do Warp ├── 📄 package.json # Configuração Node.js ├── 📄 README.md # Documentação └── 📁 src/ # Código fonte organizado ├── 📁 data/ │ └── 📄 mockData.js # Dados mockados centralizados ├── 📁 domains/ # Domínios de negócio │ ├── 📄 users.js # Serviço e schemas de usuários │ ├── 📄 tasks.js # Serviço e schemas de tarefas │ └── 📄 search.js # Serviço e schema de busca └── 📁 utils/ └── 📄 mcpResponse.js # Utilitário para formatação MCP ``` ## 🔄 **Separação de Responsabilidades** ### **📊 Data Layer** (`src/data/`) - **`mockData.js`**: Dados centralizados - Arrays de users, tasks e metrics - Única fonte da verdade para dados ### **🏢 Domain Layer** (`src/domains/`) - **`users.js`**: Domínio de usuários - `UserService`: Lógica de negócio - `userToolSchemas`: Schemas MCP - Operações: getAll, getById, create, search - **`tasks.js`**: Domínio de tarefas - `TaskService`: Lógica de negócio - `taskToolSchemas`: Schemas MCP - Operações: getAll, getById, create, update, search - **`search.js`**: Domínio de busca - `SearchService`: Busca cross-domain - `searchToolSchema`: Schema MCP - Integra busca em users e tasks ### **🛠️ Utils Layer** (`src/utils/`) - **`mcpResponse.js`**: Formatação de resposta - Converte dados para formato MCP - Padroniza estrutura de resposta ### **🖥️ Server Layer** (`mcp-server.js`) - **Configuração MCP**: Setup do servidor - **Registro de Tools**: Lista todas as ferramentas - **Roteamento**: Direciona chamadas para serviços - **Error Handling**: Tratamento de erros ## ✨ **Vantagens da Refatoração** ### **📖 Legibilidade** - ✅ Código organizado por domínio - ✅ Responsabilidades bem definidas - ✅ Arquivos menores e focados ### **🔧 Manutenibilidade** - ✅ Fácil adição de novos domínios - ✅ Alterações isoladas por contexto - ✅ Reutilização de código ### **🧪 Testabilidade** - ✅ Serviços independentes - ✅ Lógica de negócio isolada - ✅ Mocks centralizados ### **📈 Escalabilidade** - ✅ Estrutura preparada para crescimento - ✅ Padrões consistentes - ✅ Separação clara de camadas ## 🚀 **Como Usar** ### **Servidor MCP (Warp)** ```bash npm run mcp ``` ### **Servidor HTTP (Desenvolvimento)** ```bash npm start ``` ### **Modo Watch (Desenvolvimento)** ```bash npm run mcp:dev # MCP Server npm run dev # HTTP Server ``` ## 🛠️ **Ferramentas Disponíveis** | Tool | Domínio | Descrição | |------|---------|-----------| | `get_users` | Users | Lista usuários | | `get_user` | Users | Busca usuário por ID | | `create_user` | Users | Cria novo usuário | | `get_tasks` | Tasks | Lista tarefas | | `create_task` | Tasks | Cria nova tarefa | | `search` | Search | Busca global | ## 📋 **Próximos Passos Sugeridos** 1. **🧪 Testes Unitários**: Adicionar testes para cada domínio 2. **📊 Validação**: Schemas de entrada mais robustos 3. **💾 Persistência**: Substituir mock por banco de dados 4. **🔐 Autenticação**: Sistema de usuário/permissões 5. **📈 Métricas**: Logs e monitoramento 6. **📚 Documentação**: JSDoc nos serviços

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/yvanfreitas/MCP-test'

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