MySkillDB Job Categories MCP

MySkillDB Job Categories MCP

Enables AI assistants to manage job categories in a college org through the MySkillDB API, with tools for listing, fetching, upserting, batch pushing, and deletion. Supports both HTTP and stdio modes with OAuth login.

Category
Visit Server

README

MySkillDB Job Categories MCP

MCP server so Claude (Desktop / Code) or Cursor can push job categories into a college org through the MySkillDB API.

Source layout

src/
  index.ts                 # stdio entry (Cursor / Claude Desktop)
  http.ts                  # HTTP entry (Claude Connect)
  types/                   # interfaces (config, API, OAuth)
  schemas/                 # Zod schemas for tool inputs
  helpers/                 # env, jwt, string, http, mcp-result
  services/                # MySkillDB API + auth clients
  oauth/                   # login page + in-memory OAuth store
  tools/                   # MCP tool registration
  server/                  # HTTP connector routing

Two ways to run it:

Mode File Auth Best for
HTTP connector (recommended) src/http.ts Click Connect → login page Claude custom connectors
Stdio src/index.ts JWT + org id in env Cursor / Claude Desktop

Prerequisites

cd MySkillDb-mcp
npm install

MySkillDB API must be running (default http://localhost:3001).

Tools

Tool Purpose
list_job_categories List categories for the org
get_job_category Fetch one by slug or id
upsert_job_category Create or update one category (match by categoryKey / slug)
push_job_categories Batch upsert (up to 50) — best for Claude-authored catalogs
ensure_other_category Ensure the catch-all Other category exists
delete_job_category Delete by id (Other is protected server-side)

HTTP connector — "Connect" with login

npm run start:http
# MCP endpoint: http://localhost:3737/mcp

In Claude → Settings → Connectors → Add custom connector, enter:

http://localhost:3737/mcp

Click Connect — a MySkillDB login page opens. Sign in as org admin; tokens refresh automatically. Org is taken from the logged-in user.

If Claude requires HTTPS, tunnel it:

npx cloudflared tunnel --url http://localhost:3737

Then restart with MCP_PUBLIC_URL=https://your-tunnel-domain.trycloudflare.com npm run start:http.

Env Default
MYSKILLDB_API_BASE_URL http://localhost:3001/api
MCP_PORT 3737
MCP_PUBLIC_URL http://localhost:3737 (set when tunneling)

Stdio mode (Cursor / Claude Desktop)

1. Get an access token

curl -s -X POST http://localhost:3001/api/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"email":"you@college.edu","password":"your-password"}'

Use accessToken and organizationId from the response. Role must be org_admin, acc_manager, or master_admin.

2. Export secrets in your shell (recommended)

export MYSKILLDB_ACCESS_TOKEN='...'
export MYSKILLDB_ORGANIZATION_ID='...'

Do not commit real JWTs.

3. Cursor (dynamic paths)

Copy mcp.config.example.json into the monorepo root at .cursor/mcp.json:

{
  "mcpServers": {
    "myskilldb-job-categories": {
      "command": "npm",
      "args": ["start"],
      "cwd": "${workspaceFolder}/MySkillDb-mcp",
      "env": {
        "MYSKILLDB_API_BASE_URL": "http://localhost:3001/api",
        "MYSKILLDB_ACCESS_TOKEN": "${env:MYSKILLDB_ACCESS_TOKEN}",
        "MYSKILLDB_ORGANIZATION_ID": "${env:MYSKILLDB_ORGANIZATION_ID}"
      }
    }
  }
}

${workspaceFolder} resolves to the project root — no absolute path to edit per machine.

If you open only MySkillDb-mcp as the workspace, set "cwd": "${workspaceFolder}" instead.

4. Claude Desktop (absolute path)

Claude Desktop does not support ${workspaceFolder}. Copy mcp.config.claude-desktop.example.json into:

~/Library/Application Support/Claude/claude_desktop_config.json

Replace /ABSOLUTE/PATH/TO/SkillDB-og/MySkillDb-mcp with your real path (and paste JWT/org id, or export them and reference if your host supports it). Restart Claude Desktop.


Example prompt

Using the MySkillDB job categories MCP, push a Tech category for "Backend Engineering" with slug backend-engineering, categoryKey backend, about/day-in-life/skills/tools/growth plan suitable for Indian campus placement students. Then list categories to confirm.

Local smoke test

export MYSKILLDB_API_BASE_URL=http://localhost:3001/api
export MYSKILLDB_ACCESS_TOKEN=...
export MYSKILLDB_ORGANIZATION_ID=...
npm run inspect

Notes

  • MySkillDB server must be running.
  • Token must belong to an admin role that can write /api/job-categories.
  • Never commit real JWTs — use ${env:...} in Cursor or local-only config.
  • stdout is reserved for MCP JSON-RPC; logs go to stderr.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured