librus-mcp
Enables read-only access to a Librus Portal account, letting users list linked Synergia accounts and retrieve grades, attendance, timetable, homework, notices, and school information.
README
librus-mcp
Local, read-only MCP server for a Librus Portal account. It uses the Portal login flow to obtain a short-lived Librus API token for a chosen Synergia account.
Security model
- Credentials are read from
LIBRUS_EMAILandLIBRUS_PASSWORDonly. - Cookies and tokens are kept in memory and are discarded when the process exits or
librus_logoutis called. - The server permits HTTPS requests only to
portal.librus.plandapi.librus.pl. - It exposes an allowlist of read-only API resources; it cannot send messages, mark notices read, or submit arbitrary requests.
- It deliberately writes no request, response, credential, token, or API payload to stdout/stderr. Stdout is reserved for MCP protocol traffic.
Do not put credentials in package.json, MCP configuration checked into git, or a tracked .env file.
Install and build
cd /home/xadix0wy/librus-mcp
npm install
npm run build
Configure an MCP host
Use environment variables in the host's private configuration or secret store:
{
"mcpServers": {
"librus": {
"command": "node",
"args": ["/home/xadix0wy/librus-mcp/dist/index.js"],
"env": {
"LIBRUS_EMAIL": "your-email@example.com",
"LIBRUS_PASSWORD": "your-password"
}
}
}
}
LIBRUS_CLIENT_ID is optional. The default is the public client ID from the legacy Librus mobile flow. It is not treated as a secret.
Tools
librus_profiles: lists the Synergia accounts linked to the Portal account.librus_get: reads grades, attendance, timetable, homework, notices, school information and other supported API resources. Passaccount_loginfromlibrus_profiles.librus_logout: clears all in-memory authentication material.
The Portal can require reCAPTCHA or an account action. The server stops with a clear error in that case; complete the required action directly at https://portal.librus.pl or in the official app, then retry.
Compatibility
This relies on an undocumented Portal/API flow observed in the legacy Szkolny Android source. Librus can change or restrict it without notice. It is intended only for the account owner and should be used in accordance with Librus terms and school policy.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.