LinguaTrack MCP Server
Programmatic access to language learning tracking via Model Context Protocol (MCP) and REST API.
Quick Start
# 1. Get JWT token (dev login)
curl -s "https://gpts-linguo.duckdns.org/api/v1/auth/dev-login?email=test@linguatrack.com"
# 2. Start a session
curl -X POST "https://gpts-linguo.duckdns.org/api/v1/sessions" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"mode":"conversation"}'
# 3. Save errors
curl -X POST "https://gpts-linguo.duckdns.org/api/v1/errors/batch" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"session_id": 123,
"errors": [{
"category": "GRAMMAR",
"subcategory": "articles",
"student_said": "I am teacher",
"correct_version": "I am a teacher",
"explanation": "Missing indefinite article",
"severity": "minor"
}]
}'
# 4. Get progress
curl -s "https://gpts-linguo.duckdns.org/api/v1/progress" \
-H "Authorization: Bearer <token>"
MCP Server (stdin/stdout)
For agents that support MCP (Claude, Cursor, etc.):
command: ssh root@169.58.2.221 /opt/linguatrack/mcp-server/venv/bin/python /opt/linguatrack/mcp-server/linguatrack_mcp.py
env:
LINGUATRACK_URL: https://gpts-linguo.duckdns.org
Available Tools
- get_my_progress - CEFR level, active errors, recommendations
- get_my_errors - Filterable error list
- start_session - Begin practice session
- save_errors - Log batch of errors
- update_error_status - Mark error as improving/resolved
- end_session - Close session with summary
- get_user_profile - Get learner profile
Error Categories
- GRAMMAR
- VOCABULARY
- PRONUNCIATION
- STYLE
Severity Levels
- minor
- moderate
- major
Endpoint
https://gpts-linguo.duckdns.org
OpenAPI spec: https://gpts-linguo.duckdns.org/openapi.json