MySkillDB Job Categories MCP
MySkillDB Job Categories MCP
MCP server so Claude (Desktop / Code) or Cursor can push job categories into a college org through the existing MySkillDB API.
Two ways to run it:
Mode | File | Auth | Best for |
HTTP connector (recommended) |
| Click Connect in Claude → login page → done | Claude custom connectors |
Stdio |
| Paste JWT into config env | Cursor / quick local use |
HTTP connector — "Connect" with login
Start it (MySkillDB API must be running):
cd MySkillDb-mcp
npm run start:http
# MCP endpoint: http://localhost:3737/mcpThen in Claude → Settings → Connectors → Add custom connector, enter:
http://localhost:3737/mcpClick Connect — a MySkillDB login page opens. Sign in with your org admin email/password and Claude gets access automatically. Tokens refresh on their own; no JWT copying.
The org is taken from the logged-in user's account, so there's nothing else to configure.
If your Claude client refuses plain
http://localhost(claude.ai web requires a public HTTPS URL), expose it with a tunnel:npx cloudflared tunnel --url http://localhost:3737Then restart with
MCP_PUBLIC_URL=https://your-tunnel-domain.trycloudflare.com npm run start:httpand addhttps://your-tunnel-domain.trycloudflare.com/mcpas the connector.
Env vars (all optional):
Env | Default |
|
|
|
|
|
|
Stdio mode (token in config)
Tools
Tool | Purpose |
| List categories for the org |
| Fetch one by slug or id |
| Create or update one category (match by |
| Batch upsert (up to 50) — best for Claude-authored catalogs |
| Ensure the catch-all Other category exists |
| Delete by id (Other is protected server-side) |
Setup
cd MySkillDb-mcp
npm install1. Get an access token
Log in as org_admin (or acc_manager / master_admin) and copy the JWT access token, e.g. from DevTools → Application → localStorage, or:
curl -s -X POST http://localhost:3001/api/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"you@college.edu","password":"your-password"}'Use the accessToken from the response. Also note your organizationId.
2. Env vars the MCP needs
Env | Example |
|
|
| JWT from login |
|
|
3. Claude Desktop config
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"myskilldb-job-categories": {
"command": "npx",
"args": [
"tsx",
"/Users/ajaykrishnan/Downloads/MySkillDB/Apps/MySkillDB_New/MySkillDb-mcp/src/index.ts"
],
"env": {
"MYSKILLDB_API_BASE_URL": "http://localhost:3001/api",
"MYSKILLDB_ACCESS_TOKEN": "paste-jwt-here",
"MYSKILLDB_ORGANIZATION_ID": "paste-org-id-here"
}
}
}
}Restart Claude Desktop after saving.
4. Cursor config
Add the same block under Cursor MCP settings / .cursor/mcp.json:
{
"mcpServers": {
"myskilldb-job-categories": {
"command": "npx",
"args": [
"tsx",
"/Users/ajaykrishnan/Downloads/MySkillDB/Apps/MySkillDB_New/MySkillDb-mcp/src/index.ts"
],
"cwd": "/Users/ajaykrishnan/Downloads/MySkillDB/Apps/MySkillDB_New/MySkillDb-mcp",
"env": {
"MYSKILLDB_API_BASE_URL": "http://localhost:3001/api",
"MYSKILLDB_ACCESS_TOKEN": "paste-jwt-here",
"MYSKILLDB_ORGANIZATION_ID": "paste-org-id-here"
}
}
}
}Example prompt for Claude
Using the MySkillDB job categories MCP, push a Tech category for "Backend Engineering" with slug
backend-engineering, categoryKeybackend, about/day-in-life/skills/tools/growth plan suitable for Indian campus placement students. Then list categories to confirm.
Claude should call upsert_job_category or push_job_categories.
Local smoke test
With the API running and env exported:
export MYSKILLDB_API_BASE_URL=http://localhost:3001/api
export MYSKILLDB_ACCESS_TOKEN=...
export MYSKILLDB_ORGANIZATION_ID=...
npm run inspectNotes
The MySkillDB server must be running.
Token must belong to an admin role that can write
/api/job-categories.Never commit real JWTs into git — keep them in local MCP config only.
stdout is reserved for MCP JSON-RPC; logs go to stderr.