注意: 开发者不对使用此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
对于npm安装:
nlobby-mcp
对于开发安装:
pnpm run start
<details>
<summary>与Cursor和其他MCP客户端设置</summary>
在您的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 - 标记新闻文章为已读(支持多个ID)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
# 标记新闻文章为已读(单个ID)
mark_news_as_read ids=["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;
服务器根据电子邮件域支持三种用户类型:
@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 # tRPC客户端用于API调用
├── 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 - 身份验证状态验证本项目采用MIT许可证 - 详情请参阅LICENSE文件。