Learning-Assistant-MCP
Um servidor MCP que ajuda desenvolvedores a entender o que estão construindo, explicando conceitos, revisando abordagens e guiando-os para melhores soluções.
Documentação
Servidor MCP Learning Assistant 🎓
Um servidor MCP (Model Context Protocol) educacional que ajuda desenvolvedores a aprender, entender código e melhorar suas habilidades de programação por meio de ferramentas com IA.
Recursos 🚀
Este servidor MCP oferece 8 ferramentas de aprendizado poderosas:
- explainConcept - Obtenha explicações simples de conceitos de programação com exemplos
- reviewCode - Receba feedback construtivo sobre seu código com sugestões de melhoria
- suggestBestPractice - Aprenda as melhores práticas da indústria para qualquer tarefa de programação
- compareApproaches - Compare diferentes soluções e entenda os tradeoffs
- generateLearningPath - Obtenha um roteiro estruturado para aprender qualquer tecnologia
- debugHelper - Entenda e corrija erros com ajuda guiada de depuração
- explainThisCode - Obtenha explicações detalhadas de como o código funciona
- quizMe - Teste seus conhecimentos com perguntas de prática geradas automaticamente
Instalação 📦
Pré-requisitos
- Node.js 18.0.0 ou superior
- Cursor IDE ou qualquer cliente compatível com MCP
Configuração
- Clone este repositório:
git clone https://github.com/YOUR_USERNAME/learning-assistant-mcp.git
cd learning-assistant-mcp
- Instale as dependências:
npm install
- Compile o projeto:
npm run build
- Configure seu cliente MCP (ex.: Cursor IDE):
Adicione ao seu ~/.cursor/mcp.json:
{
"mcpServers": {
"learning-assistant": {
"command": "node",
"args": [
"/absolute/path/to/learning-assistant-mcp/dist/index.js"
]
}
}
}
Substitua /absolute/path/to/learning-assistant-mcp pelo caminho real onde você clonou o repositório.
- Reinicie o Cursor IDE
Uso 💡
Depois de instalado, você pode usar as ferramentas no Cursor Chat:
Exemplos de Prompts
- "Explique o que são closures em JavaScript para um iniciante"
- "Revise este código e sugira melhorias"
- "Quais são as melhores práticas para tratamento de erros em React?"
- "Compare REST API vs GraphQL"
- "Crie um caminho de aprendizado para dominar TypeScript"
- "Ajude-me a depurar este erro: Cannot read property 'map' of undefined"
- "Explique o que este padrão regex faz: /^[a-z]+$/i"
- "Teste-me sobre JavaScript async/await com 5 perguntas"
Desenvolvimento 🛠️
# Run in development mode
npm run dev
# Build TypeScript
npm run build
# Run the built server
npm start
Estrutura do Projeto 📁
learning-assistant-mcp/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md
Referência de Ferramentas 📚
explainConcept
Explica conceitos de programação em termos acessíveis para iniciantes.
Parâmetros:
concept(string): O conceito a explicarlevel(opcional): "beginner" | "intermediate" | "advanced"language(opcional): Contexto da linguagem de programação
reviewCode
Revisa código e fornece feedback construtivo.
Parâmetros:
code(string): Código a revisarlanguage(string): Linguagem de programaçãocontext(opcional): O que o código deve fazerfocusAreas(opcional): Array de áreas de foco
suggestBestPractice
Sugere melhores práticas para tarefas de programação.
Parâmetros:
task(string): A tarefa ou áreatechnology(opcional): Framework/biblioteca específicocurrentApproach(opcional): Sua abordagem atual
compareApproaches
Compara diferentes abordagens de programação.
Parâmetros:
problem(string): O problema a resolverapproaches(array): Lista de abordagens para compararcriteria(opcional): Critérios de comparação
generateLearningPath
Cria roteiros de aprendizado estruturados.
Parâmetros:
topic(string): O que aprendercurrentLevel: Seu nível atualgoalLevel: Proficiência alvotimeCommitment(opcional): Tempo disponível
debugHelper
Ajuda a depurar erros e bugs.
Parâmetros:
error(string): Mensagem de erro ou descrição do bugcode(opcional): Código relevantelanguage(opcional): Linguagem de programaçãocontext(opcional): O que você estava fazendo
explainThisCode
Fornece explicações detalhadas de código.
Parâmetros:
code(string): Código a explicarlanguage(string): Linguagem de programaçãodetailLevel(opcional): "overview" | "detailed" | "line-by-line"
quizMe
Gera perguntas de prática.
Parâmetros:
topic(string): Tópico para o quizdifficulty(opcional): "easy" | "medium" | "hard"questionCount(opcional): Número de perguntas (1-10)questionType(opcional): Tipo de perguntas
Contribuindo 🤝
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Licença 📄
Licença MIT - consulte o arquivo LICENSE para detalhes
Autor ✨
Muhammad Yasir Khan
Suporte 💬
Se você tiver dúvidas ou precisar de ajuda, abra uma issue no GitHub.