Skip to main content

MCP server for USOS (Uniwersytecki System Obsługi Studiów)

Project description

USOS Model Context Protocol (MCP) Server

A standardized Model Context Protocol (MCP) server that bridges the official USOS API (Uniwersytecki System Obsługi Studiów) with generative AI clients (such as Claude Code, Claude Desktop, Cursor, and web-based assistants via tunnels).

This server allows students of Polish universities to query their schedules, track academic grades, monitor ECTS accumulation, search for lecturer contact data, and review study programs through natural language conversations.


Usage with MCP Clients (e.g., Cursor, Claude desktop)

You can connect this server to any MCP-compatible client like Cursor.

Authenticating with USOS

Use the authenticate_me prompt to guide the user through the interactive OAuth setup. It should be run one step at a time, waiting for the user's response before continuing. Alternatively, the user can call the login tool directly. Once authentication is complete, credentials are saved securely to local file storage (typically ~/.config/usos-mcp/store/auth/credentials.json) so they do not need to be supplied as environment variables in later runs.

Option A: Running via PyPI (Recommended)

If you have uv installed, you can use uvx to fetch and run the package dynamically without manual installation:

{
  "mcpServers": {
    "usos": {
      "command": "uvx",
      "args": [
        "--from",
        "usos-mcp",
        "server"
      ]
    }
  }
}

Option B: Running via Docker

If you prefer not to install Python/uv locally, you can use the Docker image. The -i flag is required for MCP to communicate over standard input/output.

{
  "mcpServers": {
    "usos": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/skalskidaniel/usos-mcp:latest"
      ]
    }
  }
}

Contributing

Contributions are welcome! This server is built with a modular registry pattern that makes adding new USOS API integrations simple.

See CONTRIBUTING.md for a guide on how to add your own tools, prompts, and resources.

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

usos_mcp-0.4.0.tar.gz (41.4 kB view details)

Uploaded Source

Built Distribution

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

usos_mcp-0.4.0-py3-none-any.whl (44.2 kB view details)

Uploaded Python 3

File details

Details for the file usos_mcp-0.4.0.tar.gz.

File metadata

  • Download URL: usos_mcp-0.4.0.tar.gz
  • Upload date:
  • Size: 41.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for usos_mcp-0.4.0.tar.gz
Algorithm Hash digest
SHA256 93cd67e9c3e42e6daa817f7827300dac319d6ba0d714c7c4eac1a6cc0988c712
MD5 c98d902936b37721844b3eaefb57a832
BLAKE2b-256 2d13cd1961dff33a04d5c28e19ea2768a37caca37383884f99bd7ff08503fd71

See more details on using hashes here.

File details

Details for the file usos_mcp-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: usos_mcp-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 44.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for usos_mcp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c39aac7ea9531b6b0c1a42003387bce3f23cde0820596597e3dc5f74fc5ac1c8
MD5 9348dde0eff90ee8a2b061f346dacf4c
BLAKE2b-256 8f7b8c552f1abd7af6ba98bf37110540d9d13aedd0a2d8fe9e74bd6f502cb946

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