CampusKit can run a local Model Context Protocol server. Any MCP client on the same computer can then call your planner as a set of tools: list courses, read grades, add assignments, log study time. It is local only, bound to 127.0.0.1, and off until you turn it on.
Requirements
- CampusKit Pro. See activate CampusKit Pro.
- An MCP client. CampusKit has one-click setup for Claude Desktop, Claude Code, Codex, Cursor, Windsurf, VS Code and Gemini CLI. Anything else that speaks MCP works with the copyable snippets.
1. Enable the server
- Open Settings and choose MCP server.
- Flip Enable server. The row shows Running on port 4823 once it is up. The server starts with the app from then on, until you switch it off.
2. Connect a client with one click
Under Connect a client you get a list of supported apps. Clients that are installed on your machine sort first.
- Click Connect next to the one you use. CampusKit writes a
campuskitentry into that client’s own config file, in the exact shape that client expects. - Restart the client if it was open. Most clients only read their config on launch.
- Ask it something: “what’s on my schedule tomorrow?” If it calls a CampusKit tool, you are connected.
A client that already has an entry shows Connected. If an entry was written by an older version and no longer matches, it shows Needs update; click Update. Remove takes the entry back out of the client’s config.
Claude Desktop only launches command-based servers from its config, so for it CampusKit installs a small stdio bridge that ships inside the app. There is nothing extra to install.
3. Decide what it may change
Reads are always allowed. Every write tool is off until you enable it, so a freshly connected client can answer questions but cannot create or edit anything. Under Write access, turn on only what you want:
| Tool | What it does | Access |
|---|---|---|
list_semesters | Your semesters and which is current | read |
list_courses | Courses with meetings, units and colors | read |
list_assignments | Assignments, with filters by course, status and date | read |
get_grades | Current grade, category breakdown, needed scores, GPA | read |
get_schedule | Classes and deadlines in a date range | read |
get_study_stats | Focus time per course | read |
list_requirements | Degree or graduation planner: every requirement, totals, pace and prerequisite problems | read |
create_semester | Add a term and make it current | write |
create_course | Add a course with meetings and grading categories | write |
update_course | Edit a course, including its weekly meetings | write |
create_grade_category | Add a grading category to a course | write |
create_assignment | Add an assignment | write |
update_assignment | Change status, score, due date and so on | write |
create_requirement | Add a course or slot to the planner with its term and prerequisite | write |
update_requirement | Mark a requirement done or registered, move its term, set a prerequisite | write |
log_study_session | Record study time for a course | write |
create_flashcards | Add cards to a deck | write |
Habits, to-dos and the high school pages (applications, scholarships, essays, activities, honors, service hours, tests, transcript) have their own list and create tools; the full list appears under Write access in Settings.
Pages refresh on their own when a client writes. If the planner is open while Claude adds a requirement, the row appears without switching pages.
The pitch is “add every deadline from this syllabus to CampusKit”: paste a syllabus into Claude, enable create_course and create_assignment, and let it do the data entry.
Other clients
For anything not in the list, use the Other clients section, which shows two copyable snippets:
-
HTTP, for clients that connect to a URL. CampusKit serves streamable HTTP at:
http://127.0.0.1:4823/mcp -
stdio, for clients that can only launch a command. This uses the bundled bridge and the path to your CampusKit install, so copy it from Settings rather than typing it.
The snippet in Settings is always right for your machine, including the install path.
Troubleshooting
- The client does not see any tools. Restart it; then check that Enable server is still on and shows Running. If the client row says Needs update, click it.
- “Pro required” when enabling. The server is a Pro feature. Activate a key in Settings, License.
- Writes are refused. That tool’s switch under Write access is off. This is the default for every write tool.
- Another app is using port 4823. The server cannot start while the port is taken. Quit the other app, then switch Enable server off and on again.
Security notes
The server listens on the loopback address only, so nothing on your network can reach it. It validates the Host and Origin headers to block DNS-rebinding tricks from web pages. Even with writes enabled, tools can only touch planner data: there is no file or shell access.