usp-mcp
Allows interaction with the Moodle e-Disciplinas platform, providing tools to list courses, view course content (activities, materials), open activities, and download files from Moodle.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@usp-mcpList my courses and their grades"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
usp-mcp
MCP (Model Context Protocol) server para os sistemas estudantis da Universidade de São Paulo — Moodle (e-Disciplinas), JupiterWeb, notas, faltas, grade horária e tarefas — usando o Heidy backend como camada de acesso segura.
Com ele, um assistente (Claude Desktop, Claude Code, ou qualquer cliente MCP) consegue responder coisas como "quais atividades tenho no Moodle essa semana?", "como está minha média em ACH2034?" ou "monta minha grade de horários".
Como funciona
cliente MCP ──stdio/HTTP──▶ usp-mcp (Python/FastAPI) ──HTTPS──▶ Heidy backend ──▶ Moodle / JupiterWebA senha nunca viaja em texto claro. No login, o servidor busca a chave pública atual do backend (
GET /auth/login-key) e sela a Senha Única num envelope HPKE-Base(X25519, HKDF-SHA256, AES-256-GCM). Só o backend consegue abri-lo, e a senha não é retida em lugar nenhum deste processo depois do login.A sessão vive só em memória. O login devolve um bearer token e um credential blob (ciphertext opaco que só o backend abre); ambos ficam apenas na memória do processo e são descartados no logout.
Related MCP server: mcpUPB
Instalação
pip install . # ou: pip install -e .[dev] para desenvolverUso
stdio (Claude Desktop / Claude Code)
usp-mcpConfiguração para Claude Desktop/Code (mcpServers):
{
"mcpServers": {
"usp": {
"command": "usp-mcp"
}
}
}HTTP (FastAPI + Streamable HTTP)
usp-mcp --http --port 8000
# ou diretamente:
uvicorn usp_mcp.app:app --host 0.0.0.0 --port 8000Endpoint MCP:
http://localhost:8000/mcpHealth check (deste serviço e do backend):
http://localhost:8000/health
Variáveis de ambiente
Variável | Efeito |
| Backend alternativo (padrão: |
| Número USP para login automático na primeira ferramenta |
| Senha Única para login automático |
| Pasta padrão para |
Sem HEIDY_USERNAME/HEIDY_PASSWORD, chame a ferramenta usp_login
primeiro.
Ferramentas
Ferramenta | O que faz |
| Abre/encerra a sessão com número USP + Senha Única |
| Perfil do estudante |
| Disciplinas no e-Disciplinas |
| Conteúdo de uma disciplina (atividades, materiais) |
| Abre uma atividade pelo URL (conteúdo, links, metadados de arquivo) |
| Baixa um arquivo do Moodle (PDF, slides, ...) para o disco (até 10 MB) |
| Sincroniza grade, notas, faltas e Moodle do JupiterWeb |
| Semestres do estudante |
| Grade horária semanal de um semestre |
| Matrículas (turmas), com horários e professor |
| Notas e média ponderada/status de aprovação por turma |
| Faltas e situação frente ao limite |
| Tarefas do planner (provas, entregas, leituras) |
Desenvolvimento
pip install -e .[dev]
pytestOs testes cobrem o esquema de criptografia do envelope (compatível com o vault do backend), o cliente HTTP (com backend simulado) e a superfície de ferramentas MCP.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/iDavi/usp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server