Skip to main content
Glama

studylife-mcp

An MCP server exposing StudyLife (a self-hosted Blazor WASM + ASP.NET Core study-management platform) to Claude and other MCP clients.

Deliberately scoped narrower than its sister project studylife-ai: no RAG, no agent loop — the MCP client (e.g. Claude Desktop) is the agent, this server just exposes cleanly modeled tools and resources.

Status: S2 in progress — five read-only tools over stdio, verified end-to-end against a real StudyLife instance and (S1) inside Claude Desktop.

Setup (Claude Desktop, stdio)

  1. Copy .env.example to .env and fill in your StudyLife instance URL and API key (Setup page in StudyLife → generate an API key; S1 reuses the existing "Home Assistant" key slot for convenience, see docs/decisions.md).

  2. Install dependencies: uv sync

  3. Add to your Claude Desktop config (claude_desktop_config.json):

    {
      "mcpServers": {
        "studylife": {
          "command": "uv",
          "args": ["run", "--directory", "/absolute/path/to/studylife-mcp", "studylife-mcp"]
        }
      }
    }

    Where to find that file depends on how Claude Desktop was installed:

    • Classic installer: %APPDATA%\Claude\claude_desktop_config.json (Windows) / ~/Library/Application Support/Claude/claude_desktop_config.json (macOS).

    • MSIX-packaged app (Microsoft Store-style install, package id starting Claude_...): %APPDATA% is redirected to %LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\claude_desktop_config.json. In-app: Settings → Developer → "Local MCP servers" opens this same file. Note the app's "Benutzerdefinierten Connector hinzufügen" dialog is for remote MCP servers (URL-based, Streamable HTTP) only — it does not accept a local command; local stdio servers are configured exclusively via this JSON file.

  4. Restart Claude Desktop (fully quit, not just close the window). The list_courses tool should appear.

Related MCP server: Moodle Student MCP

Configuration

Variable

Description

STUDYLIFE_BASE_URL

Base URL of your StudyLife instance, e.g. https://studylife.example.com/

STUDYLIFE_API_KEY

API key from StudyLife's setup page, sent as the X-Api-Key header

Tools

Tool

Effect

list_courses

Read-only. Lists all courses of the active study program (semester, code, color, icon, topics, ECTS). Does not modify any data.

list_notes

Read-only. Lists all notes (title, content, course/session link, timestamps). Does not modify any data.

search_notes

Read-only. Full-text searches notes by title and content. Does not modify any data.

list_sessions

Read-only. Lists all study sessions/calendar entries (course, time range, topic, notes, completion status). Does not modify any data.

list_course_goals

Read-only. Lists per-course learning goals (target date, completion status, grade, completed topics, tag). No aggregate ECTS total. Does not modify any data.

Development

uv sync
uv run ruff check .
uv run mypy src
uv run pytest

See docs/decisions.md for the reasoning behind notable design decisions.

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • Official Microsoft MCP Server to query Microsoft Entra data using natural language

  • Read-only access to your VortexIQ store data: audits, KPIs, alerts, Brand DNA, reports, Ask VIQ.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lukislp/studylife-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server