Internship Tracker MCP Server
by Lili-ann
README.md
# Internship tracker MCP server
A small backend that exposes your Supabase `applications` table as MCP tools,
so Claude can add, list, update, and delete entries directly in conversation.
## Files
- `db.js` — the only file that talks to Supabase directly
- `tools.js` — the four tool definitions (add / list / update / delete), each with
a schema (what input is valid) and a handler (what it does to the database)
- `server.js` — the HTTP server that speaks the MCP protocol and wires the
tools together; this is what Claude actually connects to
- `.env.example` — copy to `.env` and fill in your real Supabase + API key values
## Run it locally first
```bash
npm install
cp .env.example .env
# edit .env with your real Supabase URL, service key, and a made-up API key
npm run dev
```
Visit `http://localhost:3000` in a browser — you should see
"Internship tracker MCP server is running." That confirms the server itself
is up, before you worry about MCP or Claude at all.
## Deploy it somewhere public
Claude's custom connectors are reached from Anthropic's cloud, not your
laptop, so `localhost` will not work once you're ready to connect it to
Claude. Options: Render, Fly.io, Railway.
General steps for any of them:
1. Push this folder to a GitHub repo
2. Connect that repo to your chosen host
3. Set the same environment variables from `.env` in the host's dashboard
(never commit the real `.env` file)
4. Deploy — you'll get a public URL like `https://internship-tracker.onrender.com`
5. Your MCP endpoint is that URL + `/mcp`, e.g.
`https://internship-tracker.onrender.com/mcp`
## Add it to Claude
In Claude settings → Connectors → Add custom connector, paste the `/mcp`
URL and configure the header `x-api-key` with the same value you set as
`CONNECTOR_API_KEY`.
## Next steps
- Test each tool individually once connected: "add a test application",
"list my applications", "update it to interview stage", "delete it"
- Once the plain tools work, the visual departures-board UI can be added
as an MCP App resource on top of `list_applications` — a follow-up step,
not required for the core tracker to work
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing