N Lobby MCP 服务器是一个用于访问 N Lobby 学校门户数据的模型上下文协议(MCP)服务器。它通过基于浏览器的身份验证,为用户提供对学校信息(包括公告、日程安排和学习资源)的安全访问。
npm install -g nlobby-mcp
git clone https://github.com/minagishl/nlobby-mcp.git
cd nlobby-mcp
pnpm install
cp .env.example .env
# 如有需要,编辑 .env 文件(默认值通常可用)
pnpm run build
创建一个 .env 文件,包含以下变量(可选,提供了默认值):
# N Lobby 配置
NLOBBY_BASE_URL=https://nlobby.nnn.ed.jp
# MCP 服务器配置
MCP_SERVER_NAME=nlobby-mcp
MCP_SERVER_VERSION=1.0.0
nlobby-mcp
pnpm run start
在你的 Cursor 设置文件(~/.cursor/config.json)中添加以下内容:
{
"mcpServers": {
"nlobby": {
"command": "npx",
"args": ["-y", "nlobby-mcp"],
"env": {
"NLOBBY_BASE_URL": "https://nlobby.nnn.ed.jp"
}
}
}
}
在你的 Claude Desktop 配置文件(macOS 系统为 ~/Library/Application Support/Claude/claude_desktop_config.json)中添加以下内容:
{
"mcpServers": {
"nlobby": {
"command": "npx",
"args": ["-y", "nlobby-mcp"],
"env": {
"NLOBBY_BASE_URL": "https://nlobby.nnn.ed.jp"
}
}
}
}
对于任何兼容 MCP 的客户端,使用以下设置:
nlobby-mcp(如果全局安装)或 node /path/to/nlobby-mcp/dist/index.js服务器提供以下资源:
nlobby://news - 学校新闻和通知nlobby://schedule - 每日课程表和活动安排nlobby://required-courses - 必修课程和学术信息nlobby://user-profile - 当前用户信息interactive_login - 打开浏览器进行手动登录到 N Lobby(推荐)login_help - 获取个性化的登录帮助和故障排除信息set_cookies - 手动设置身份验证 cookiecheck_cookies - 检查身份验证 cookie 状态verify_authentication - 验证所有客户端的身份验证状态get_news - 检索学校新闻,支持过滤和排序选项get_news_detail - 检索特定新闻文章的详细信息get_required_courses - 检索必修课程信息,支持过滤选项get_schedule - 获取特定日期的日程安排(向后兼容)get_calendar_events - 获取日历活动,支持高级选项(个人/学校)test_calendar_endpoints - 测试个人和学校日历端点mark_news_as_read - 将新闻文章标记为已读health_check - 测试 N Lobby API 连接debug_connection - 详细调试 N Lobby 连接test_page_content - 测试页面内容检索并显示示例内容test_trpc_endpoint - 测试特定的 tRPC 端点并显示详细响应本服务器不提供任何预配置的提示。
interactive_login 工具(无需凭证)set_cookies 工具并提供完整的 cookie 字符串health_check 工具验证连接# 获取学生账户帮助
login_help email="your.name@nnn.ed.jp"
# 使用交互式登录(推荐)
interactive_login
# 获取今日新闻
get_news
# 获取特定新闻文章的详细信息
get_news_detail newsId="980"
# 获取新闻详情并标记为已读
get_news_detail newsId="980" markAsRead=true
# 获取今日个人日历活动
get_calendar_events calendar_type="personal" period="today"
# 获取本周学校日历活动
get_calendar_events calendar_type="school" period="week"
# 获取必修课程信息
get_required_courses
# 获取特定年级的必修课程
get_required_courses grade=2
# 将新闻文章标记为已读
mark_news_as_read id="980"
# 获取教职工账户帮助
login_help email="your.name@nnn.ac.jp"
# 使用交互式登录
interactive_login
# 测试两个日历端点
test_calendar_endpoints
# 获取家长账户帮助
login_help email="parent@gmail.com"
# 使用交互式登录
interactive_login
# 查看孩子的新闻
get_news
# 获取孩子的日程安排
get_calendar_events calendar_type="personal" period="today"
# 获取通用帮助
login_help
# 检查连接状态
health_check
# 检查 cookie 状态
check_cookies
# 验证所有系统的身份验证状态
verify_authentication
# 详细调试连接
debug_connection
# 测试页面内容检索
test_page_content endpoint="/news"
get_required_courses 工具允许你检索学术课程信息:
# 获取所有必修课程
get_required_courses
# 按年级过滤
get_required_courses grade=1
get_required_courses grade=2
# 组合多个过滤条件
get_required_courses grade=2 semester="2024"
响应包含全面的课程信息:
get_calendar_events 工具支持高级选项:
# 获取今日个人日历
get_calendar_events calendar_type="personal" period="today"
# 获取本周学校日历
get_calendar_events calendar_type="school" period="week"
# 获取特定日期范围的活动
get_calendar_events calendar_type="personal" from_date="2024-01-15" to_date="2024-01-20"
# 获取单日活动
get_calendar_events calendar_type="personal" from_date="2024-01-15"
使用 set_cookies 时,提供从浏览器获取的完整 cookie 字符串:
__Secure-next-auth.session-token=ey...; __Host-next-auth.csrf-token=abc123...; other-cookies=values;
npm install -g nlobby-mcp
git clone https://github.com/minagishl/nlobby-mcp.git
cd nlobby-mcp
pnpm install
cp .env.example .env
# 如有需要,编辑 .env 文件(默认值通常可用)
pnpm run build
创建一个 .env 文件,包含以下变量(可选,提供了默认值):
# N Lobby 配置
NLOBBY_BASE_URL=https://nlobby.nnn.ed.jp
# MCP 服务器配置
MCP_SERVER_NAME=nlobby-mcp
MCP_SERVER_VERSION=1.0.0
服务器根据电子邮件域名支持三种用户类型:
@nnn.ed.jp@nnn.ac.jppnpm run build - 构建 TypeScript 项目pnpm run dev - 开发模式下的监听模式pnpm run start - 启动 MCP 服务器pnpm run test - 运行测试pnpm run lint - 代码检查pnpm run format - 代码格式化src/
├── index.ts # 入口点
├── server.ts # MCP 服务器实现
├── api.ts # N Lobby API 集成
├── browser-auth.ts # 用于登录的浏览器自动化
├── credential-manager.ts # 用户凭证验证和管理
├── nextauth.ts # NextAuth.js 会话处理
├── trpc-client.ts # 用于 API 调用的 tRPC 客户端
├── config.ts # 配置管理
├── logger.ts # 日志实用工具
└── types.ts # TypeScript 类型定义
服务器使用多个层进行身份验证和 API 访问:
interactive_login 进行最可靠的身份验证verify_authentication 检查同步情况health_check 和 debug_connection 进行诊断服务器包含全面的调试工具:
debug_connection - 网络和身份验证调试test_page_content - 内容检索测试test_trpc_endpoint - API 端点测试verify_authentication - 身份验证状态验证服务器使用多个层进行身份验证和 API 访问:
项目结构清晰,各模块分工明确:
index.ts 作为入口点,启动整个服务器。server.ts 实现了 MCP 服务器的核心逻辑。api.ts 负责与 N Lobby API 进行集成。browser-auth.ts 实现了浏览器自动化登录功能。credential-manager.ts 对用户凭证进行验证和管理。nextauth.ts 处理 NextAuth.js 会话。trpc-client.ts 用于进行 tRPC 端点的 API 调用。config.ts 管理服务器的配置信息。logger.ts 提供日志记录功能。types.ts 定义了 TypeScript 类型,确保代码的类型安全。本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
⚠️ 重要提示
开发者不对使用此 MCP 服务器可能造成的任何损害负责。本软件是为教育目的开发的,不保证其运行效果。