studizba-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GLM_MODEL | No | Model name for the optional OpenAI-compatible structured analysis. | |
| GLM_API_KEY | No | API key for the optional OpenAI-compatible structured analysis. | |
| DATABASE_URL | No | PostgreSQL connection string for the analytics database. | |
| GLM_BASE_URL | No | Base URL for the OpenAI-compatible API used in optional analysis. | |
| STUDIZBA_ROOT | No | Root directory for credentials and data. Defaults to the current working directory. | |
| STUDIZBA_PASSWORD | No | Studizba account password used by the collector. | |
| STUDIZBA_USERNAME | No | Studizba account username used by the collector. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_teachersA | Find BMSTU teachers by fuzzy full-name search. |
| get_teacher_profileC | Get source profile, departments, ratings and analytical metrics. |
| get_teacher_reviewsC | Get source reviews for a teacher with dates and Studizba links. |
| search_reviewsC | Search review text with Russian full-text matching and typo tolerance, preserving source links. |
| get_teacher_analyticsC | Get shrinkage-adjusted, time-decayed teacher analytics. |
| explain_scoreB | Explain any teacher metric with confidence, formula and exact evidence spans. |
| compare_teachersC | Compare several teachers on independent metrics. |
| rank_teachersC | Rank teachers by an analytical metric and confidence threshold. |
| search_departmentsC | Find BMSTU departments and subdivisions. |
| get_department_analyticsB | Get department metrics including draw risk, variance and coverage. |
| compare_departmentsC | Compare several departments. |
| rank_departmentsB | Rank departments by quality, ease, cheating environment, variance or draw risk. |
| get_rating_historyC | Get historical source ratings and review counts. |
| get_recent_changesC | Get new/missing/changed entities and rating changes. |
| get_new_reviewsC | Get reviews first observed during a period. |
| get_monitoring_statusA | Get crawl, GLM queue, database counts and recent errors. |
| get_progressC | Get bootstrap/GLM completion, ETA estimates, throughput, queue health and crawl-run history. |
| refresh_entityB | Request and immediately perform a live refresh for a department or teacher. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools are clearly separated by search/get/compare/rank intent, but get_progress and get_monitoring_status overlap heavily on crawl and queue status, and get_teacher_profile vs get_teacher_analytics both surface metrics. The descriptions help resolve ambiguity, but a few tool boundaries are fuzzy.
All tool names follow a lowercase snake_case verb_noun pattern, which is predictable and consistent. Minor inconsistencies exist: some names omit the entity type (e.g., explain_score, get_progress, refresh_entity) and get_rating_history is less scoped than sibling tools, but the overall convention is solid.
With 18 tools, the server sits in the 16–25 range that feels heavy for the purpose. The set is not bloated beyond justification, but several monitoring and comparison tools could potentially be consolidated.
Teacher-level workflows are well covered: search, profile, reviews, analytics, explain, compare, rank, and refresh. However, department-level coverage is thinner—there is no department profile/details tool or direct way to list teachers in a department—so some workflows may hit dead ends.