Helium Connector
OfficialConnects AI assistants to a student's Helium account, allowing them to preview and import academic terms from syllabi and read planner data such as assignments, events, notes, classes, resources, and grades via Helium's API using the student's OAuth token.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Helium Connectorimport my fall term from the attached syllabus"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Helium is a free, color-coded online student planner for classes, homework, grades, and notes.
Helium Connector
The Helium connector is a remote MCP server that connects AI assistants to a
student's Helium account, to import a term from syllabi and read the planner. It makes no model calls, and calls
Helium's API with the student's own OAuth token. The repository also holds
heliumedu, a typed, async Python client for that API.
Prerequisites
Python (>= 3.13)
Related MCP server: Canvas LMS MCP Server
Getting Started
To install the connector and its development dependencies into a virtual environment, execute:
make installTo run the tests and the static checks, execute:
make test
make checkTo serve the connector locally at http://127.0.0.1:8001/mcp against a local platform, execute:
HELIUM_API_URL=http://localhost:8000 HELIUM_CONNECTOR_URL=http://127.0.0.1:8001 make runBasic Usage
The connector is served at https://mcp.heliumedu.com/mcp. Add it to your AI assistant, then sign in to Helium and
choose Allow when it opens in your browser. For a local connector, use http://127.0.0.1:8001/mcp instead.
Attach your syllabi and ask your assistant to import the term, or ask about your planner, and it will use the following tools:
Tool | Access | Returns |
| Read | Every problem with a term's plan, or a summary to confirm, without saving anything |
| Write | The new term's id and its classes' ids, imported all at once |
| Read | Assignments due in a window or matching text, with class, category, completion, grade |
| Read | Events in a window or matching text, with repeating events listed per occurrence |
| Read | Notes, optionally matching text or for one assignment, as plain text |
| Read | Classes by term, with meeting times, teacher, credits, and grading categories |
| Read | Resources by resource group, with status, price, and the classes each is for |
| Read | Grades, per class and category |
Permissions
Signing in grants two scopes, shown on Helium's consent screen:
planner:read: every read tool.planner:import:preview_import_termandimport_term.
import_term is the only write, and none is sensitive: no tool sends messages, makes payments, or changes or deletes
anything. It adds one new term (its classes, meeting times, grading categories, assignments, and events) in a single
transaction, so a failed import saves nothing. It refuses a term whose title and dates are already in Helium unless
allow_duplicate_term is set. preview_import_term checks the same plan with Helium without saving it.
Inputs
preview_import_term,import_term:plan(the term, its classes, and its events, with local dates and times),allow_duplicate_term.list_assignments:start_date,end_date,class_id,status(all,incomplete,completed,overdue),query,limit(1-100, default 25),page.list_events:start_date,end_date,query,limit(1-100, default 25),page.list_notes:query,assignment_id,limit(1-10, default 5),page.list_classes,get_grades:include_past_terms.list_resources:class_id.
Each tool's JSON Schema, served by the connector, describes every field. Dates and times are local to the time zone
set in the user's Helium account. A window covers at most 366 days. Lists return results a page at a time, with
total and has_more.
Errors and Limits
A plan Helium can't accept returns
problems, each naming the class, assignment, or event it's about, rather than an error. Details worth confirming with the student, such as a class with no credits set, return aswarnings.A signed-out connection, or one not given access for a tool, returns an error asking the user to reconnect.
Requests share the user's Helium API rate limit (130 requests per minute). Past it, the error says how many seconds to wait.
Documentation
Helium's API documentation is available at api.heliumedu.com/docs, and help with using Helium at the Support Portal.
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI assistants to Edusign attendance, courses, learners, documents, and API docs via OAuth.
Connect an AI assistant to a Capacities space (objects, daily notes, search).
Read your Spellar meetings, transcripts and action items from an AI assistant, and update them.
Read tasks, habits, events and scheduling links; create and update Reclaim tasks and habits.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables University of Toronto students to access academic data from ACORN and Quercus via AI assistants. It provides tools to retrieve course schedules, enrollment details, syllabi, assignments, and announcements.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access Canvas LMS course content, including assignments, modules, announcements, and files, to help students manage their coursework.11 npmISC
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to read courses, upcoming deadlines, assignment details, grades, announcements, modules, files, inbox, and timetable from U of T Quercus and ACORN through read-only tools.1MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to read a student's own university academic data — class timetables, exam schedules, grades, available terms, and empty classrooms — from Qiangzhi (jsxsd) or Zhengfang V9 systems via a session imported from the browser. All access is strictly read-only, never performing course selection, withdrawal, or evaluations.61MIT