The N Lobby MCP Server provides secure access to N Lobby school portal data through a Model Context Protocol (MCP) compliant interface.
Secure Authentication: Interactive browser-based login, manual cookie setup, and session management with authentication verification
Access School Information: Retrieve announcements, news articles, daily schedules, and learning resources with ability to mark news as read
Academic Management: Get comprehensive required course information with progress tracking, credits, grades, and filtering by grade level, category, or semester
Calendar Events: Access personal and school calendars with flexible filtering by predefined periods (today, week, month) or custom date ranges
User Profile Access: Retrieve current user-specific information with support for different roles (students, parents, staff) based on email domains
Advanced Features: Filter and sort data with options for news sorting, course filtering, and date range selection
Troubleshooting Tools: Debug authentication, test endpoints, verify system status, check API connection health, and test page content retrieval
MCP Client Integration: Compatible with various MCP-enabled AI assistants like Cursor and Claude Desktop for seamless setup
Supports environment variable configuration for customizing the N Lobby base URL and MCP server settings
Hosts the repository for development installation of the nlobby-mcp server
Supports configuration for Claude Desktop on macOS systems via specific configuration paths
Provides installation and distribution of the nlobby-mcp package to enable easy setup of the MCP server
Used for package management and running development scripts for the MCP server
Enables communication with N Lobby's tRPC endpoints to retrieve and interact with school portal data including news, schedules, and academic information
The MCP server is built with TypeScript, providing type-safe access to N Lobby's API endpoints and data structures
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@N Lobby MCP Servershow me today's class schedule"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
N Lobby CLI
Note: The developer assumes no responsibility for any damages that may occur from using this tool. This software was developed for educational purposes and its operation is not guaranteed.
A dual-mode CLI and Model Context Protocol (MCP) server for accessing N Lobby school portal data. Use it interactively from the terminal with nlobby, or connect it to an AI assistant as an MCP server with nlobby serve.
Features
CLI Mode: Access N Lobby data directly from the terminal — news, schedule, courses, profile, and more
MCP Mode: Full MCP server compatible with Claude, Cursor, and other MCP-enabled AI assistants
Browser-based Authentication: Interactive login via automated Puppeteer browser window
Session Persistence: CLI mode saves cookies to
~/.nlobby/sessionfor seamless subsequent useSchool Information Access: Retrieve announcements, schedules, and learning resources
Required Courses Management: Access required course information and academic data
Multiple Calendar Types: Support for both personal and school calendars
User Role Support: Different access levels for students, parents, and staff
Related MCP server: MCP Server Sample
Installation
Option 1: Install from npm (Recommended)
npm install -g nlobby-cliOption 2: Development Installation
Clone the repository:
git clone https://github.com/minagishl/nlobby-cli.git
cd nlobby-cliInstall dependencies:
pnpm installBuild the project:
pnpm run buildConfiguration
Create a .env file if you need to override defaults (optional):
NLOBBY_BASE_URL=https://nlobby.nnn.ed.jp
MCP_SERVER_NAME=nlobby-cli
MCP_SERVER_VERSION=1.0.0CLI Usage
Authentication
# Interactive browser login (recommended)
nlobby login
# Set cookies manually
nlobby cookies set "__Secure-next-auth.session-token=ey...;"
# Check current authentication status
nlobby cookies checkNews
# 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
# Mark as read
nlobby news read 980Schedule & Calendar
# 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-07Courses
# All required courses
nlobby courses
# Filter by grade / semester
nlobby courses --grade 2 --semester 2025Profile & Health
nlobby profile
nlobby healthMCP Server
# Start MCP server (stdio transport)
nlobby serve
# or
nlobby mcpAll commands support
--jsonto output raw JSON instead of formatted text.
MCP Usage
Cursor IDE Setup
Add the following to your Cursor settings (~/.cursor/config.json):
{
"mcpServers": {
"nlobby": {
"command": "npx",
"args": ["-y", "nlobby-cli", "serve"],
"env": {
"NLOBBY_BASE_URL": "https://nlobby.nnn.ed.jp"
}
}
}
}Claude Desktop Setup
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"nlobby": {
"command": "npx",
"args": ["-y", "nlobby-cli", "serve"],
"env": {
"NLOBBY_BASE_URL": "https://nlobby.nnn.ed.jp"
}
}
}
}Other MCP Clients
For any MCP-compatible client, use:
Command:
nlobby serve(if installed globally) ornode /path/to/dist/index.js serveProtocol: stdio
Environment: Optional environment variables as listed in the Configuration section
MCP Resources
URI | Description |
| School news and notices |
| Daily class schedule and events |
| Required courses and academic information |
| Current user information |
MCP Tools
Authentication
Tool | Description |
| Open browser for manual login (recommended) |
| Personalized login help and troubleshooting |
| Manually set authentication cookies |
| Check authentication cookie status |
| Verify authentication status across all clients |
News
Tool | Key Parameters | Description |
|
| Retrieve school news with filtering |
|
| Full detail for a specific article |
|
| Mark articles as read |
| Unread count and important-news flags |
Schedule & Calendar
Tool | Key Parameters | Description |
|
| Schedule for a date (YYYY-MM-DD) |
|
| Calendar events (personal/school) |
|
| Test both calendar endpoints |
| Lobby calendar filter definitions |
Courses & Exams
Tool | Key Parameters | Description |
|
| Required courses with progress tracking |
|
| Check if a date is an exam day |
| End exam day mode | |
| Get one-time password for exam |
Account & Navigation
Tool | Description |
| Extract account info from Next.js page |
| Capture student ID card screenshot |
| Update last access timestamp |
| Main navigation menu list |
| Notification messages |
| User interest tags (with optional icon data) |
| Interest weight scale definitions |
Debugging
Tool | Key Parameters | Description |
| Test N Lobby API connection | |
|
| Detailed connection debugging |
|
| Page content retrieval testing |
|
| Test a specific tRPC endpoint |
Authentication Flow
Method 1: Interactive Browser Login (Recommended)
CLI:
nlobby loginMCP tool: interactive_login
A browser window opens automatically. Complete the N Lobby login, and cookies are extracted and saved.
Method 2: Manual Cookie Setup
Log in to N Lobby in your web browser
Open DevTools → Application / Storage → Cookies
Copy all cookies as a string
CLI:
nlobby cookies set "__Secure-next-auth.session-token=ey...;"MCP tool: set_cookies cookies="__Secure-next-auth.session-token=ey...;"
User Types
The server supports three user types based on email domain:
Type | Email Domain |
Students |
|
Staff |
|
Parents | Any other registered email |
Project Structure
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)Development
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 # FormatSecurity Notes
CLI cookies are stored in
~/.nlobby/session(plain text — protect accordingly)MCP mode keeps all authentication tokens in memory only
Browser automation is used only for authentication, not data scraping
No sensitive data is logged
License
This project is licensed under the MIT License — see the LICENSE file for details.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.