Brightspace MCP Server vs Pickuppatrol MCP | AllMCPs
Side-by-Side Model Context Protocol Comparison
Brightspace MCP Server vs Pickuppatrol MCP
In-depth architectural comparison of the Brightspace MCP Server and Pickuppatrol MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Brightspace MCP Server
Education · Local stdio
Quality: 67/100 (Great) | Auth: other
Pickuppatrol MCP
Education · Local stdio
Quality: 55/100 (Good) | Auth: No auth required
Verdict Summary: Choose Brightspace MCP Server if you need specialized Education tools running via a local process. Choose Pickuppatrol MCP if your workspace requires Education integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Brightspace MCP Server when:
You need dedicated capabilities in the Education domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: other (Free / Open Source).
MCP server for D2L Brightspace LMS. Check grades, due dates, assignments, announcements, syllabus, rosters, discussions, and course content. Works with any school that uses Brightspace. Install via npx brightspace-mcp-server@latest.
Read and change your children's school dismissal plans in PickUp Patrol
Check if you are authenticated with Brightspace. Run the brightspace-auth CLI first to authenticate. Use this when the user asks if they're logged in, if authentication is working, or when other tools return auth errors.
get_my_courses
Fetch your enrolled Brightspace courses with names, codes, and IDs. Use this when the user asks about their courses, enrolled classes, what they're taking this semester, or needs a course ID for other queries.
get_upcoming_due_dates
Fetch upcoming due dates across all your courses, derived from the due dates on assignments (dropbox folders) and quizzes themselves. Use this when the user asks about deadlines, what's due, upcoming work, or what they need to do this week.
get_my_grades
Fetch your grade breakdown for a specific course or all enrolled courses. Shows grade items with points, percentages, and comments. Use this when the user asks about grades, scores, marks, GPA, academic performance, or how they're doing in a class.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Brightspace MCP Server is categorized under Education and uses a local stdio subprocess. In contrast, Pickuppatrol MCP belongs to Education using local stdio subprocess. Select Brightspace MCP Server when you need capabilities focused on education and Pickuppatrol MCP when you require tools for education.
Fetch recent announcements from your courses. Can filter to a specific course or get announcements across all courses. Use this when the user asks about announcements, news, updates from instructors, recent posts, or what professors said.
get_assignments
Fetch assignments and quizzes for a specific course or all enrolled courses. Shows dropbox submissions and quizzes with due dates, status, and rubric info. Use this when the user asks about assignments, homework, what to submit, quizzes, or assignment details and rubrics.
get_assignment_files
Read the files an instructor attached to an assignment: the spec or instructions PDF, a starter workbook, a rubric document. Call it with just courseId to see which assignments have attachments, then with folderId and fileId to read one. Use this when the user asks what an assignment requires, what the instructions say, or to summarize a handout. Returns the text itself. Use download_file instead when the user wants the file saved to disk.
get_course_content
Fetch the content tree for a course showing modules, topics, files, and links. Use this when the user asks about course materials, lecture slides, uploaded files, content structure, or what's in a course module. Use moduleTitle to filter to a specific module (e.g. 'Labs', 'Staff', 'Homeworks') instead of fetching the entire tree. Use maxDepth to limit recursion depth for a table-of-contents view.
download_file
Download a file from course content or assignment submissions to a local directory. Use this when the user wants to download, save, or get a file from Brightspace course content or dropbox submissions. IMPORTANT: You MUST ask the user where they want to save the file before calling this tool. Never guess or assume a download directory. After identifying the file to download, suggest a clean readable filename to the user (e.g., 'Lecture 7 - Memory Management.pdf' instead of 'L07_CS251_2026SP_v2.pdf') and ask if they'd like to rename it. Pass their preferred name as customFilename, or omit it to keep the original.
get_classlist_emails
Fetch all email addresses for everyone in a course — instructors, TAs, and students. Use this when the user wants a list of emails for a class, needs to email the whole class, or wants contact info for everyone enrolled.
get_roster
Fetch the roster for a course including instructors, TAs, and optionally students with their names, emails, and roles. Use this when the user asks about classmates, instructor contact info, TA emails, professor names, or who's in a class. By default returns only instructors and TAs for privacy. Use includeStudents to get full class list.
get_syllabus
Fetch the syllabus/overview text and optional attachment for a course. Returns the course overview description as markdown. If downloadPath is provided, also downloads the syllabus attachment (e.g. PDF). IMPORTANT: You MUST ask the user where they want to save the file before calling this tool with a downloadPath.
+1 more tools listed on main page
Pickuppatrol MCP Tools (14)
pup_get_session
The signed-in account and the students linked to it
pup_list_students
Every student with their weekly defaults and review flag
pup_get_student
One student in full
pup_get_default_plans
A student's weekly default plan, day by day
pup_list_plans
Day-by-day plans across a date range
pup_get_plan
One student, one date — including whether it is locked
pup_list_transportations
A school's dismissal options and the rules each imposes
pup_get_school
School profile, notify times, cutoff times, settings
pup_list_non_school_days
Dates no plan can be set for, and dates already changed
pup_list_car_numbers
Car numbers the school issued to this account
pup_healthcheck
Credentials sign in and the API answers
pup_set_plan
Dismissal for one or more specific dates, or clears them back to the default