Placement Analyzer MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level | INFO |
| LOG_FORMAT | No | Logging format: 'json' or 'console' | console |
| DATABASE_URL | Yes | Async database URL | postgresql+asyncpg://... |
| GITHUB_TOKEN | No | GitHub API token (optional) | |
| DATABASE_POOL_SIZE | No | Connection pool size | 5 |
| MAX_UPLOAD_SIZE_MB | No | Max upload file size | 50 |
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 |
|---|---|
| analyze_studentA | Run the full analysis pipeline for a student. |
| analyze_resumeA | Analyze a student's resume (PDF text extraction and structuring). |
| analyze_githubA | Analyze a student's public GitHub profile. |
| analyze_leetcodeA | Analyze a student's public LeetCode profile. |
| analyze_portfolioA | Analyze a student's portfolio website. |
| get_profile_statisticsA | Get aggregate statistics across all student profiles. |
| get_skill_distributionA | Get the distribution of skills across the student cohort. |
| get_data_quality_reportA | Get a data quality report across all imported student data. |
| validate_excelA | Validate an Excel (.xlsx) file structure without importing data. |
| import_excelA | Import student data from an Excel (.xlsx) file. |
| get_import_statusA | Get the status and statistics of a data import operation. |
| get_skill_evidenceA | Get the evidence map for a student's skills. |
| get_skill_gapsA | Get skill gaps identified for a student. |
| get_profile_completenessA | Get the profile completeness score for a student. |
| get_studentA | Retrieve a student's profile by their UUID. |
| search_studentsA | Search for students by name (partial, case-insensitive match). |
| list_studentsA | List all students with pagination. |
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 17 tools
Each tool has a clearly distinct purpose: component analyzers target different platforms, aggregate reports target different metrics, and student queries differ by lookup method. The pipeline analyzer subsumes the individual analyzers without ambiguity, and import/validation/status tools are clearly separated.
All tools follow a consistent verb_noun snake_case pattern (analyze_*, get_*, import_*, validate_*, search_*, list_*), with no mixed conventions or arbitrary names. This makes the tool surface predictable and easy to navigate.
At 17 tools, the server is slightly on the heavier side but still well-scoped: the import pipeline (validate/import/status), analysis pipeline (full + component analyzers), and reporting tools each serve distinct needs. The count feels appropriate for the domain, though a couple of tools could theoretically be merged.
The tool set covers the full workflow: importing data, validating it, running individual component analyses, generating aggregate statistics, and inspecting per-student details like skill evidence, gaps, and completeness. Minor gaps exist (no update/delete for student records, no export tool), but these are peripheral to the analysis-focused purpose.