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.
Metadata
Release files for usos-mcp 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| usos_mcp-0.4.0.tar.gz | 41.4 kB | Without provenance | Details for usos_mcp-0.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| usos_mcp-0.4.0-py3-none-any.whl | Python 3 | none | any | Details for usos_mcp-0.4.0-py3-none-any.whl |
Total release size: 85.5 kB
Release files / usos_mcp-0.4.0.tar.gz
| Download URL | usos_mcp-0.4.0.tar.gz |
|---|---|
| Size | 41.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93cd67e9c3e42e6daa817f7827300dac319d6ba0d714c7c4eac1a6cc0988c712
|
|
BLAKE2b-256 checksum How to use checksums |
2d13cd1961dff33a04d5c28e19ea2768a37caca37383884f99bd7ff08503fd71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / usos_mcp-0.4.0-py3-none-any.whl
| Download URL | usos_mcp-0.4.0-py3-none-any.whl |
|---|---|
| Size | 44.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c39aac7ea9531b6b0c1a42003387bce3f23cde0820596597e3dc5f74fc5ac1c8
|
|
BLAKE2b-256 checksum How to use checksums |
8f7b8c552f1abd7af6ba98bf37110540d9d13aedd0a2d8fe9e74bd6f502cb946
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Security for usos-mcp 0.4.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.