Skip to main content
Glama

N Lobby CLI

Hinweis: Der Entwickler übernimmt keine Verantwortung für Schäden, die durch die Nutzung dieses Tools entstehen könnten. Diese Software wurde zu Bildungszwecken entwickelt und ihr Betrieb ist nicht garantiert.

Ein Dual-Mode-CLI- und Model Context Protocol (MCP)-Server für den Zugriff auf Daten des N Lobby-Schulportals. Verwenden Sie ihn interaktiv über das Terminal mit nlobby oder verbinden Sie ihn als MCP-Server mit nlobby serve mit einem KI-Assistenten.

Funktionen

  • CLI-Modus: Greifen Sie direkt vom Terminal auf N Lobby-Daten zu – Nachrichten, Stundenplan, Kurse, Profil und mehr

  • MCP-Modus: Vollständiger MCP-Server, kompatibel mit Claude, Cursor und anderen MCP-fähigen KI-Assistenten

  • Browserbasierte Authentifizierung: Interaktive Anmeldung über ein automatisiertes Puppeteer-Browserfenster

  • Sitzungspersistenz: Der CLI-Modus speichert Cookies unter ~/.nlobby/session für eine nahtlose anschließende Nutzung

  • Zugriff auf Schulinformationen: Abrufen von Ankündigungen, Stundenplänen und Lernressourcen

  • Verwaltung erforderlicher Kurse: Zugriff auf Informationen zu erforderlichen Kursen und akademische Daten

  • Mehrere Kalendertypen: Unterstützung für persönliche Kalender sowie Schulkaleder

  • Benutzerrollen-Unterstützung: Unterschiedliche Zugriffsebenen für Schüler, Eltern und Mitarbeiter

Related MCP server: MCP Server Sample

Installation

Option 1: Installation über npm (Empfohlen)

npm install -g nlobby-cli

Option 2: Entwicklungsinstallation

  1. Klonen Sie das Repository:

git clone https://github.com/minagishl/nlobby-cli.git
cd nlobby-cli
  1. Installieren Sie die Abhängigkeiten:

pnpm install
  1. Erstellen Sie das Projekt:

pnpm run build

Konfiguration

Erstellen Sie eine .env-Datei, falls Sie Standardwerte überschreiben müssen (optional):

NLOBBY_BASE_URL=https://nlobby.nnn.ed.jp
MCP_SERVER_NAME=nlobby-cli
MCP_SERVER_VERSION=1.0.0

CLI-Nutzung

Authentifizierung

# Interactive browser login (recommended)
nlobby login

# Set cookies manually
nlobby cookies set "__Secure-next-auth.session-token=ey...;"

# Check current authentication status
nlobby cookies check

Nachrichten

# List latest news (default: 10, newest first)
nlobby news

# Filter and sort
nlobby news --limit 20 --category お知らせ --sort oldest --unread

# Show full article
nlobby news show 980

# Download the first attachment to /tmp
nlobby news download 980 --index 1 --output-dir /tmp

# Mark as read
nlobby news read 980

Stundenplan & Kalender

# Today's schedule
nlobby schedule

# Specific date
nlobby schedule 2026-04-01

# This week's personal calendar
nlobby calendar

# School calendar for a date range
nlobby calendar --type school --from 2026-04-01 --to 2026-04-07

Kurse

# All required courses
nlobby courses

# Filter by grade / semester
nlobby courses --grade 2 --semester 2025

Profil & Gesundheit

nlobby profile
nlobby health

MCP-Server

# Start MCP server (stdio transport)
nlobby serve
# or
nlobby mcp

Alle Befehle unterstützen --json, um rohes JSON anstelle von formatiertem Text auszugeben.


MCP-Nutzung

Cursor IDE-Einrichtung

Install MCP Server

Fügen Sie Folgendes zu Ihren Cursor-Einstellungen hinzu (~/.cursor/config.json):

{
  "mcpServers": {
    "nlobby": {
      "command": "npx",
      "args": ["-y", "nlobby-cli", "serve"],
      "env": {
        "NLOBBY_BASE_URL": "https://nlobby.nnn.ed.jp"
      }
    }
  }
}

Claude Desktop-Einrichtung

Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu (~/Library/Application Support/Claude/claude_desktop_config.json unter macOS):

{
  "mcpServers": {
    "nlobby": {
      "command": "npx",
      "args": ["-y", "nlobby-cli", "serve"],
      "env": {
        "NLOBBY_BASE_URL": "https://nlobby.nnn.ed.jp"
      }
    }
  }
}

Andere MCP-Clients

Verwenden Sie für jeden MCP-kompatiblen Client:

  • Befehl: nlobby serve (falls global installiert) oder node /path/to/dist/index.js serve

  • Protokoll: stdio

  • Umgebung: Optionale Umgebungsvariablen wie im Abschnitt Konfiguration aufgeführt

MCP-Ressourcen

URI

Beschreibung

nlobby://news

Schulnachrichten und Bekanntmachungen

nlobby://schedule

Täglicher Stundenplan und Veranstaltungen

nlobby://required-courses

Erforderliche Kurse und akademische Informationen

nlobby://user-profile

Aktuelle Benutzerinformationen

MCP-Tools

Authentifizierung

Tool

Beschreibung

interactive_login

Browser für manuelle Anmeldung öffnen (empfohlen)

login_help

Personalisierte Hilfe bei der Anmeldung und Fehlerbehebung

set_cookies

