mcp-adalove
Click on "Deploy 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., "@mcp-adalovelist this week's activities for turma 1T"
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.
mcp-adalove
Servidor MCP (leitura, somente GET) para o Adalove — plataforma acadêmica do Inteli. Ver CLAUDE.md para as regras de segurança do projeto e docs/v1.md para a especificação completa desta versão.
O que esta versão faz
Uma única tool: listar_semana(numero_semana?, turma?, detalhado?), que
retorna markdown com as atividades de uma semana de uma turma.
Related MCP server: School Attendance MCP Server
Instalação
Requer Python ≥ 3.11 e uv.
uv syncConfiguração — ADALOVE_REFRESH_TOKEN
O servidor renova o access token automaticamente via Cognito, então só precisa de um refresh token configurado uma vez (dura semanas — ver docs/01-auth-tokenizacao.md).
Como obter o refresh token
Faça login normalmente em https://adalove.inteli.edu.br.
Abra o DevTools do navegador (F12) → aba Application (Chrome) ou Storage (Firefox) → Local Storage →
https://adalove.inteli.edu.br.Procure uma chave no formato
CognitoIdentityServiceProvider.6v6iqlcv6hl5p3u628geho1cjp.<sub>.refreshToken(o<sub>é um UUID específico da sua conta).Copie o valor — é uma string opaca longa (não é um JWT).
Nunca cole esse valor em um arquivo do projeto, em um commit, ou em
qualquer lugar que não seja a configuração de ambiente da sua ferramenta
MCP. Trate-o como uma senha: com ele, qualquer cliente HTTP consegue gerar
access tokens novos em seu nome (ver docs/01, seção "Renovação via
refresh_token").
Claude Desktop
Edite o arquivo de configuração do Claude Desktop
(claude_desktop_config.json) e adicione:
{
"mcpServers": {
"adalove": {
"command": "uv",
"args": ["--directory", "/caminho/absoluto/para/mcp-adalove", "run", "mcp-adalove"],
"env": {
"ADALOVE_REFRESH_TOKEN": "<seu refresh token>"
}
}
}
}Reinicie o Claude Desktop depois de editar.
Se ADALOVE_REFRESH_TOKEN não estiver configurado, o servidor sobe
normalmente (não derruba o processo) — a tool apenas responde explicando
como configurá-lo.
Rodando os testes
Todos os testes rodam contra fixtures locais, sem rede e sem token:
uv run pytestTestando contra a API real
uv run scripts/smoke_test.pyEsse script faz chamadas reais (GET /sections, GET /sections/{uuid}/userdata)
usando o ADALOVE_REFRESH_TOKEN do ambiente e imprime o markdown formatado.
Não é executado automaticamente — é o passo de validação manual do usuário,
fora do escopo do build.
Escopo
Ver docs/v1.md §9 ("Escopo negativo") para o que foi deliberadamente deixado de fora desta versão.
Available Tools
1 toollistar_semanaA
Lista as atividades de uma semana de uma turma do Adalove.
Args: numero_semana: número da semana (ex.: 5 casa com "Semana 05"). Se omitido, a semana é inferida (atividade com data mais próxima de hoje, ou cálculo a partir do início da turma). turma: caption ou uuid da turma. Se omitido, usa a turma aberta (ou pede para escolher, se houver mais de uma). detalhado: se True, mostra a descrição completa de cada atividade em vez de truncada em ~200 caracteres.
| Name | Required | Description | Default |
|---|---|---|---|
| turma | No | ||
| detalhado | No | ||
| numero_semana | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem annotations, a descrição precisa revelar comportamento e o faz bem: informa a inferência da semana, o fallback de turma, e o truncamento padrão de ~200 caracteres com a opção 'detalhado'. Esse nível de detalhe vai além do esquema e ajuda o agente a prever o resultado da chamada.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A descrição é objetiva, com frase de propósito na frente e seção 'Args' organizada. Cada frase agrega valor: o comportamento de cada parâmetro é explicado sem redundância ou texto desnecessário.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para uma ferramenta de leitura com três parâmetros opcionais e nenhuma annotation, a descrição cobre todos os comportamentos relevantes: inferência, fallbacks, truncamento e contexto de uso. A existência de output schema cobre a necessidade de explicar o retorno, tornando a definição completa.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
O schema não fornece descrições dos parâmetros, mas a descrição cobre todos os três com semântica adicional: numero_semana com exemplo de correspondência, turma aceitando caption ou uuid, e detalhado controlando o nível de detalhe. A descrição compensa totalmente a cobertura de 0% do schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição começa com verbo específico e recurso claro: 'Lista as atividades de uma semana de uma turma do Adalove'. Define exatamente o escopo da operação, diferenciando-a claramente de outras possíveis ferramentas por nome e descrição, mesmo sem tools irmãs listadas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
A descrição explica o comportamento de cada parâmetro opcional e o que acontece quando ele é omitido, incluindo inferência da semana e seleção de turma aberta. Não há alternativas explícitas, mas o contexto de uso é claro e suficiente para um agente decidir quando chamar a ferramenta.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
listar_semana
TDQS
Scored across 1 tool
With only a single tool, there is no possibility of confusion between tools. The purpose of listing week activities is clear and unambiguous.
The single tool name 'listar_semana' follows a consistent verb-noun pattern (list + week). While there's no broader pattern to compare, the name is descriptive and internally consistent.
A single tool for an LMS (Adalove) feels thin. The scope appears to be at least course management, but only listing weekly activities is provided, making the count borderline low.
The tool surface is severely incomplete for an LMS domain. Only a read-only list operation exists, with no create, update, delete, or management capabilities for courses, students, or activities.
Maintenance
Related MCP Connectors
Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.
- uNotesOAuthnet.unotes
Search university course materials, your flashcards, quizzes, streak and quota. All tools read-only.
Clean markdown and structured web data. Free card API key; wallet/x402 pay-per-call optional.
Clean Markdown and AI-readability scoring for any URL. Built for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables querying University of Caen (Unicaen) schedule data to find next classes for professors, students, or rooms and check room availability. Integrates with ADE scheduling system to provide real-time schedule information through natural language queries.-
- FlicenseNot gradedqualityDmaintenanceEnables managing school attendance records and interacting with GitHub repositories, including committing files, fetching repository information, and marking student attendance status through natural language.-
- AlicenseNot gradedqualityBmaintenanceGenerates weekly review reports in Markdown format based on AI session data and optional user annotations.MIT
- FlicenseNot gradedqualityCmaintenanceProvides tools for querying student academic data such as subjects, marks, performance reports, timetable, exams, fees, events, holidays, and assignments via natural language.-