Skip to main content

Credential-based MCP server for ITU Ninova: read courses, announcements, files, assignments, grades, attendance, and deadlines from Claude, Cursor, Codex, and other MCP clients.

Project description

Ninova MCP

Connect your İTÜ Ninova account to AI assistants like Claude. Ask about your courses, announcements, assignments, grades, files, attendance, and upcoming deadlines in plain language — the assistant reads Ninova for you.

It logs in with your own İTÜ username and password, opens its own temporary Ninova session, and never touches your browser or sends your password anywhere except ninova.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."

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 ninova.itu.edu.tr. Nothing is uploaded to any third-party server, and it never reads your browser cookies. Details: docs/security.md.

What it can do

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.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ninova_mcp-0.1.5.tar.gz (39.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ninova_mcp-0.1.5-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

Details for the file ninova_mcp-0.1.5.tar.gz.

File metadata

  • Download URL: ninova_mcp-0.1.5.tar.gz
  • Upload date:
  • Size: 39.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ninova_mcp-0.1.5.tar.gz
Algorithm Hash digest
SHA256 39b4ded537c926230edae7545ae8c7ff18e68a39da4edbd5bbef399f54c21b6e
MD5 671aabbfd08de14caa784202e81004ea
BLAKE2b-256 45e3c114003ef3eb024d9d969166fc32235fd131ec2e4b2a5bf2ab87bd9174be

See more details on using hashes here.

File details

Details for the file ninova_mcp-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: ninova_mcp-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 32.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ninova_mcp-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2cdc12b01c3bab6536814c11bf046c2e4ce2bb36ada8163fd305af0158382230
MD5 dcfec5b855337e7bd508e0c1003617e0
BLAKE2b-256 35f0de042ea113f48fc692e492b123b79d9e34e7ce8e0e2365a6b5dd423c8f27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page