chrischall avatar

Infinitecampus Mcp

chrischall/infinitecampus-mcp

Wraps the Infinite Campus parent portal API to give Claude read access to student grades, attendance, assignments, schedules, and messages. All 19 tools pull from the mobile JSON endpoints that power the Campus Parent app. You configure one district and it auto-discovers linked accounts via CUPS SSO. Auth can go through environment variables or a companion browser extension that lifts session cookies so you skip password storage. Useful when you want to ask natural language questions about assignment due dates, missing work, or attendance patterns without opening the web portal. The maintainer explicitly flags that this uses undocumented endpoints and may conflict with Infinite Campus terms of service, so read the acknowledgment section before deploying in any shared or institutional context.

GitHub stars
5
tools
19
auth
Secret needed
transport
STDIO
env vars
12
last updated
Nov 7, 2026

Tools

19 tools

Public tool metadata for what this MCP can expose to an agent.

ic_list_districtsLists the districts linked to the account.

Lists the districts linked to the account.

No parameter schema in public metadata yet.

ic_list_studentsLists students in the linked districts.

Lists students in the linked districts.

No parameter schema in public metadata yet.

ic_get_scheduleReturns the student's schedule.

Returns the student's schedule.

No parameter schema in public metadata yet.

ic_list_assignmentsLists assignments, with section, missing-only and date filters.

Lists assignments, with section, missing-only and date filters.

No parameter schema in public metadata yet.

ic_list_gradesLists grades.

Lists grades.

No parameter schema in public metadata yet.

ic_list_recent_gradesLists recent grades within a default 14-day window.

Lists recent grades within a default 14-day window.

No parameter schema in public metadata yet.

ic_list_school_daysLists school days from the school calendar.

Lists school days from the school calendar.

No parameter schema in public metadata yet.

ic_list_attendanceLists per-course attendance summaries.

Lists per-course attendance summaries.

No parameter schema in public metadata yet.

ic_list_attendance_eventsLists individual attendance events with codes and comments.

Lists individual attendance events with codes and comments.

No parameter schema in public metadata yet.

ic_list_behaviorLists behavior records.

Lists behavior records.

No parameter schema in public metadata yet.

ic_list_food_serviceLists food service information.

Lists food service information.

No parameter schema in public metadata yet.

ic_list_documentsLists documents.

Lists documents.

No parameter schema in public metadata yet.

ic_download_documentDownloads a document.

Downloads a document.

No parameter schema in public metadata yet.

ic_list_messagesLists messages from prism notifications, the Messenger 2.0 inbox and portal announcements.

Lists messages from prism notifications, the Messenger 2.0 inbox and portal announcements.

No parameter schema in public metadata yet.

ic_get_messageFetches the parsed HTML body of an inbox message.

Fetches the parsed HTML body of an inbox message.

No parameter schema in public metadata yet.

ic_list_teachersLists teachers per section and assigned counselors.

Lists teachers per section and assigned counselors.

No parameter schema in public metadata yet.

ic_list_assessmentsLists standardized test scores.

Lists standardized test scores.

No parameter schema in public metadata yet.

ic_list_feesLists fee assignments and the surplus balance.

Lists fee assignments and the surplus balance.

No parameter schema in public metadata yet.

ic_get_featuresReturns per-enrollment displayOptions feature flags.

Returns per-enrollment displayOptions feature flags.

No parameter schema in public metadata yet.

Sponsors

Configuration

IC_BASE_URL*

Campus Parent portal base URL, e.g. https://campus.district.k12.example.us

IC_DISTRICT*

Infinite Campus district app name (appName path segment from the portal URL)

IC_USERNAME

Campus Parent portal username. Optional: leave unset to use the ContextMint Bridge browser-extension fallback.

IC_PASSWORDsecret

Campus Parent portal password. Required only when IC_USERNAME is set.

IC_NAME

Friendly name for the district (defaults to district appname)

IC_DISABLE_FETCHPROXY

Set to 1 to skip the ContextMint Bridge browser-extension fallback (missing creds become a hard error — useful in headless CI).

IC_SESSION_CACHE

Set to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.

IC_SESSION_FILE

Absolute path for the session cache file. Defaults to $MCP_DATA_DIR/.infinitecampus-mcp/session-<district>.json.

IC_DOWNLOAD_DIR

Absolute path of the only directory ic_download_document may write into. Defaults to ~/Downloads.

FETCHPROXY_WS_PORT

Localhost concentrator port (default 37149). On one machine every MCP shares the concentrator, so move it for ALL of them or not at all.

FETCHPROXY_WS_HOST

Bind interface (default 127.0.0.1; a literal IP only, anything else is ignored). Keep on loopback — it exists for ONE topology: a hosted child in its own network namespace.

FETCHPROXY_IDENTITY_DIR

Where to store the long-term fetchproxy identity keypair (default ~/.fetchproxy/identity/; an absolute path only, anything else is ignored). Exists for a host that runs a separate child per caller, so they can share one identity.

Readme

infinitecampus-mcp

CI npm license

MCP server for Infinite Campus (Campus Parent portal). Single-account config — linked districts are auto-discovered via CUPS SSO after login.

Tools

20 tools across academics, daily life, documents, messaging, feature discovery, and a credential/district healthcheck.


View the full README on GitHub

Details

Repository
github.com/chrischall/infinitecampus-mcp
Package
infinitecampus-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from chrischall