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 setup_user_authentication prompt to guide the user through OAuth setup. It should be run one step at a time and wait for the user's response before continuing.
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:
"usos": {
"command": "uvx",
"args": ["--from", "usos-mcp", "server"],
"env": {
"USOS_API_BASE_URL": "...",
"USOS_API_CONSUMER_KEY": "...",
"USOS_API_CONSUMER_SECRET": "..."
}
}
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.
"usos": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "USOS_API_BASE_URL=...",
"-e", "USOS_API_CONSUMER_KEY=...",
"-e", "USOS_API_CONSUMER_SECRET=...",
"ghcr.io/skalskidaniel/usos-mcp:latest"
]
}
Contributing
We welcome contributions! 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file usos_mcp-0.3.1.tar.gz.
File metadata
- Download URL: usos_mcp-0.3.1.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8c685ed83186a6204af937432417e73dcae1e84583938ab741fc058189f499e
|
|
| MD5 |
b73d743ca0b986adfe7062a94f1b6334
|
|
| BLAKE2b-256 |
13ae6c672f8610726caf001f0b08d8a1268d90a31cd1a2a8a7f9b97af4f1ad47
|
File details
Details for the file usos_mcp-0.3.1-py3-none-any.whl.
File metadata
- Download URL: usos_mcp-0.3.1-py3-none-any.whl
- Upload date:
- Size: 21.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9af0012959bf634de661e1284df69a1646b73639f03dd9763b646890de605120
|
|
| MD5 |
7afe2162bede615b0b5177eab054a222
|
|
| BLAKE2b-256 |
89d5d980cfc757e42303c176194aaf7112faf5c8ef59b785ee6a4c6631c16d7d
|