{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.1.1","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username","isRequired":true,"format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password","isRequired":true,"format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-01T20:39:46.03048Z","publishedAt":"2026-05-01T20:39:46.03048Z","updatedAt":"2026-05-01T20:39:46.03048Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.1.2","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username","isRequired":true,"format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password","isRequired":true,"format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-04T01:54:57.103752Z","publishedAt":"2026-05-04T01:54:57.103752Z","updatedAt":"2026-05-04T01:54:57.103752Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.1.3","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-21T20:11:46.84708Z","publishedAt":"2026-05-21T20:11:46.84708Z","updatedAt":"2026-05-21T20:11:46.84708Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.2.3","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.2.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-26T17:09:38.280786Z","publishedAt":"2026-05-26T17:09:38.280786Z","updatedAt":"2026-05-26T17:09:38.280786Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.3.0","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-28T01:30:09.491875Z","publishedAt":"2026-05-28T01:30:09.491875Z","updatedAt":"2026-05-28T01:30:09.491875Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.3.1","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.3.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T21:35:51.756574Z","publishedAt":"2026-05-29T21:35:51.756574Z","updatedAt":"2026-05-29T21:35:51.756574Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.3.2","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.3.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-04T04:29:29.475891Z","publishedAt":"2026-06-04T04:29:29.475891Z","updatedAt":"2026-06-04T04:29:29.475891Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.3.3","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.3.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-10T02:10:04.913983Z","publishedAt":"2026-06-10T02:10:04.913983Z","updatedAt":"2026-06-10T02:10:04.913983Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.3.4","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.3.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-13T00:54:35.56411Z","publishedAt":"2026-06-13T00:54:35.56411Z","updatedAt":"2026-06-13T00:54:35.56411Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.3.5","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.3.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-05T22:38:07.104396Z","publishedAt":"2026-07-05T22:38:07.104396Z","updatedAt":"2026-07-05T22:38:07.104396Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.3.6","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.3.6","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-07T15:09:53.332782Z","publishedAt":"2026-07-07T15:09:53.332782Z","updatedAt":"2026-07-07T15:09:53.332782Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.4.0","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-13T16:49:53.312835Z","publishedAt":"2026-07-13T16:49:53.312835Z","updatedAt":"2026-07-13T16:49:53.312835Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.4.2","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.4.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-30T12:53:44.433686Z","publishedAt":"2026-07-30T12:53:44.433686Z","updatedAt":"2026-07-30T12:53:44.433686Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.4.3","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.4.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-03T04:32:41.539667Z","publishedAt":"2026-08-03T04:32:41.539667Z","updatedAt":"2026-08-03T04:32:41.539667Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.4.4","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.4.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-03T14:43:05.878128Z","publishedAt":"2026-08-03T14:43:05.878128Z","updatedAt":"2026-08-03T14:43:05.878128Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/infinitecampus-mcp","description":"Infinite Campus (Campus Parent) for Claude — grades, attendance, assignments, messages","repository":{"url":"https://github.com/chrischall/infinitecampus-mcp","source":"github"},"version":"2.4.5","packages":[{"registryType":"npm","identifier":"infinitecampus-mcp","version":"2.4.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Campus Parent portal base URL, e.g. https://campus.district.k12.example.us","isRequired":true,"format":"string","name":"IC_BASE_URL"},{"description":"Infinite Campus district app name (appName path segment from the portal URL)","isRequired":true,"format":"string","name":"IC_DISTRICT"},{"description":"Campus Parent portal username. Optional: leave unset to use the fetchproxy browser-extension fallback.","format":"string","name":"IC_USERNAME"},{"description":"Campus Parent portal password. Required only when IC_USERNAME is set.","format":"string","isSecret":true,"name":"IC_PASSWORD"},{"description":"Friendly name for the district (defaults to district appname)","format":"string","name":"IC_NAME"},{"description":"Set to 1 to skip the fetchproxy browser-extension fallback (missing creds become a hard error — useful in headless CI).","format":"string","name":"IC_DISABLE_FETCHPROXY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-06T00:42:19.20685Z","publishedAt":"2026-08-06T00:42:19.20685Z","updatedAt":"2026-08-06T00:42:19.20685Z","isLatest":true}}}],"metadata":{"count":16}}
