Model Context Protocol server for Village Metrics behavioral tracking data access. Access VillageMetrics behavioral tracking data for families with children who have behavioral challenges. VillageMetrics transforms daily voice journal entries into behavioral insights through AI analysis. Query journal entries, behavior scores, medication tracking, and analysis to understand patterns and support child development.
This server provides 15 tools with good coverage of a behavioral tracking domain. Strengths: all tools have descriptions (194-350 chars on average, within baseline); most parameters are typed and described; clear verb_noun naming conventions (list_, get_, search_, select_). Weaknesses: no output schemas documented; many parameters lack constraint details (e.g., limit bounds); error handling guidance is absent; no tool-to-tool composition guidance; tool descriptions could be more LLM-optimized (many are domain-specific but lack WHEN-to-call context). Risk of over-reliance on domain knowledge rather than agent self-guidance.
Get detailed behavior goals progress analysis including individual goal consistency, achievement patterns, statistical correlations, and goal-specific insights for the selected child. Analyzes behavior scores (1-4 scale) to show performance trends. Includes both the configured behavior goals and their performance analysis.
Get behavior scores for a specific date or date range for the selected child. Returns scores (1-4 scale) for each configured behavior goal.
Get metadata about available data for the selected child, including date ranges, earliest and latest entry dates, data completeness indicators, and analysis availability. Helps determine what date ranges are valid for queries.
Get analysis of hashtag usage in journal entries for the selected child, categorized by type (BehaviorConcept, Activity, Incident). Shows frequency, trends, and contextual insights.
Get full details of a specific journal entry for the selected child including full text, timestamps, tags, AI analysis, and related behavioral data.
No output schemas documented. Clients cannot infer response structure, plan downstream tool calls, or extract the right fields. All 15 tools lack explicit return type documentation.
Pagination parameters (limit, offset) lack constraint documentation. No min/max bounds specified. Agents may pass absurd values (limit=999999, offset=-1). get_behavior_scores, search_journal_entries, list_journal_entries, list_notable_journal_entries all lack explicit limit bounds.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 58 | - | v1 |
Get medication tracking and analysis for the selected child including medication history, dosage changes, effectiveness patterns, and correlations with behavior changes. Identifies medication cocktails and their impact on behavioral outcomes.
Get detailed analysis for a specific medication cocktail including individual medication information, dosage history, effectiveness metrics, side effects, and behavioral correlations.
Get comprehensive overview analysis of the selected child's behavioral data including summary statistics, key trends, notable patterns, and high-level insights across all tracked areas.
List all children available to the user (both as parent and caregiver)
List journal entries for the selected child within a specified time range. Returns chronologically ordered entries with timestamps and summaries.
List notable journal entries for the selected child that highlight significant behavioral events, incidents, or milestones. Entries are tagged with significance level and entry type.
List all village members (parents, caregivers, professionals) associated with the selected child. Returns member information, roles, relationship to child, and invitation status.
Search journal entries for the selected child using full-text search with semantic understanding. Returns matching entries with relevance scoring.
Select a specific child to query data for. Must be called before accessing child-specific data like behavior scores, journal entries, or analysis. Returns the selected child's information.
Submit feedback about the Ask Anything MCP tool or VillageMetrics product. Helps improve the product based on user experience and feature requests.
No error handling guidance. Tool descriptions do not explain failure modes, recovery steps, or whether errors are retryable. Example: select_child doesn't document what happens if the child name is invalid or doesn't exist.
Tool descriptions lack WHEN-to-call guidance. They state WHAT each tool does but not the prerequisites or sequencing. Example: get_behavior_scores doesn't hint that select_child must be called first. This forces agents to guess the correct call order or discover it via trial and error.
Missing composition guidance. Tools like get_medication_detailed_analysis require a cocktailId that must come from get_medication_analysis, but this dependency is not documented in either tool's description. Agents must infer the chain.
Parameter 'childName' (select_child) expects a full name but doesn't document the exact format or behavior if the name is ambiguous (e.g., two children named 'Sydney'). No guidance on case sensitivity, partial matches, or error handling.
timeRange parameter (list_journal_entries, get_behavior_analysis, etc.) uses enums, but descriptions don't explain what 'last_7_days', 'last_30_days' mean, relative to today? UTC or local timezone? No clarification.
No mention of authentication secrets, but src/index.js shows VM_MCP_TOKEN is required. Tool descriptions don't acknowledge that all calls require user context validation. This is correct (secrets should be server-side), but user-facing docs should clarify that individual tools don't expose the token.