purdue-mcp
purdue-mcp
一个 MCP 服务器,用于所有公开、实时的 Purdue University 数据 —— 餐饮菜单、健身房实时人数、课程目录、公交时间、校园活动、学生组织、图书馆开放时间、体育、新闻和天气。将任何 MCP 客户端(Claude Code、Claude Desktop、Cursor,…)指向它,然后问 “Wiley 晚餐吃什么”、“CoRec 现在有多拥挤” 或 “下一班从 PMU 出发的公交车什么时候到”。
非官方且由社区维护。与 Purdue University 无关联、未获其认可,也非由其运营。
安装
npm install -g purdue-mcp或者直接从仓库运行:
git clone https://github.com/sharziki/purdue-mcp && cd purdue-mcp
npm install && npm run build连接它
Claude Code
claude mcp add purdue -- npx -y purdue-mcpClaude Desktop / Cursor —— 添加到你的 MCP 配置中:
{
"mcpServers": {
"purdue": {
"command": "npx",
"args": ["-y", "purdue-mcp"]
}
}
}工具
餐饮 —— Purdue HFS 餐饮 API
工具 | 它回答什么 |
| 每个餐饮广场 / Quick Bites / On-the-GO!,当前开放或下一餐时段开放情况 |
| 某个地点和日期的完整菜单,按餐次和摊位显示,支持纯素/素食/过敏原筛选 |
| “今天谁在供应鸡柳?” —— 同时搜索所有餐饮广场 |
| 任何菜单项目的完整营养信息 |
| 众包实时排队长度报告(在用餐高峰时段前后由用户上报) |
学术 —— Purdue.io 课程目录
工具 | 它回答什么 |
| 学期代码和日期范围,最新的在前 |
| 所有学科代码(CS、MA、ENGR,…) |
| 按学科、编号或标题关键字搜索课程 —— 包含描述和学时 |
| 某个学期的 CRN、课节类型、上课日期/时间、教室和教师 |
| 解析建筑代码,例如 |
校园生活
工具 | 它回答什么 |
| 官方大学日历 —— 讲座、体育、招聘会、截止日期 |
| BoilerLink 上约 1,200 个注册学生组织 |
| 即将到来的社团活动:招新、社交、会议 |
设施
工具 | 它回答什么 |
| 所有 37 个被统计的 RecWell 场地的实时人数和容量百分比 —— “CoRec 现在有多忙” |
| 每个图书馆的今日开放时间和开放/关闭状态,或完整一周的开放时间 |
体育
工具 | 它回答什么 |
| 每支校队及其当前赛季赛程 |
| 单支球队的完整赛季 —— 对手、排名、主/客场、场馆、成绩 |
| 所有体育项目中接下来的 Boilermaker 比赛,按时间最近优先 |
出行
工具 | 它回答什么 |
| 服务校园及 Greater Lafayette 的每条 CityBus 路线 |
| 按名称查找站点,或查找最接近某个纬度和经度的站点 |
| 某个站点的下一班计划发车时间,以及预计等待分钟数 |
新闻和截止日期
工具 | 它回答什么 |
| 可搜索的官方新闻室文章 |
| 开课第一天、假期、期末考试周、增/退课截止日期、考试安排 |
环境
工具 | 它回答什么 |
| 西拉法叶当前天气状况、预报和生效中的 NWS 警报 |
日期默认使用校园时区的今天(America/Indiana/Indianapolis),因此无论服务器在哪里运行,都能给出正确的答案。
数据源
来源 | 端点 | 备注 |
Purdue Dining (HFS) |
| 官方、公开、无需认证 |
Purdue.io |
| 社区运营的开源目录镜像(Purdue-io/PurdueApi) |
Purdue Events |
| Localist 公开 API |
BoilerLink |
| Anthology Engage 公开发现 API |
Purdue RecWell |
| 实时占用计数器;账户密钥是 Purdue 官方公共组件所附带的那个 |
Purdue Libraries |
| Springshare LibCal 公开开放时间端点 |
Purdue Athletics |
| 官方体育网站公开 JSON API |
Purdue Newsroom / Registrar |
| WordPress REST API |
CityBus |
| 静态时刻表源;没有公开的实时源 |
NOAA / NWS |
| 公开的联邦 API |
响应在进程内以短 TTL 缓存(30s–24h,具体取决于数据变化速度),以保持一个礼貌的客户端。不会将任何内容持久化到磁盘。
已排除(经调查,无公开来源)
洗衣机可用性 —— Purdue 已将宿舍洗衣服务迁移到 CSCPay Mobile,该服务没有公开的网页状态页。社区应用之前抓取的旧
washalertweb主机已不再解析。实时公交位置 —— CityBus 仅发布 GTFS 静态数据。Transitland 或 Mobility Database 上未列出 GTFS-Realtime 源,MyRide 的后端也不公开。
bus_next_departures返回的是时刻表时间。停车库可用性 —— Purdue Parking 不发布实时空位数量。
座位可用性 / 等待列表 —— 需要 myPurdue 登录才能访问。按设计不在范围内。
添加数据源
每个数据源是 src/sources/ 中的一个文件,导出一个 registerX(server),该函数调用 server.registerTool(...)。在 src/index.ts 中注册它。使用来自 src/lib/http.ts 的 getJSON(),这样你会继承超时、User-Agent 和缓存。
规则:
仅限公开数据。 任何需要 Purdue 登录的内容都不行,也不能涉及特定个人的信息。
在发布前验证端点是否可用 ——
npm run smoke会访问每一个真实上游,并且就是测试套件。做一个礼貌的客户端。 合理的缓存 TTL,不要紧密轮询。
npm run build
npm run smoke # live end-to-end check of all tools许可证
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
MCP server exposing Kettle Logic insight articles & industry guidance as tools + resources.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sharziki/purdue-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server