mcpField
S
syllabus-calendar-mcp

syllabus-calendar-mcp

本地服务
brightspacemcp.com生产力01 周前更新

关于 syllabus-calendar-mcp

syllabus-calendar-mcp 是面向学生的本地 MCP 服务,可将粘贴的教学大纲文本转换为日历事件。它还能展开重复课程、生成 .ics 日历并合并日历以查找冲突,解析和处理均在本地完成。

主要功能

  1. 01从教学大纲文本提取日期事件
  2. 02展开重复课程并跳过假期
  3. 03生成带提醒的 .ics 日历
  4. 04合并日历并查找定时冲突
  5. 05返回未标注日期的文本行以供检查

适用场景

  1. 01将课程作业日期转换为事件
  2. 02创建课程安排并排除阅读周
  3. 03生成带作业提醒的 .ics 日历
  4. 04检查多个课程日历中的时间冲突

MCP 相关

它向 MCP 客户端提供 extract_schedule_events、expand_recurring_classes、build_ics 和 merge_calendars 四种工具。日历生成和合并工具可在提供输出路径时写入文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"anonymousonyx22-syllabus-calendar": {
"command": "npx",
"args": [
"-y",
"syllabus-calendar-mcp"
]
}
}
}
启动命令npx -y syllabus-calendar-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmsyllabus-calendar-mcp0.1.2

工具

4

收录的工具列表 · 更新于 1 周前

参数类型必填说明
textstring是粘贴的课程大纲或课程安排。每行填写一个事件,并在该行中注明日期。
yearinteger否日期未注明年份时使用的年份。默认值为当前年份。
coursestring否添加到每个事件的课程名称或代码,例如 BIO 101。

详细介绍

syllabus to calendar mcp

npm downloads license star on github

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. 将教学大纲文本转换为日历事件

    “将这份教学大纲转换为日历事件:作业 1 于 9 月 15 日截止,期中考试于 10 月 20 日 10:00 举行。”

    模型会调用 extract_schedule_events,并返回带有日期、类型和时间的事件。

  2. 添加定期课程

    “我的生物课在 2026 年 9 月 8 日至 12 月 10 日期间,每周二和周四 10:00 上课。跳过 10 月 12 日至 10 月 16 日的阅读周。”

    模型会调用 expand_recurring_classes,并返回课程安排和跳过的日期。

  3. 创建 ICS 日历

    “为我的课程创建一个 .ics 文件,在每项作业截止前一天设置提醒。”

    模型会调用 build_ics,并通过传入事件和提醒来生成有效的日历。

  4. 检查时间冲突

    “合并我的 3 门课程的日历,并告诉我哪些课程有时间冲突。”

    模型会调用 merge_calendars,合并日历、按 UID 删除重复事件,并列出时间重叠的事件。

工具

共有 4 个工具。这些名称是你的 AI 应用会看到的名称。

工具参数功能提示词示例
extract_schedule_eventstext、course、year、term_start从粘贴的教学大纲文本中提取带日期的事件,每个事件占一行。设置 term_start 后,像“第 5 周:期中考试”这样的内容也会转换为事件。没有日期的内容会返回在 undated_lines 中。最后会提供调用 build_ics 的后续步骤提示。“将这份教学大纲转换为日历事件:作业 1 于 9 月 15 日截止,期中考试于 10 月 20 日 10:00 举行。”
expand_recurring_classescourse、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_icsevents、classes、reminders_minutes、calendar_name、timezone、output_path根据事件和课程创建有效的 .ics 日历,并设置提醒。将 timezone 设为 America/Toronto 这样的 IANA 时区名称,这样其他时区的学生也能看到定时事件在当地时间的正确小时。传入 output_path 时,会将日历写入文件。“为我的课程创建一个 .ics 文件,在每项作业截止前一天设置提醒。”
merge_calendarscalendars、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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。