tbank-edu-mcp
by mollyvita
README.md
# tbank-edu-mcp
MCP server for [edu.tbank.ru](https://edu.tbank.ru) — connect your AI assistant to T-Bank Education.
Built with TypeScript on [Cloudflare Workers](https://workers.cloudflare.com/). Uses the [Model Context Protocol](https://modelcontextprotocol.io) so Claude Desktop, Cursor, and other MCP clients can access your courses, timetable, and deadlines.
[](https://deploy.workers.cloudflare.com/?url=https://github.com/mollyvita/tbank-edu-mcp)
> Python API client: [mollyvita/tbank-edu-api](https://github.com/mollyvita/tbank-edu-api)
## What It Does
| Tool | What you get |
|------|-------------|
| `get_timetable` | Upcoming events — meetups, deadlines, course starts |
| `get_my_courses` | Your enrolled courses and activities |
| `get_deadlines` | Deadlines with progress tracking |
| `get_completed_activities` | Finished courses |
| `search_catalogue` | Search all available courses |
| `get_selections` | Exam selections and applications |
| `get_notifications` | Notification count |
| `get_favorites` | Your favorited courses |
| `get_streams` | Available programs and streams |
| `get_user_info` | Your profile — name, email, roles |
| `login` / `logout` / `refresh_session` | Session management |
## Quick Start
### 1. Deploy
Click the button above, or deploy manually:
```bash
git clone https://github.com/mollyvita/tbank-edu-mcp.git
cd tbank-edu-mcp
npm install
npx wrangler login
npm run deploy
```
### 2. Add Your Credentials
```bash
npx wrangler secret put TBANK_EMAIL
npx wrangler secret put TBANK_PASSWORD
```
This lets the server auto-login. Without secrets, you'd call the `login` tool manually each session.
### 3. Connect Your AI Client
Add to Claude Desktop or Cursor MCP config:
```json
{
"mcpServers": {
"tbank-edu": {
"url": "https://tbank-edu-mcp.<your-subdomain>.workers.dev/mcp"
}
}
}
```
That's it. Ask your AI about your courses, deadlines, or timetable.
## Local Dev
```bash
npm install
npm run dev # http://localhost:8787/mcp
npm run typecheck # tsc --noEmit
```
For local testing, point your MCP client at `http://localhost:8787/mcp`.
## Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `TBANK_BASE_URL` | `https://edu.tbank.ru` | API base URL |
| `TBANK_EMAIL` | — | Auto-login email (Cloudflare secret) |
| `TBANK_PASSWORD` | — | Auto-login password (Cloudflare secret) |
## How It Works
```
src/
├── index.ts # Worker entry point + routing
├── api-client.ts # HTTP client — handles CSRF tokens + cookies
└── tools.ts # MCP tool definitions
```
- Uses `@modelcontextprotocol/sdk` with Streamable HTTP transport (SSE)
- CSRF token extracted from `x-edu-csrf-token` response header
- Auth via JWT cookies from `/api/auth/signin/v8`
- Stateless per request — authenticates fresh using stored secrets
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues