关于 syllabus-calendar-mcp
syllabus-calendar-mcp 是面向学生的本地 MCP 服务,可将粘贴的教学大纲文本转换为日历事件。它还能展开重复课程、生成 .ics 日历并合并日历以查找冲突,解析和处理均在本地完成。
主要功能
- 01从教学大纲文本提取日期事件
- 02展开重复课程并跳过假期
- 03生成带提醒的 .ics 日历
- 04合并日历并查找定时冲突
- 05返回未标注日期的文本行以供检查
适用场景
- 01将课程作业日期转换为事件
- 02创建课程安排并排除阅读周
- 03生成带作业提醒的 .ics 日历
- 04检查多个课程日历中的时间冲突
MCP 相关
它向 MCP 客户端提供 extract_schedule_events、expand_recurring_classes、build_ics 和 merge_calendars 四种工具。日历生成和合并工具可在提供输出路径时写入文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 粘贴的课程大纲或课程安排。每行填写一个事件,并在该行中注明日期。 |
| year | integer | 否 | 日期未注明年份时使用的年份。默认值为当前年份。 |
| course | string | 否 | 添加到每个事件的课程名称或代码,例如 BIO 101。 |
详细介绍
syllabus to calendar mcp
syllabus to calendar mcp 是一个免费的 mcp 服务,已发布到 npm,名称为 syllabus-calendar-mcp。将粘贴的课程大纲文本转换为日历事件,根据事件和定期课程创建有效的 .ics 文件,跳过假期和阅读周,并合并日历以查找冲突。所有计算和解析都由经过测试的代码完成。它在你的电脑上运行,无需联网,也不需要登录。
可解析从 Canvas、Brightspace、Moodle 或 PDF 导出的文本。
永久免费。无需账号。
对比
brightspace-mcp-server 和 @exhabition/brightspace-mcp 需要先登录 brightspace 才能读取内容。本服务无需账号、API 密钥或网络连接。它处理你粘贴的课程大纲文本,因此适用于任何学校的课程大纲,而不只是 brightspace 课程。
示例输出
粘贴如下文本:
Assignment 1 due Sep 15
Midterm exam October 20 at 10:00
Lab report 2 due Dec 8
将 course 设为 BIO 101、year 设为 2026 后,extract_schedule_events 会返回:
3 events found.
- Tue, Sep 15, 2026: Assignment 1 (assignment) [BIO 101]
- Tue, Oct 20, 2026 at 10:00: Midterm exam (exam) [BIO 101]
- Tue, Dec 8, 2026: Lab report 2 (lab) [BIO 101]
Next: pass these events to build_ics as events to make an .ics calendar.
如果粘贴的行没有日期,也不会被丢弃。extract_schedule_events 会将这些行返回在 undated_lines 中,并列在事件下方,方便你修正文本后再次运行工具。
build_ics 会将这些事件转换为日历,文件开头如下:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//AnonymousOnyx22//syllabus-calendar-mcp//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:BIO 101
导入到日历
.ics 文件适用于任何日历应用。保存文件,然后导入即可。
google calendar
在浏览器中打开 google calendar。点击齿轮图标,然后选择设置。打开导入和导出,选择 .ics 文件,选定要添加事件的日历,然后点击导入。
apple calendar
双击 .ics 文件。calendar 会打开,并询问要将事件添加到哪个日历。或者打开 calendar,选择文件,然后选择导入。
outlook
打开 outlook。选择文件,然后依次选择打开和导出、导入和导出。选择导入 iCalendar 或 vCal 文件,选中 .ics 文件并导入。
安装
使用 npx 即可直接从 npm 运行。你需要 Node.js 20 或更高版本,详情请参阅Node 版本。
npx -y syllabus-calendar-mcp
将它添加到 AI 应用的 MCP 配置中,这样应用就能为你启动它。每个应用都从自己的文件读取配置,请选择你使用的应用:
claude desktop
将以下内容添加到 claude_desktop_config.json:
{
"mcpservers": {
"syllabus-calendar": {
"command": "npx",
"args": ["-y", "syllabus-calendar-mcp"]
}
}
}
保存文件后,重启 claude desktop。
命令行
在终端中运行:
npx -y @modelcontextprotocol/inspector syllabus-calendar-mcp
cursor
cursor 从项目文件夹中的 .cursor/mcp.json,或主文件夹中的 ~/.cursor/mcp.json 读取 mcp.json。
{
"mcpservers": {
"syllabus-calendar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "syllabus-calendar-mcp"]
}
}
}
保存文件后,重启 cursor。
vs code copilot
将以下内容放入项目文件夹中的 .vscode/mcp.json,或用户配置文件中的 mcp.json 文件:
{
"servers": {
"syllabus-calendar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "syllabus-calendar-mcp"]
}
}
}
vs code 也会读取项目根目录中的便携式 .mcp.json 文件。该文件使用 mcpservers 而非 servers 作为名称:
{
"mcpservers": {
"syllabus-calendar": {
"command": "npx",
"args": ["-y", "syllabus-calendar-mcp"]
}
}
}
保存文件后,重启 vs code。
试试这 4 条提示词
-
将教学大纲文本转换为日历事件
“将这份教学大纲转换为日历事件:作业 1 于 9 月 15 日截止,期中考试于 10 月 20 日 10:00 举行。”
模型会调用
extract_schedule_events,并返回带有日期、类型和时间的事件。 -
添加定期课程
“我的生物课在 2026 年 9 月 8 日至 12 月 10 日期间,每周二和周四 10:00 上课。跳过 10 月 12 日至 10 月 16 日的阅读周。”
模型会调用
expand_recurring_classes,并返回课程安排和跳过的日期。 -
创建 ICS 日历
“为我的课程创建一个 .ics 文件,在每项作业截止前一天设置提醒。”
模型会调用
build_ics,并通过传入事件和提醒来生成有效的日历。 -
检查时间冲突
“合并我的 3 门课程的日历,并告诉我哪些课程有时间冲突。”
模型会调用
merge_calendars,合并日历、按 UID 删除重复事件,并列出时间重叠的事件。
工具
共有 4 个工具。这些名称是你的 AI 应用会看到的名称。
| 工具 | 参数 | 功能 | 提示词示例 |
|---|---|---|---|
extract_schedule_events | text、course、year、term_start | 从粘贴的教学大纲文本中提取带日期的事件,每个事件占一行。设置 term_start 后,像“第 5 周:期中考试”这样的内容也会转换为事件。没有日期的内容会返回在 undated_lines 中。最后会提供调用 build_ics 的后续步骤提示。 | “将这份教学大纲转换为日历事件:作业 1 于 9 月 15 日截止,期中考试于 10 月 20 日 10:00 举行。” |
expand_recurring_classes | course、title、weekdays、start_date、end_date、start_time、end_time、location、holidays、reading_weeks | 为定期课程生成上课日期,并跳过节假日和阅读周。最后会提供调用 build_ics 的后续步骤提示。 | “我的生物课在 2026 年 9 月 8 日至 12 月 10 日期间,每周二和周四 10:00 上课。跳过 10 月 12 日至 10 月 16 日的阅读周。” |
build_ics | events、classes、reminders_minutes、calendar_name、timezone、output_path | 根据事件和课程创建有效的 .ics 日历,并设置提醒。将 timezone 设为 America/Toronto 这样的 IANA 时区名称,这样其他时区的学生也能看到定时事件在当地时间的正确小时。传入 output_path 时,会将日历写入文件。 | “为我的课程创建一个 .ics 文件,在每项作业截止前一天设置提醒。” |
merge_calendars | calendars、calendar_name、output_path | 合并日历、按 UID 删除重复项,并列出时间冲突。传入 output_path 时,会将结果写入文件。 | “合并我的 3 门课程的日历,并告诉我哪些课程有时间冲突。” |
每个工具都会返回文本和结构化数据。build_ics 和 merge_calendars 可能会写入文件;其他工具均为只读。
故障排除
没有返回任何事件。 extract_schedule_events 会根据每一行中的日期创建一个事件。查看结果中的 undated_lines:这些就是被跳过的行。请粘贴日程,每行一项,并将日期(例如“sep 15”或“9/15”)写在与标题同一行。如果文本是一整段,请先拆分成多行,然后重试。
日期的年份不正确。 日期没有年份时,工具会使用当前年份。结果会显示所用的 year。请将 year(例如 2026)传给 extract_schedule_events,或在日期中写明年份。对于 expand_recurring_classes,请提供包含完整年份的 start_date 和 end_date。
文件未写入。 只有在传入 output_path 时,build_ics 和 merge_calendars 才会写入文件。文件夹必须已存在,因为服务不会创建文件夹。如果文件夹不存在,答复会指出所需的文件夹。请使用你有写入权限的完整路径,例如主目录中的文件夹。相对路径会以服务启动时所在的文件夹为基准解析,该位置可能与你预期的不同。如果不填写 output_path,你会获得日历文本,并可以自行将其保存为 .ics 文件。
应用中没有显示该服务。 请确认你的 node.js 版本为 20 或更高,然后在编辑配置后重启应用。上面的安装步骤列出了各个应用对应的准确条目。
node 版本
这里有两个最低版本要求,数字并不相同。
| 操作 | node.js |
|---|---|
| 运行已发布的服务 | 20 或更高 |
| 构建和测试克隆版本 | 22.12 或更高,且需使用 22 和 24 发布线,或 26 及更高版本 |
服务本身可以在 node.js 20 上正常运行,这也是 package.json 中 engines 声明的版本。测试工具需要更新的 node.js,因此开发环境的最低版本要求记录在同一文件的 devengines 中。npm 会在安装前和测试前检查 devengines。serviceh 数值记录在 package.json 中。
开发
npm install
npm run build
npm test
测试会通过真实的 mcp 客户端调用工具。无需账户或网络。
隐私
所有处理都在本地进行。不存储任何数据。不发起网络调用。无需登录或密钥。
更多免费的学生 MCP 服务
这些服务均免费且开源;访问你的账户时均为只读。请在 brightspacemcp.com/more-mcps 浏览完整列表。
| 服务 | 功能 |
|---|---|
| Brightspace MCP | 面向 AI 的 D2L Brightspace。提供截止日期及真实提交状态、成绩、目标成绩计算器和课程文件。 |
| Canvas MCP | 面向 AI 的 Canvas LMS,只读。提供截止日期、未完成作业、成绩和公告。 |
| Moodle MCP | 面向 AI 的 Moodle,只读。提供截止日期、逾期作业、成绩和公告。 |
| Google Classroom MCP | 面向 AI 的 Google Classroom,只读。提供待办事项、截止日期、未完成作业和成绩。 |
| GPA Calculator MCP | 面向 AI 提供 GPA、成绩换算和期末考试所需成绩计算。可离线使用,无需账户。 |
| Citations MCP | 根据 DOI、ISBN 或手动输入的信息生成 APA、MLA 和 Chicago 引文。无需账户。 |
| Study Planner MCP | 制定考试学习计划、间隔重复日期、番茄钟计划和作业里程碑。可离线使用。 |
| Paper Finder MCP | 通过 OpenAlex 搜索学术论文、查找开放获取版本和相关研究。无需密钥。 |
| BibTeX Reference Manager MCP | 清理、转换、去重和检查 BibTeX、RIS 与 CSL JSON 参考文献列表,并生成引用键。可离线使用。 |
| Open Textbook Finder MCP | 在 OpenStax、DOAB 和 Open Library 上查找免费的合法教材版本,根据 ISBN 查询版本,并推荐价格更低的旧版教材。 |
| STEM Calculator MCP | 化学和物理作业计算:摩尔质量、配平方程式、克与摩尔换算、单位换算和有效数字。可离线使用。 |
| Essay Stats MCP | 为论文提供离线写作指标,包括词数和页数、可读性评分、被动语态、重复开头词、填充词、长句和字数限制检查,帮助学生核对作业是否符合要求。无需账户,无需联网。 |
| Job Application Tracker MCP | 求职申请跟踪 MCP 服务。离线跟踪实习、工作、面试和截止日期,查看近期安排,并将列表导出为 CSV 或 Markdown。无需账户和 API 密钥。 |
许可证
mit
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。