Ninova MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NINOVA_BASE_URL | No | Base URL for Ninova | https://ninova.itu.edu.tr |
| NINOVA_ENV_FILE | No | Absolute path to .env file | |
| NINOVA_PASSWORD | Yes | Your ITU Ninova password | |
| NINOVA_USERNAME | Yes | Your ITU Ninova username | |
| NINOVA_STATE_DIR | No | Absolute path to state directory | |
| NINOVA_REMOTE_HOST | No | Remote HTTP server host | 0.0.0.0 |
| NINOVA_REMOTE_PORT | No | Remote HTTP server port | 8000 |
| NINOVA_ALLOWED_HOSTS | No | Comma-separated allowed hosts | |
| NINOVA_ALLOWED_ORIGINS | No | Comma-separated allowed origins | |
| NINOVA_PUBLIC_BASE_URL | No | Public base URL for remote server | |
| NINOVA_REMOTE_MCP_PATH | No | Secret path for remote MCP endpoint | |
| NINOVA_DISABLE_PLAYWRIGHT_FALLBACK | No | Set to '1' to disable Playwright fallback |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| auth_statusA | Check whether Ninova credentials are configured and whether a fresh session can be created. |
| refresh_sessionA | Force a new login with NINOVA_USERNAME and NINOVA_PASSWORD. |
| get_dashboardA | Read the Ninova dashboard and summarize courses, recent announcements, assignments, and messages. |
| list_coursesA | List all discovered Ninova courses from the dashboard. |
| get_coursesA | Return all courses visible in the Ninova dashboard. |
| get_course_announcementsC | Return announcements for a specific Ninova course. |
| get_course_class_filesC | List files and folders under the Ninova 'Sınıf Dosyaları' section for a course. |
| get_course_lesson_filesB | List files and folders under the Ninova 'Ders Dosyaları' section for a course. |
| get_course_assignmentsC | Return a course's assignment list together with each assignment's full detail page. |
| get_course_infoC | Return structured information from a course's 'Sınıf Bilgileri' page. |
| get_course_sectionsC | List the direct course routes exposed on the Ninova course home page. |
| get_course_gradesB | Read the Ninova 'Notlar' page for a course. |
| get_course_message_boardC | Read the Ninova 'Mesaj Panosu' page for a course. |
| get_course_attendanceC | Read the Ninova 'Yoklama' page for a course. |
| get_course_remote_learningC | Read the Ninova 'Uzaktan Eğitim' page for a course. |
| get_course_overviewB | Return a combined view of a course's sections, announcements, assignments, files, grades, message board, attendance, and remote learning routes. |
| get_dashboard_announcementsC | Return the announcements listed under the Ninova dashboard's aggregated announcements page. |
| get_dashboard_assignmentsC | Return the assignments listed under the Ninova dashboard's aggregated assignments page, including full details. |
| sync_all_coursesA | Fetch all visible courses, store a tracking snapshot, and return newly detected changes since the previous sync. |
| get_updatesC | Read the stored Ninova tracking history and return recent detected changes. |
| get_upcoming_deadlinesC | Return assignments whose submission deadline is approaching based on the stored tracking snapshot. |
| read_pageC | Fetch any Ninova page and return a structured summary of text, headings, links, tables, and attachments. |
| crawl_courseB | Inventory pages and downloadable resources inside a Ninova course tree. |
| download_resourceB | Download a Ninova file or other authenticated resource to disk. |
| snapshot_pageB | Save a structured snapshot of a Ninova page for later comparison. |
| diff_snapshotC | Compare the current state of a Ninova page against a previously stored snapshot. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hikmedit/ninova-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server