Token导航 LogoToken导航TokenDH.com
Sagasu MCP logo
AI代理未说明官方级别未说明来源级核验

Sagasu MCP

MCP Server

Sagasu MCP 是一个模型上下文协议服务器,提供设施可用性、用户预订和任务查询功能,旨在通过LLM程序化访问校园设施信息。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
数据抓取TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

injaneity

提供方

injaneity

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

sagasu mcp服务器

smu设施预订网站已经过时了。人工智能在哪里?

由于严重缺乏艺术天赋,与双子座3 pro一起创作的吉祥物。

sagasu能做什么

所有搜索结果都会自动缓存,并具有可配置的过期检测功能(您可以运行 refresh_data 如果你愿意的话),该工具可以直接集成到其他mcp客户端(包括我亲爱的claude代码)。

  • 检查可用性: sagasu-mcp 随附中所有有效过滤器的完整文档 FILTER_VALUES.md --包括建筑物、楼层、设施类型、设备和容量
  • 查看现有预订
  • 查看用户任务列表

sagasu不能做什么(以及为什么)

sagasu-mcp 不能 图书室。这是一个 *故意的* 设计决策,以防止smu的设施预订流程变成代理战争,代理人正在为预订房间而战——这会饿死真正需要房间的人。虽然实现这一点很简单,但我们宁愿 sagasu-mcp 不得为此目的滥用。

安装

您应该已经拥有:

  • node.js 18+
  • 剧作家安装

克隆仓库,然后创建一个 .env 使用您的凭据文件:

SMU_EMAIL=your.email@yourschool.smu.edu.sg
SMU_PASSWORD=your_password
npm run build

为享受claude代码的人

添加到您的claude配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "sagasu": {
      "command": "node",
      "args": ["/path/to/sagasu-mcp/build/index.js"],
      "env": {
        "SMU_EMAIL": "your.email@yourschool.smu.edu.sg",
        "SMU_PASSWORD": "your_password"
      }
    }
  }
}

实际文件

get_available_rooms

看见 FILTER_VALUES.md 对于所有有效的筛选值

参数:

  • date (字符串,可选):日期格式为DD-MMM-YYYY(默认值:今天)
  • startTime (字符串,可选):HH:MM格式的开始时间(默认值:08:00)
  • endTime (字符串,可选):HH:MM格式的结束时间(默认值:22:00)
  • buildings (string\[\],可选):按建筑名称筛选
  • floors (string\[\],可选):按楼层号筛选
  • facilityTypes (string\[\],可选):按设施类型筛选
  • equipment (string\[\],可选):按所需设备过滤
  • capacity (字符串,可选):容量范围过滤器
  • availableNow (布尔值,可选):仅显示当前可用的房间

例子:

{
  "buildings": ["Lee Kong Chian School of Business", "School of Computing & Information Systems 1"],
  "availableNow": true
}

get_user_bookings

参数:

  • status (字符串,可选):按“全部”、“已确认”或“待定”筛选

get_tasks

参数:

  • status (字符串,可选):按“全部”、“待处理”、“已批准”或“已拒绝”进行筛选

refresh_data

参数:

  • type (字符串,必填):“房间”、“预订”、“任务”或“全部”
  • config (对象,可选):房间刮擦配置

例子:

{
  "type": "rooms",
  "config": {
    "startTime": "09:00",
    "endTime": "18:00",
    "buildings": ["Lee Kong Chian School of Business"]
  }
}

get_status

检查缓存新鲜度和抓取器状态。

响应:

{
  "rooms": { "lastUpdated": "2024-01-15T10:30:00Z", "stale": false },
  "bookings": { "lastUpdated": "2024-01-15T09:00:00Z", "stale": true },
  "tasks": { "lastUpdated": null, "stale": true },
  "credentialsConfigured": true
}

缓存

数据在本地缓存以减少抓取频率:

数据类型TTL
房间30分钟
预订1小时
任务1小时

使用 get_status 检查缓存新鲜度和 refresh_data 强行进行新的刮擦。

项目结构

sagasu-mcp/
├── src/
│   ├── index.ts              # MCP server entry point
│   ├── scrapers/
│   │   ├── auth.ts           # Shared authentication
│   │   ├── rooms.ts          # Room availability scraper
│   │   ├── bookings.ts       # User bookings scraper
│   │   └── tasks.ts          # Tasks scraper
│   ├── cache/
│   │   └── manager.ts        # Cache management
│   ├── tools/
│   │   ├── get-rooms.ts      # MCP tool: get available rooms
│   │   ├── get-bookings.ts   # MCP tool: get user bookings
│   │   ├── get-tasks.ts      # MCP tool: get tasks
│   │   ├── refresh.ts        # MCP tool: refresh data
│   │   └── status.ts         # MCP tool: cache status
│   └── types/
│       └── index.ts          # TypeScript types
├── tests/
│   └── scrapers.test.ts      # Unit tests
├── cache/                    # Cached JSON data
├── package.json
├── tsconfig.json
└── vitest.config.ts

许可和贡献

麻省理工学院

如果你想贡献,请打开一个问题和/或拉取请求。请注意,其目的是 以公平对待其他付费学生的名义,实现设施预订流程的自动化。

目录标签

目录标签

数据抓取TypeScriptClaude设施管理本地部署LLM集成校园服务自动化查询

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP