career-navigator-mcp
README.md
# career-navigator-mcp
An MCP (Model Context Protocol) server that exposes the career diagnosis AI system as callable tools — powered by Google Gemini and a RAG knowledge base of 10 professions.
Any MCP-compatible client (Claude Desktop, Cursor, etc.) can integrate this server and call its tools directly.
---
## Tools
### `analyze_skills`
Analyzes free text describing a user and returns a list of skills with match percentages.
**Input:**
```json
{ "text": "I enjoy working with people and solving complex problems..." }
```
**Output:**
```json
[
{ "skill": "Interpersonal Communication", "match_percentage": 95 },
{ "skill": "Problem Solving", "match_percentage": 85 }
]
```
---
### `recommend_profession`
Receives a skills array and recommends the most suitable profession using RAG — matched against a real knowledge base of 10 professions.
**Input:**
```json
{
"skills": [
{ "skill": "Interpersonal Communication", "match_percentage": 95 },
{ "skill": "Problem Solving", "match_percentage": 85 }
]
}
```
**Output:**
```json
[
{
"profession": "מנהל משאבי אנוש",
"match_percentage": 91,
"explanation": "..."
}
]
```
---
## Architecture
```
MCP Client (Claude Desktop / Cursor / any AI agent)
│
│ tools/call: analyze_skills / recommend_profession
▼
career-navigator-mcp (StdioServerTransport)
│
├── analyze_skills ──► Gemini API (structured JSON output)
│
└── recommend_profession ──► RAG: professions_data.json
└── top 3 matches injected into Gemini prompt
```
---
## Setup
### Prerequisites
- Node.js 18+
- A `GEMINI_API_KEY` from [Google AI Studio](https://aistudio.google.com/)
### Install
```bash
git clone https://github.com/Miriam-Epstein/career-navigator-mcp.git
cd career-navigator-mcp
npm install
```
### Environment
Create a `.env` file in the project root:
```env
GEMINI_API_KEY=your_key_here
```
---
## Connecting to Claude Desktop
Add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"career-navigator": {
"command": "node",
"args": ["/absolute/path/to/career-navigator-mcp/index.js"]
}
}
}
```
---
## Model Fallback
Every Gemini call uses an automatic fallback chain:
```
gemini-2.5-flash-lite → (on 429 / quota error) → gemini-2.5-flash
```
---
## Tech Stack
| Layer | Technology |
|---|---|
| Protocol | MCP SDK (`@modelcontextprotocol/sdk`) |
| Transport | StdioServerTransport |
| AI | Google Gemini (`@google/genai`) |
| RAG | Local JSON knowledge base (10 professions) |
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues