get_student_progress
Retrieve the progress of a student in their classes by providing the user ID and the subdomain of the members area.
Instructions
Get Student Progress
Retorna o progresso de um aluno nas aulas.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | ID do aluno | |
| subdomain | Yes | Subdomínio da área de membros | |
| select | No | Seleção de campos customizados na resposta |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/hotmart_mcp/tools/club.py:84-104 (handler)The tool handler that makes a GET request to /club/api/v1/users/{user_id}/lessons to retrieve a student's lesson progress and returns the result as JSON.
async def get_student_progress( user_id: str, subdomain: str, select: Optional[str] = None, ) -> str: """Get Student Progress Retorna o progresso de um aluno nas aulas. Args: user_id: ID do aluno subdomain: Subdomínio da área de membros select: Seleção de campos customizados na resposta""" endpoint = f"/club/api/v1/users/{user_id}/lessons" params = {} if subdomain is not None: params["subdomain"] = subdomain if select is not None: params["select"] = select result = await get_client().get(endpoint, params=params) return json.dumps(result, indent=2) - src/hotmart_mcp/tools/club.py:8-8 (schema)Export list that includes get_student_progress, acting as a lightweight schema/registry for the tool.
__all__ = ["get_modules", "get_module_pages", "get_students", "get_student_progress"] - src/hotmart_mcp/server.py:21-37 (registration)Auto-discovery registration: iterates all modules in tools package, finds coroutine functions (including get_student_progress), and registers them with FastMCP via mcp.tool()(obj).
def _discover_and_register_tools() -> int: """Import all modules under hotmart_mcp.tools and register async functions.""" registered = 0 for module_info in pkgutil.iter_modules(tools_pkg.__path__, prefix=f"{tools_pkg.__name__}."): if module_info.name.endswith("__init__"): continue module = importlib.import_module(module_info.name) for name, obj in inspect.getmembers(module, iscoroutinefunction): if name.startswith("_"): continue mcp.tool()(obj) registered += 1 return registered - src/hotmart_mcp/tools/__init__.py:3-9 (registration)Re-exports get_student_progress from club module into the tools package namespace.
from .club import * # noqa: F401,F403 from .coupons import * # noqa: F401,F403 from .negotiation import * # noqa: F401,F403 from .products import * # noqa: F401,F403 from .sales import * # noqa: F401,F403 from .subscriptions import * # noqa: F401,F403 from .tickets import * # noqa: F401,F403 - src/hotmart_mcp/_shared.py:10-14 (helper)Helper that provides the shared HotmartClient singleton used by get_student_progress to make API calls.
def get_client() -> HotmartClient: global _client if _client is None: _client = HotmartClient() return _client