NestDaddy

Infinitecampus Mcp

io.github.chrischall/infinitecampus-mcp · v3.3.2

Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages

Connect Runs on your machine

Terminal
claude mcp add infinitecampus-mcp -e IC_BASE_URL=<IC_BASE_URL> -e IC_DISTRICT=<IC_DISTRICT> -e IC_USERNAME=<IC_USERNAME> -e IC_PASSWORD=<IC_PASSWORD> -e IC_NAME=<IC_NAME> -e IC_DISABLE_FETCHPROXY=<IC_DISABLE_FETCHPROXY> -e IC_SESSION_CACHE=<IC_SESSION_CACHE> -e IC_SESSION_FILE=<IC_SESSION_FILE> -e IC_DOWNLOAD_DIR=<IC_DOWNLOAD_DIR> -e FETCHPROXY_WS_PORT=<FETCHPROXY_WS_PORT> -e FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST> -e FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "infinitecampus-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "IC_BASE_URL": "<IC_BASE_URL>",
        "IC_DISTRICT": "<IC_DISTRICT>",
        "IC_USERNAME": "<IC_USERNAME>",
        "IC_PASSWORD": "<IC_PASSWORD>",
        "IC_NAME": "<IC_NAME>",
        "IC_DISABLE_FETCHPROXY": "<IC_DISABLE_FETCHPROXY>",
        "IC_SESSION_CACHE": "<IC_SESSION_CACHE>",
        "IC_SESSION_FILE": "<IC_SESSION_FILE>",
        "IC_DOWNLOAD_DIR": "<IC_DOWNLOAD_DIR>",
        "FETCHPROXY_WS_PORT": "<FETCHPROXY_WS_PORT>",
        "FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
        "FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "infinitecampus-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "IC_BASE_URL": "<IC_BASE_URL>",
        "IC_DISTRICT": "<IC_DISTRICT>",
        "IC_USERNAME": "<IC_USERNAME>",
        "IC_PASSWORD": "<IC_PASSWORD>",
        "IC_NAME": "<IC_NAME>",
        "IC_DISABLE_FETCHPROXY": "<IC_DISABLE_FETCHPROXY>",
        "IC_SESSION_CACHE": "<IC_SESSION_CACHE>",
        "IC_SESSION_FILE": "<IC_SESSION_FILE>",
        "IC_DOWNLOAD_DIR": "<IC_DOWNLOAD_DIR>",
        "FETCHPROXY_WS_PORT": "<FETCHPROXY_WS_PORT>",
        "FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
        "FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "infinitecampus-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "IC_BASE_URL": "<IC_BASE_URL>",
        "IC_DISTRICT": "<IC_DISTRICT>",
        "IC_USERNAME": "<IC_USERNAME>",
        "IC_PASSWORD": "<IC_PASSWORD>",
        "IC_NAME": "<IC_NAME>",
        "IC_DISABLE_FETCHPROXY": "<IC_DISABLE_FETCHPROXY>",
        "IC_SESSION_CACHE": "<IC_SESSION_CACHE>",
        "IC_SESSION_FILE": "<IC_SESSION_FILE>",
        "IC_DOWNLOAD_DIR": "<IC_DOWNLOAD_DIR>",
        "FETCHPROXY_WS_PORT": "<FETCHPROXY_WS_PORT>",
        "FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
        "FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
IC_BASE_URL
Required
Campus Parent portal base URL, e.g. https://campus.district.k12.example.us
IC_DISTRICT
Required
Infinite Campus district app name (appName path segment from the portal URL)
IC_USERNAME
Optional
Campus Parent portal username. Optional: leave unset to use the ContextMint Bridge browser-extension fallback.
IC_PASSWORD
Optional, secret
Campus Parent portal password. Required only when IC_USERNAME is set.
IC_NAME
Optional
Friendly name for the district (defaults to district appname)
IC_DISABLE_FETCHPROXY
Optional
Set to 1 to skip the ContextMint Bridge browser-extension fallback (missing creds become a hard error — useful in headless CI).
IC_SESSION_CACHE
Optional
Set to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.
IC_SESSION_FILE
Optional
Absolute path for the session cache file. Defaults to $MCP_DATA_DIR/.infinitecampus-mcp/session-<district>.json.
IC_DOWNLOAD_DIR
Optional
Absolute path of the only directory ic_download_document may write into. Defaults to ~/Downloads.
FETCHPROXY_WS_PORT
Optional
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
Optional
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
Optional
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.

Details

Package[email protected] (NPM, stdio)
First published7 Nov 2026
Last updated7 Nov 2026
Registry nameio.github.chrischall/infinitecampus-mcp

More communication servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.