Skip to main content
Glama
wealthi-ai

wealthi-coach-mcp-server

Official
by wealthi-ai

Get Learning Signals

get_learning_signals
Read-onlyIdempotent

Retrieve a student's behavioral signals to determine what to show next: momentum state, seen content, and recommended interaction type.

Instructions

Retrieve behavioral signals that inform what Coach should show a student next.

Composes data from two sources: Supabase (profiles.routing_signals, for already-seen content) and Firestore (last activity timestamp, for momentum). Returns translated behavioral labels only — never raw dormancy-decay scores or internal routing fields. This mirrors the translation Coach already does internally via behaviorLabels.ts.

Args:

  • student_id (string): The student's unique identifier.

Returns: JSON object with schema: { "studentId": string, "momentumState": "building" | "steady" | "dormant" | "returning", "seenContentIds": string[], // content already shown, for dedup "daysSinceLastSession": number, "recommendedInteractionType": "read" | "decide" | "reflect" }

Examples:

  • Use when: "What should Coach show this student right now?" -> check recommendedInteractionType and filter coachContent.ts by seenContentIds

  • Use when: deciding whether to show comeback/re-engagement copy -> check momentumState === "returning"

Error Handling:

  • A student with no activity history returns momentumState: "dormant" and daysSinceLastSession: 999 (sentinel for "never active"), not an error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
student_idYesThe student's unique identifier (Firebase Auth UID / Supabase user_id — these are the same value across both systems).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and idempotentHint=true, but the description adds detail: it never returns raw internal fields, explains data sources (Supabase and Firestore), and documents error handling for inactive students (sentinel values). No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with paragraphs and bullet points for Args, Returns, Examples, and Error Handling. The first sentence clearly states purpose. Slightly verbose (Args redundant with schema), but overall efficient for the level of detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description provides a detailed output schema with types, examples, and error handling. Covers all scenarios (inactive student, sentinel values). Fully complete for a single-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter student_id, with a clear explanation of its meaning. The tool description's Args section merely repeats the schema, adding no additional meaning, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves behavioral signals for Coach to decide what to show a student next. It specifies the verb 'retrieve' and resource 'learning signals', and distinguishes from sibling tools by focusing on behavioral signals for next action, not assessments or progress.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit examples of when to use this tool (e.g., 'What should Coach show this student right now?' and deciding on re-engagement copy). It also notes what it never returns (raw dormancy-decay scores), giving clear context. However, it does not explicitly name alternative tools for when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/wealthi-ai/wealthi-coach-mcp-server'

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