Skip to main content
Glama

purdue-mcp

Один MCP-сервер для всех публичных и актуальных данных Purdue University — меню столовых, загрузка спортзалов в реальном времени, каталог курсов, расписания автобусов, события кампуса, студенческие организации, часы работы библиотек, спорт, новости и погода. Подключите любой MCP-клиент (Claude Code, Claude Desktop, Cursor, …) и спросите «что на ужин в Wiley», «насколько загружен CoRec» или «когда следующий автобус от PMU».

24 инструмента из 10 публичных источников.

Все, что он читает, публично и не требует аутентификации. Он никогда не касается студенческого аккаунта, оценок, расписаний, финансовых записей или чего-либо, что находится за входом в Purdue.

Неофициальный проект, поддерживаемый сообществом. Не связан с 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-mcp

Claude Desktop / Cursor — добавьте в ваш конфигурационный файл MCP:

{
  "mcpServers": {
    "purdue": {
      "command": "npx",
      "args": ["-y", "purdue-mcp"]
    }
  }
}

Инструменты

Питание — Purdue HFS dining API

Инструмент

Что отвечает

dining_locations

Все столовые / Quick Bites / On-the-GO!, открытые сейчас или к следующему приёму пищи

dining_menu

Полное меню для заведения и даты, по приёмам пищи и станциям, с фильтрами по веган/вегетариан/аллергенам

dining_find_item

«Кто сегодня подаёт куриные стрипсы?» — ищет по всем столовым одновременно

dining_item_nutrition

Полная таблица пищевой ценности для любого блюда

dining_line_length

Краудсорсинговые отчёты о длине очереди в реальном времени (заполняются в часы пик)

Учебные курсы — каталог курсов Purdue.io

Инструмент

Что отвечает

list_terms

Коды семестров и диапазоны дат, сначала новые

list_subjects

Каждый код предмета (CS, MA, ENGR, …)

search_courses

Курсы по предмету, номеру или ключевому слову в названии — с описаниями и зачётными часами

course_sections

CRNs, типы разделов, дни/время встреч, аудитории и преподаватели для семестра

find_building

Определить код здания, например LWSN → Lawson Computer Science Bldg

Студенческая жизнь

Инструмент

Что отвечает

search_events

Официальный календарь университета — лекции, спорт, ярмарки вакансий, дедлайны

search_student_orgs

~1,200 зарегистрированных студенческих организаций на BoilerLink

search_club_events

Предстоящие мероприятия клубов: открытые встречи, социальные события, собрания

Инфраструктура

Инструмент

Что отвечает

recwell_occupancy

Живой показатель посещаемости и % заполненности для всех 37 учитываемых зон RecWell — «насколько загружен CoRec прямо сейчас»

library_hours

Часы работы на сегодня и статус открыто/закрыто для каждой библиотеки, а также на всю неделю

Спорт

Инструмент

Что отвечает

athletics_sports

Каждая университетская команда и её текущее расписание сезона

athletics_schedule

Полный сезон для одной команды — соперники, рейтинги, дома/в гостях, площадка, результаты

athletics_upcoming

Следующие игры Boilermaker по всем видам спорта, сначала ближайшие

Транспорт

Инструмент

Что отвечает

bus_routes

Каждый маршрут CityBus, обслуживающий кампус и Greater Lafayette

bus_stops

Поиск остановок по названию или ближайших к координатам (широта/долгота)

bus_next_departures

Ближайшие отправления от остановки с количеством минут до отправления

Новости и дедлайны

Инструмент

Что отвечает

purdue_news

Официальные статьи из пресс-службы, доступные для поиска

academic_calendar

Первый день занятий, каникулы, экзаменационная неделя, сроки добавления/удаления курсов, расписание экзаменов

Погода

Инструмент

Что отвечает

campus_weather

Текущие условия, прогноз и активные предупреждения NWS для West Lafayette

Даты по умолчанию соответствуют сегодняшнему дню в часовом поясе кампуса (America/Indiana/Indianapolis), поэтому сервер даёт правильный ответ независимо от того, где он запущен.

Источники данных

Источник

Конечная точка

Примечания

Purdue Dining (HFS)

api.hfs.purdue.edu/menus/v2

Официальный, публичный, без аутентификации

Purdue.io

api.purdue.io/odata

Зеркало каталога с открытым исходным кодом под управлением сообщества (Purdue-io/PurdueApi)

Purdue Events

events.purdue.edu/api/2

Публичный API Localist

BoilerLink

purdue.campuslabs.com/engage/api/discovery

Публичный API обнаружения Anthology Engage

Purdue RecWell

goboardapi.azurewebsites.net (Connect2)

Живые счётчики посещаемости; ключ аккаунта — тот же, что использует официальный публичный виджет Purdue

Purdue Libraries

calendar.lib.purdue.edu

Публичные конечные точки часов работы Springshare LibCal

Purdue Athletics

purduesports.com/website-api

Публичный JSON API официального спортивного сайта

Purdue Newsroom / Registrar

purdue.edu/{newsroom,registrar}/wp-json

WordPress REST API

CityBus

bus.gocitybus.com GTFS

Статическая лента расписания; публичного потока реального времени не существует

NOAA / NWS

api.weather.gov

Публичный федеральный API

Ответы кэшируются в процессе с коротким временем жизни (30 с – 24 ч в зависимости от того, как быстро меняются данные), чтобы оставаться вежливым клиентом. Ничего не сохраняется на диск.

Исключено (проверено, публичного источника нет)

  • Доступность стиральных машин — Purdue перевёл стирку в общежитиях на CSCPay Mobile, у которого нет публичной страницы статуса. Старый хост washalertweb, который использовало приложение сообщества, больше не отвечает.

  • Позиции автобусов в реальном времени — CityBus публикует только статичный GTFS. Ни один GTFS-Realtime поток не указан на Transitland или в Mobility Database, а бэкенд MyRide не является публичным. bus_next_departures возвращает время по расписанию.

  • Доступность парковочных гаражей — Purdue Parking не публикует данные о свободных местах в реальном времени.

  • Доступность мест / листы ожидания — находится за логином myPurdue. Намеренно вне рамок проекта.

Добавление источника

Каждый источник — это один файл в src/sources/, который экспортирует registerX(server) и вызывает server.registerTool(...). Зарегистрируйте его в src/index.ts. Используйте getJSON() из src/lib/http.ts, чтобы унаследовать таймаут, User-Agent и кэш.

Правила работы:

  1. Только публичные данные. Ничего, что требует логина Purdue, и ничего о конкретном человеке.

  2. Проверьте, что конечная точка работает перед публикацией — npm run smoke обращается ко всем реальным источникам и является тестовым набором.

  3. Будьте вежливым клиентом. Разумный TTL кэша, без частого опроса.

npm run build
npm run smoke   # live end-to-end check of all tools

Лицензия

MIT

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

Latest Blog Posts

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