Skip to main content

Ninova MCP

Connect your İTÜ Ninova and OBS accounts to AI assistants like Claude. Ask about your courses, announcements, assignments, grades, files, attendance, and upcoming deadlines — and about your transcript, GPA, what is left until graduation, and which courses you can register for next term — in plain language. The assistant reads Ninova and OBS for you.

It logs in with your own İTÜ username and password, opens its own temporary sessions, and never touches your browser or sends your password anywhere except İTÜ's own login (ninova.itu.edu.tr and obs.itu.edu.tr through girisv3.itu.edu.tr).

What you can ask

  • "Bu hafta hangi ödevlerimin teslimi var?"
  • "X dersinde yeni duyuru veya ders dosyası var mı?"
  • "Notlarımı ve ağırlıklı ortalamamı göster."
  • "Tüm derslerimdeki son değişiklikleri özetle."
  • "Mezuniyete kaç kredim kaldı, hangi dersler eksik?"
  • "Gelecek dönem hangi dersleri alabilirim? Önşartlarım tutuyor mu?"
  • "Şu CRN'lerle çakışmasız bir program çıkar."
  • "Veritabanı dersinin şubelerini hocametre puanlarına göre karşılaştır."
  • "Bu dönem hepsinden BB alırsam ortalamam ne olur?"

Install — pick one

1. Easiest: Claude Desktop, one click (no Python, no terminal)

  1. Download your platform's file from the latest release:
    • macOS (Apple Silicon / M1–M4): ninova-mcp-*-darwin-arm64.mcpb
    • Windows: ninova-mcp-*-windows-amd64.mcpb
  2. Double-click the file. Claude Desktop opens an install dialog.
  3. Enter your İTÜ username and password, click Install. Done.

The bundle ships its own Python runtime, so there is nothing else to install. Your password is stored in your operating system's secure keychain.

2. Let your AI set it up (Claude Code, Cursor, Codex, and others)

Paste this to your AI assistant — it installs the server and configures your client end-to-end:

Install the ninova-mcp MCP server (PyPI: ninova-mcp, https://github.com/hikmedit/ninova-mcp).
1. Install it: `pipx install ninova-mcp` (or `pip install --user ninova-mcp`) — both put a
   `ninova-mcp` command on my PATH.
2. Register a `ninova` MCP server (command `ninova-mcp`, env NINOVA_USERNAME and
   NINOVA_PASSWORD) in whichever MCP client I use — detect it and edit the right config,
   merging into any existing servers without overwriting them. Leave the credentials as
   placeholders unless I already pasted them here.
3. Tell me to fill in my İTÜ credentials, restart the client, and call the `auth_status`
   tool to verify.

3. One command (if you prefer the terminal)

After pipx install ninova-mcp:

# Claude Code
claude mcp add ninova ninova-mcp -e NINOVA_USERNAME=itu_username -e NINOVA_PASSWORD=itu_password

# Codex CLI
codex mcp add ninova --env NINOVA_USERNAME=itu_username --env NINOVA_PASSWORD=itu_password -- ninova-mcp

Other clients (Claude Desktop config file, Cursor, manual TOML) are in the installation guide.

To confirm it works, ask the assistant to run the auth_status tool.

Is it safe?

Yes — it runs entirely on your machine. Your İTÜ password stays local (in your OS keychain when installed as the extension) and is only ever sent to İTÜ's own single sign-on for ninova.itu.edu.tr and obs.itu.edu.tr. Nothing is uploaded to any third-party server, and it never reads your browser cookies. Everything is read-only: it cannot register you for a course, drop one, or change anything in OBS. The instructor ratings come from notkutusu.com's public "hocametre" pages, which need no login, so nothing about you is sent there either. Details: docs/security.md.

What it can do

Ninova. Reads your dashboard and course list, announcements, class and lesson files, assignments (with detail pages and deadlines), grades, message boards, attendance, and remote-learning sessions — plus a combined per-course overview. It can also sync all courses, track what changed since last time, and list upcoming deadlines.

OBS. Reads your profile, semester history and GPA, final and in-term grades, the full course history, registered courses, weekly and exam schedules, internships, announcements, "Mezuniyetime Ne Kaldı" (graduation progress), and the official transcript PDF.

Course-registration planning. Reads the public OBS course schedule of the upcoming term (every section with CRN, day/time, instructor, room, quota, and remaining seats — no login needed), evaluates each course's published prerequisites against your passed courses through your cohort's course-plan equivalences (so renamed course codes are matched correctly), lists which required and elective courses you can actually take this term, checks a candidate CRN set for time clashes, and projects your GPA under hypothetical grades.

Hocametre. Looks up instructors on notkutusu.com's anonymous student ratings (note sharing, helpfulness, homework load, attendance strictness, teaching) and attaches them to the sections of a course so you can compare instructors before picking a CRN. Duplicate profiles of the same instructor are merged with vote-weighted averages.

Full tool reference and self-hosting (remote HTTP server for ChatGPT / Claude.ai connectors, Docker, environment variables, running from source): docs/advanced.md.

License

MIT. Not affiliated with İTÜ; use with your own account.

Metadata

Release files for ninova-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ninova-mcp 0.2.0
File Size Uploaded Provenance
ninova_mcp-0.2.0.tar.gz 87.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ninova-mcp 0.2.0
File Interpreter ABI Platform
ninova_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 162.0 kB

Release files / ninova_mcp-0.2.0.tar.gz

Download URL ninova_mcp-0.2.0.tar.gz
Size 87.2 kB
Tags Source
SHA-256 checksum
How to use checksums
be1b2b8a97c61141019d2df4d11fee6fc641e34d7a175ef87ffee5fd1199ae65
BLAKE2b-256 checksum
How to use checksums
9108a638302c16172be05c35bcfc630870ad462cd7454123aaa08566c3501cdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / ninova_mcp-0.2.0-py3-none-any.whl

Download URL ninova_mcp-0.2.0-py3-none-any.whl
Size 74.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd9e96c00a0794840f632605f87270096e94cef05f88ca97250ad8972385f140
BLAKE2b-256 checksum
How to use checksums
65e8eb65b310996f13eb35901d52c960495113eb51f85b4d0114ffa431de51a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Security for ninova-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page