Skip to main content
Glama

CLI de N Lobby

Nota: El desarrollador no asume ninguna responsabilidad por los daños que puedan ocurrir al usar esta herramienta. Este software fue desarrollado con fines educativos y su funcionamiento no está garantizado.

Un servidor CLI y de Protocolo de Contexto de Modelo (MCP) de modo dual para acceder a los datos del portal escolar N Lobby. Úselo de forma interactiva desde la terminal con nlobby, o conéctelo a un asistente de IA como servidor MCP con nlobby serve.

Características

  • Modo CLI: Acceda a los datos de N Lobby directamente desde la terminal: noticias, horarios, cursos, perfil y más.

  • Modo MCP: Servidor MCP completo compatible con Claude, Cursor y otros asistentes de IA habilitados para MCP.

  • Autenticación basada en navegador: Inicio de sesión interactivo a través de una ventana de navegador Puppeteer automatizada.

  • Persistencia de sesión: El modo CLI guarda las cookies en ~/.nlobby/session para un uso posterior sin interrupciones.

  • Acceso a información escolar: Recupere anuncios, horarios y recursos de aprendizaje.

  • Gestión de cursos obligatorios: Acceda a información de cursos obligatorios y datos académicos.

  • Múltiples tipos de calendario: Soporte tanto para calendarios personales como escolares.

  • Soporte de roles de usuario: Diferentes niveles de acceso para estudiantes, padres y personal.

Related MCP server: MCP Server Sample

Instalación

Opción 1: Instalar desde npm (Recomendado)

npm install -g nlobby-cli

Opción 2: Instalación de desarrollo

  1. Clone el repositorio:

git clone https://github.com/minagishl/nlobby-cli.git
cd nlobby-cli
  1. Instale las dependencias:

pnpm install
  1. Construya el proyecto:

pnpm run build

Configuración

Cree un archivo .env si necesita anular los valores predeterminados (opcional):

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

Uso de CLI

Autenticación

# 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

Noticias

# 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

Horarios y Calendario

# 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

Cursos

# All required courses
nlobby courses

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

Perfil y Salud

nlobby profile
nlobby health

Servidor MCP

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

Todos los comandos admiten --json para generar JSON sin formato en lugar de texto formateado.


Uso de MCP

Configuración de Cursor IDE

Instalar servidor MCP

Añada lo siguiente a su configuración de Cursor (~/.cursor/config.json):

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

Configuración de Claude Desktop

Añada a su configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

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

Otros clientes MCP

Para cualquier cliente compatible con MCP, utilice:

  • Comando: nlobby serve (si está instalado globalmente) o node /ruta/a/dist/index.js serve

  • Protocolo: stdio

  • Entorno: Variables de entorno opcionales como se indica en la sección de Configuración

Recursos MCP

URI

Descripción

nlobby://news

Noticias y avisos escolares

nlobby://schedule

Horario de clases diario y eventos

nlobby://required-courses

Cursos obligatorios e información académica

nlobby://user-profile

Información del usuario actual

Herramientas MCP

Autenticación

Herramienta

Descripción

interactive_login

Abrir navegador para inicio de sesión manual (recomendado)

login_help

Ayuda personalizada para inicio de sesión y solución de problemas

set_cookies

Establecer manualmente las cookies de autenticación

check_cookies

Comprobar el estado de las cookies de autenticación

verify_authentication

Verificar el estado de autenticación en todos los clientes

Noticias

Herramienta

Parámetros clave

Descripción

get_news

category? limit? sort?

Recuperar noticias escolares con filtrado

get_news_detail

newsId markAsRead?

Detalle completo de un artículo específico

mark_news_as_read

ids (array)

Marcar artículos como leídos

get_unread_news_info

Recuento de no leídos y banderas de noticias importantes

Horarios y Calendario

Herramienta

Parámetros clave

Descripción

get_schedule

date?

Horario para una fecha (AAAA-MM-DD)

get_calendar_events

calendar_type? from_date? to_date? period?

Eventos del calendario (personal/escolar)

test_calendar_endpoints

from_date? to_date?

Probar ambos puntos finales de calendario

get_calendar_filters

Definiciones de filtro de calendario Lobby

Cursos y Exámenes

Herramienta

Parámetros clave

Descripción

get_required_courses

grade? semester? category?

Cursos obligatorios con seguimiento de progreso

check_exam_day

date?

Comprobar si una fecha es día de examen

finish_exam_day_mode

Finalizar modo día de examen

get_exam_otp

Obtener contraseña de un solo uso para examen

Cuenta y Navegación

Herramienta

Descripción

get_account_info

Extraer información de cuenta de la página Next.js

get_student_card_screenshot

Capturar captura de pantalla de tarjeta de estudiante

update_last_access

Actualizar marca de tiempo de último acceso

get_navigation_menus

Lista de menú de navegación principal

get_notifications

Mensajes de notificación

get_user_interests

Etiquetas de interés del usuario (con datos de icono opcionales)

get_interest_weights

Definiciones de escala de peso de interés

Depuración

Herramienta

Parámetros clave

Descripción

health_check

Probar conexión API de N Lobby

debug_connection

endpoint?

Depuración detallada de conexión

test_page_content

endpoint? length?

Prueba de recuperación de contenido de página

test_trpc_endpoint

method params?

Probar un punto final tRPC específico


Flujo de autenticación

Método 1: Inicio de sesión interactivo en navegador (Recomendado)

CLI:

nlobby login

Herramienta MCP: interactive_login

Se abre una ventana del navegador automáticamente. Complete el inicio de sesión en N Lobby, y las cookies se extraerán y guardarán.

Método 2: Configuración manual de cookies

  1. Inicie sesión en N Lobby en su navegador web

  2. Abra DevTools → Aplicación / Almacenamiento → Cookies

  3. Copie todas las cookies como una cadena

CLI:

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

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


Tipos de usuario

El servidor admite tres tipos de usuario según el dominio de correo electrónico:

Tipo

Dominio de correo electrónico

Estudiantes

@nnn.ed.jp

Personal

@nnn.ac.jp

Padres

Cualquier otro correo registrado


Estructura del proyecto

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)

Desarrollo

Scripts

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

Notas de seguridad

  • Las cookies de CLI se almacenan en ~/.nlobby/session (texto plano — protéjalas en consecuencia)

  • El modo MCP mantiene todos los tokens de autenticación solo en memoria

  • La automatización del navegador se utiliza solo para la autenticación, no para el raspado de datos

  • No se registran datos confidenciales


Licencia

Este proyecto tiene licencia MIT — consulte el archivo LICENSE para obtener más detalles.

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