Skip to main content
Glama
Nikodem5

AGH Mail MCP Server

by Nikodem5

AGH Mail MCP Server

A small [MCP] server that lets Claude read and send email from your AGH mailbox (poczta.agh.edu.pl)

Ask Claude things like "any new emails" or "reply to the professor saying I'll attend"

Status: Local use with Claude Desktop is fully supported and is what this README covers. Remote hosting (so it works in the Claude mobile/web app or Cowork) is not supported yet.


Tools exposed

Tool

What it does

get_unread_emails

List unread messages

get_email_body

Fetch the full body of one message

search_emails

Search by sender, subject, and/or date

mark_as_read

Mark a message as read

send_email

Send from your AGH address (only after you confirm)

get_folders

List all IMAP folders in the mailbox


Related MCP server: IMAP MCP Server

Prerequisites

  • Python 3.10 or newer

  • An AGH mailbox at poczta.agh.edu.pl

  • Claude Desktop installed


Setup

Step 1 - Generate an AGH app password

  1. Log into https://poczta.agh.edu.pl

  2. Go to Ustawienia → Hasła do aplikacji

  3. Enter your password to authorize, give the new password a name

  4. Copy the generated password (you'll only see it once)

Step 2 - Clone and install

git clone https://github.com/Nikodem5/agh-mcp.git
cd agh-mcp
python -m venv .venv
(activate the virtual environment)
pip install -r requirements.txt

Step 3 - Configure your credentials

Copy the example file and fill in your two values:

cp .env.example .env        # Windows PowerShell: Copy-Item .env.example .env

Edit .env:

AGH_EMAIL=123456@student.agh.edu.pl
AGH_APP_PASS=the_app_password_from_step_1

Step 4 - Connect it to Claude Desktop

Open your Claude Desktop config file (create it if it doesn't exist):

Add an entry pointing at the absolute path to server.py

{
  "mcpServers": {
    "agh-mail": {
      "command": "python",
      "args": ["/absolute/path/to/agh-mcp/server.py"]
    }
  }
}

Fully quit and reopen Claude Desktop.


Extending: "university agent" ideas

This is a foundation. Each new capability is just one Python function with an @mcp.tool() decorator. Ideas:

  • get_calendar — pull your AGH timetable from USOS

  • check_grades — watch USOS for new grade entries

  • get_deadlines — parse the UPeL e-learning platform for upcoming deadlines

  • search_library — query the AGH library catalog


Project structure

agh-mcp/
├── server.py                        # the MCP server (all tools live here)
├── requirements.txt                 # mcp + python-dotenv
├── .env.example                     # template — copy to .env and fill in
├── .env                             # your secrets (git-ignored, never committed)
├── .gitignore
├── cowork-skill-morning-briefing.md # optional daily-digest skill
└── README.md

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables Claude to interact with email accounts via IMAP and SMTP, providing tools for searching, reading, sending, and managing emails across multiple providers.
    40
    393 npm
    94
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to read, search, send, and manage emails across multiple IMAP/SMTP accounts via a single deployment.
    -
  • F
    license
    B
    quality
    B
    maintenance
    Enables Claude to read, send, and manage emails via IMAP/SMTP for Strato mail accounts, including folder navigation, attachment handling, and draft management.
    15
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables Claude to read, search, draft, send, flag, and move email across multiple IMAP/SMTP mailboxes while keeping credentials local.
    -