pddikti
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REDIS_URL | No | Redis connection URL, used when CACHE_ENABLED is true. | |
| SOLVER_URL | No | FlareSolverr /v1 endpoint. | |
| CACHE_ENABLED | No | Optional Redis response cache. | false |
| SOLVER_ENABLED | No | Solve Cloudflare challenges with FlareSolverr on a 403. | false |
| UPSTREAM_HEADERS | No | JSON object of extra upstream headers, e.g. a cf_clearance Cookie and its User-Agent. | {} |
| CONFIG_STORE_PATH | No | Runtime config file with upstream overrides and the solved Cloudflare cookie. | ./runtime-config.json |
| UPSTREAM_BASE_URL | Yes | Upstream base, https://pddikti.kemdiktisaintek.go.id/api. Without it, every tool returns 503. | |
| UPSTREAM_TIMEOUT_MS | No | Timeout per upstream request, in milliseconds. | 8000 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_pddiktiA | Search Indonesian higher-education records by keyword and return matching entries with their opaque ids. Start here: every other tool needs an id from this search. Returns a JSON list (empty when nothing matches). Entity to search. "all" — all entities; "pt" — universities; "prodi" — study programs; "dosen" — lecturers; "mhs" — students. |
| get_universityA | Fetch one aspect of a single university (perguruan tinggi, PT) as JSON, or its logo as an image. Use for profile, accreditation, and history questions about one university; for its study programs or lecturers use get_university_study_programs or get_university_lecturers. University aspect. "detail" — Get university detail; "rasio" — Get lecturer-student ratio by university; "mahasiswa" — Get university student metrics; "waktu-studi" — Get average study duration by university; "riwayat" — Get university name history; "biaya-kuliah" — Get tuition range by university; "fasilitas" — Get university facilities metadata; "logo" — University logo (image bytes). |
| get_university_study_programsA | List every study program (prodi) a university offered in one semester, with each program’s id. Pass a returned prodi id to get_study_program for details. Returns a JSON list. |
| get_university_lecturersA | List all lecturers of one university for a semester, merged across its active study programs and deduplicated. Slower than other tools because it fans out one request per program; prefer get_study_program_lecturers when one program is enough. Returns a JSON list. |
| get_study_programA | Fetch one aspect of a single study program (program studi, prodi) as JSON. For its lecturer roster use get_study_program_lecturers. Study-program aspect. "detail" — Get study program detail; "desc" — Get study program description; "num-students-lecturers" — Get student and lecturer counts; "riwayat" — Get study program name history; "biaya-kuliah" — Get study program tuition range. |
| get_study_program_lecturersA | List the lecturers attached to one study program in a semester. Pass a returned lecturer id to get_lecturer for their profile. Returns a JSON list. Which lecturer set. "dosen-homebase" — Get homebase lecturers by semester; "dosen-penghitung-ratio" — Get lecturers used for ratio calculations. |
| get_lecturerB | Fetch one aspect of a single lecturer (dosen) as JSON: profile, teaching, research, or other records. Lecturer aspect. "profile" — Get lecturer profile; "study-history" — Get lecturer education history; "teaching-history" — Get lecturer teaching history; "penelitian" — Get lecturer research portfolio; "pengabdian" — Get lecturer service portfolio; "karya" — Get lecturer works portfolio; "paten" — Get lecturer patents portfolio. |
| get_studentA | Fetch the public PDDikti record of one student (mahasiswa), such as university, study program, and enrollment status. There is no student list; find the id with search_pddikti (entity "mhs") by name or NIM. Returns JSON. |
| get_statisticsA | Fetch one national aggregate statistic for Indonesian higher education as JSON. Needs no id; use it for country-wide counts, not for a single institution. Statistic metric. "mhs-count" — Get total student count; "mhs-count-active" — Get active student count; "mhs-count-gender" — Get student count by gender; "mhs-count-bidang-ilmu" — Get student count by field; "mhs-count-status" — Get student count by status; "mhs-count-jenjang" — Get student count by degree level; "mhs-count-kelompok-lembaga" — Get student count by institution group; "dosen-count" — Get total lecturer count; "dosen-count-active" — Get active lecturer count; "dosen-count-gender" — Get lecturer count by gender; "dosen-count-bidang" — Get lecturer count by field; "dosen-count-keaktifan" — Get lecturer count by activity; "dosen-count-jenjang" — Get lecturer count by degree; "dosen-count-ikatan" — Get lecturer count by affiliation; "pt-count" — Get total university count; "pt-count-province" — Get university count by province; "pt-count-kelompok-pembina" — Get university count by supervising group; "pt-count-akreditasi" — Get university count by accreditation; "pt-count-bentuk-pt" — Get university count by institution type; "prodi-count" — Get total study program count; "prodi-count-bidang-ilmu-terbanyak" — Get most common study program field; "prodi-count-kelompok-pembina" — Get study program count by supervising group; "prodi-count-bidang-ilmu" — Get study program count by field; "prodi-count-akreditasi" — Get study program count by accreditation; "prodi-count-jenjang" — Get study program count by degree level. |
| list_study_programs_by_fieldA | List study programs nationwide for one field of study (bidang ilmu), for discovering which programs exist in a discipline. Needs no id. Returns a JSON list. Field of study (bidang ilmu). "agama" — religion; "ekonomi" — economics; "humaniora" — humanities; "kesehatan" — health; "mipa" — science; "pendidikan" — education; "pertanian" — agriculture; "seni" — arts; "sosial" — social; "teknik" — engineering. |
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 10 tools
Tools mostly map to distinct resources and actions: search_pddikti finds IDs, get_* tools retrieve one entity or aspect, and list_study_programs_by_field supports nationwide discovery. The closest overlap is get_university_lecturers versus get_study_program_lecturers, but their scope and performance trade-off are clearly described, so confusion is limited.
All names use snake_case with a recognizable verb_noun structure. Minor inconsistency appears where list-returning tools use get_ (get_university_lecturers, get_study_program_lecturers, get_university_study_programs) while another uses list_, and search_pddikti uses the server name rather than an entity noun.
Ten tools is well within the appropriate 3–15 range for this domain. Each tool covers a distinct entity or operation, and the multi-aspect get_* tools consolidate related endpoints rather than inflating the surface.
The read-only surface covers search across all entity types, university/program/lecturer/student detail, national statistics, and field-based program discovery, with no obvious dead ends. Minor gaps remain: there is no general list-all-universities or list-all-lecturers operation, and student access is intentionally single-record only.