Authentifizierungs-Cookies manuell setzen

check_cookies

Status der Authentifizierungs-Cookies prüfen

verify_authentication

Authentifizierungsstatus über alle Clients hinweg verifizieren

Nachrichten

Tool

Schlüsselparameter

Beschreibung

get_news

category? limit? sort?

Schulnachrichten mit Filterung abrufen

get_news_detail

newsId markAsRead?

Vollständige Details für einen bestimmten Artikel

mark_news_as_read

ids (Array)

Artikel als gelesen markieren

get_unread_news_info

Anzahl ungelesener Nachrichten und Flaggen für wichtige Nachrichten

Stundenplan & Kalender

Tool

Schlüsselparameter

Beschreibung

get_schedule

date?

Stundenplan für ein Datum (YYYY-MM-DD)

get_calendar_events

calendar_type? from_date? to_date? period?

Kalenderereignisse (persönlich/Schule)

test_calendar_endpoints

from_date? to_date?

Beide Kalender-Endpunkte testen

get_calendar_filters

Definitionen für Lobby-Kalenderfilter

Kurse & Prüfungen

Tool

Schlüsselparameter

Beschreibung

get_required_courses

grade? semester? category?

Erforderliche Kurse mit Fortschrittsverfolgung

check_exam_day

date?

Prüfen, ob ein Datum ein Prüfungstag ist

finish_exam_day_mode

Prüfungstagsmodus beenden

get_exam_otp

Einmalpasswort für die Prüfung abrufen

Konto & Navigation

Tool

Beschreibung

get_account_info

Kontoinformationen von der Next.js-Seite extrahieren

get_student_card_screenshot

Screenshot des Schülerausweises aufnehmen

update_last_access

Zeitstempel des letzten Zugriffs aktualisieren

get_navigation_menus

Liste des Hauptnavigationsmenüs

get_notifications

Benachrichtigungsnachrichten

get_user_interests

Benutzerinteressen-Tags (mit optionalen Icon-Daten)

get_interest_weights

Definitionen der Gewichtungsskala für Interessen

Fehlerbehebung

Tool

Schlüsselparameter

Beschreibung

health_check

N Lobby API-Verbindung testen

debug_connection

endpoint?

Detaillierte Verbindungsfehlerbehebung

test_page_content

endpoint? length?

Testen des Abrufs von Seiteninhalten

test_trpc_endpoint

method params?

Einen spezifischen tRPC-Endpunkt testen


Authentifizierungsablauf

Methode 1: Interaktive Browser-Anmeldung (Empfohlen)

CLI:

nlobby login

MCP-Tool: interactive_login

Ein Browserfenster öffnet sich automatisch. Schließen Sie die N Lobby-Anmeldung ab; die Cookies werden extrahiert und gespeichert.

  1. Melden Sie sich in Ihrem Webbrowser bei N Lobby an

  2. Öffnen Sie die Entwicklertools → Anwendung / Speicher → Cookies

  3. Kopieren Sie alle Cookies als Zeichenfolge

CLI:

nlobby cookies set "__Secure-next-auth.session-token=ey...;"

MCP-Tool: set_cookies cookies="__Secure-next-auth.session-token=ey...;"


Benutzertypen

Der Server unterstützt drei Benutzertypen basierend auf der E-Mail-Domain:

Typ

E-Mail-Domain

Schüler

@nnn.ed.jp

Mitarbeiter

@nnn.ac.jp

Eltern

Jede andere registrierte E-Mail


Projektstruktur

src/
├── index.ts              # Entry point — CLI vs MCP mode detection
├── config.ts             # Configuration management
├── logger.ts             # Logging utilities
├── trpc-client.ts        # tRPC client for API calls
├── types.ts              # TypeScript type definitions
├── api/
│   ├── index.ts          # NLobbyApi facade + session persistence
│   ├── context.ts        # ApiContext interface
│   ├── shared.ts         # Shared utilities (fetchRenderedHtml, …)
│   ├── news.ts           # News functions
│   ├── schedule.ts       # Schedule / calendar functions
│   ├── courses.ts        # Course / exam functions
│   ├── account.ts        # Account info / student card functions
│   ├── navigation.ts     # Navigation / notification / interest functions
│   └── health.ts         # Health check / debug functions
├── auth/
│   ├── browser.ts        # Puppeteer browser authentication
│   ├── nextauth.ts       # NextAuth.js session handling
│   └── credentials.ts    # Credential validation and guidance
├── cli/
│   ├── index.ts          # Commander program wiring
│   ├── commands/         # login, news, schedule, courses, profile, health, serve
│   └── formatters/       # Human-readable output formatters
└── mcp/
    └── server.ts         # MCP server (28 tools, 4 resources)

Entwicklung

Skripte

pnpm run build   # Build (esbuild bundle + tsc type declarations)
pnpm run dev     # Watch mode
pnpm run start   # Start MCP server
pnpm run lint    # Lint
pnpm run format  # Format

Sicherheitshinweise

  • CLI-Cookies werden unter ~/.nlobby/session gespeichert (im Klartext — schützen Sie diese entsprechend)

  • Der MCP-Modus hält alle Authentifizierungs-Token nur im Arbeitsspeicher

  • Browser-Automatisierung wird nur zur Authentifizierung verwendet, nicht zum Data Scraping

  • Es werden keine sensiblen Daten protokolliert


Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert — siehe die Datei LICENSE für Details.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
B
quality - B tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/minagishl/nlobby-mcp'

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