Infinitecampus MCP Server
by chrischallio.github.chrischall/infinitecampus-mcpv3.1.8
Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages
context tax
queued
security
queued
cold start
queued
freshness
Active1d ago
Install Infinitecampus MCP server
Install in Claude Code
claude mcp add infinitecampus -e IC_BASE_URL='<ic-base-url>' -e IC_DISTRICT='<ic-district>' -e IC_PASSWORD='<ic-password>' -- npx -y infinitecampus-mcpInstall in Cursor
{
"mcpServers": {
"infinitecampus": {
"command": "npx",
"args": [
"-y",
"infinitecampus-mcp"
],
"env": {
"IC_BASE_URL": "<ic-base-url>",
"IC_DISTRICT": "<ic-district>",
"IC_PASSWORD": "<ic-password>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"infinitecampus": {
"command": "npx",
"args": [
"-y",
"infinitecampus-mcp"
],
"env": {
"IC_BASE_URL": "<ic-base-url>",
"IC_DISTRICT": "<ic-district>",
"IC_PASSWORD": "<ic-password>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"infinitecampus": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"infinitecampus-mcp"
],
"env": {
"IC_BASE_URL": "<ic-base-url>",
"IC_DISTRICT": "<ic-district>",
"IC_PASSWORD": "<ic-password>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"infinitecampus": {
"command": "npx",
"args": [
"-y",
"infinitecampus-mcp"
],
"env": {
"IC_BASE_URL": "<ic-base-url>",
"IC_DISTRICT": "<ic-district>",
"IC_PASSWORD": "<ic-password>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| IC_BASE_URL | yes | — | Campus Parent portal base URL, e.g. https://campus.district.k12.example.us |
| IC_DISTRICT | yes | — | 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_PASSWORD | — | yes | 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. |
Freshness
Active — last maintenance signal 1d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-09 · 1d ago · GitHub
Latest release
2026-10-07 · 2d ago · GitHub · v3.1.8
Package published
no data · npm/PyPI
Registry entry updated
2026-10-07 · 2d ago · official registry · v3.1.8
FAQ
›How do I install the Infinitecampus MCP server in Claude Code?
Run: claude mcp add infinitecampus -e IC_BASE_URL='<ic-base-url>' -e IC_DISTRICT='<ic-district>' -e IC_PASSWORD='<ic-password>' -- npx -y infinitecampus-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Infinitecampus require an API key?
Yes. It expects IC_BASE_URL, IC_DISTRICT, IC_PASSWORD, of which 1 is a secret.
›Can I use Infinitecampus as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Infinitecampus in the official MCP registry?
Yes, as io.github.chrischall/infinitecampus-mcp.
Alternatives to Infinitecampus
Other ai & llm tools MCP servers.