Placed MCP Server
# Placed MCP Server
> **Official MCP server for [Placed by Exidian](https://placed.exidian.tech)** — 47 AI-powered career tools for resume building, job tracking, interview coaching, ATS optimization, and more.
[](https://www.npmjs.com/package/@exidian/placed-mcp)
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io)
[](https://nodejs.org)
---
## What is Placed?
**Placed** is an AI-powered career platform by [Exidian Technologies](https://placed.exidian.tech) that helps professionals land their next role faster. It combines 37 resume templates, ATS optimization, job application tracking, AI-generated cover letters, mock interview coaching (technical, system design, behavioral), LinkedIn profile optimization, salary negotiation tools, and company research — all in one platform. This MCP server exposes all 47 Placed tools directly to Claude, Cursor, and any MCP-compatible AI assistant.
---
## Quick Install
### Option 1: Claude Desktop
Add to your `claude_desktop_config.json` (usually at `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
{
"mcpServers": {
"placed": {
"command": "npx",
"args": ["-y", "@exidian/placed-mcp"],
"env": {
"PLACED_API_KEY": "your-api-key-here",
"PLACED_BASE_URL": "https://placed.exidian.tech"
}
}
}
}
```
### Option 2: Cursor
Add to your Cursor MCP settings (`~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"placed": {
"command": "npx",
"args": ["-y", "@exidian/placed-mcp"],
"env": {
"PLACED_API_KEY": "your-api-key-here",
"PLACED_BASE_URL": "https://placed.exidian.tech"
}
}
}
}
```
### Option 3: Run directly with npx
```bash
PLACED_API_KEY=your-api-key npx @exidian/placed-mcp
```
---
## Authentication
1. Go to [placed.exidian.tech](https://placed.exidian.tech) and create an account
2. Navigate to **Settings → API Keys**
3. Generate a new API key
4. Set it as `PLACED_API_KEY` in your MCP config (see above)
---
## All 47 Tools
### 👤 Profile (2 tools)
| Tool | Description |
|------|-------------|
| `get_profile` | Get your career profile — contact info, experience, education, languages |
| `update_profile` | Update any field in your career profile |
### 📄 Resume (8 tools)
| Tool | Description |
|------|-------------|
| `create_resume` | Create a new resume (uses profile data by default) |
| `get_resume` | Get a resume by ID, or fetch the most recent one |
| `update_resume` | Update any part of a resume — metadata or content |
| `list_resumes` | List all your resumes |
| `get_resume_pdf_url` | Get a temporary PDF download URL (expires in 15 min) |
| `get_resume_docx_url` | Get a temporary DOCX download URL (expires in 15 min) |
| `export_resume_json` | Export resume data as JSON for backups or integrations |
| `export_resume_markdown` | Export resume as Markdown — great for GitHub profiles |
### 🎯 Job Matching (6 tools)
| Tool | Description |
|------|-------------|
| `match_job` | Analyze how well your resume matches a job description |
| `analyze_resume_gaps` | Identify missing keywords, skill gaps, and improvement areas |
| `search_jobs` ⭐ | Search jobs by keyword, stack, comp range, and remote filter |
| `get_match_score` ⭐ | Score how well a candidate matches a specific job (0–100 with breakdown) |
| `get_recommended_jobs` ⭐ | AI-ranked job recommendations based on profile + history |
| `get_market_comp` ⭐ | Market compensation bands (P25/median/P75/P90) for a role + location |
### ✉️ Cover Letter (1 tool)
| Tool | Description |
|------|-------------|
| `generate_cover_letter` | Generate a tailored cover letter from your resume + job description |
### 📊 Job Tracker (4 tools)
| Tool | Description |
|------|-------------|
| `add_job_application` | Add a new job application to your tracker |
| `list_job_applications` | List all applications, optionally filtered by status |
| `update_job_status` | Update an application's status (applied, interview, offer, rejected) |
| `delete_job_application` | Remove an application from your tracker |
### ⚡ Quick Apply (3 tools)
| Tool | Description |
|------|-------------|
| `get_quick_apply_profile` | Get your Quick Apply profile (work auth, salary, availability, social URLs) |
| `update_quick_apply_profile` | Update Quick Apply profile fields |
| `clear_quick_apply_profile` | Clear all Quick Apply data |
### 🚀 Job Applications — Week 2 (4 tools) ⭐ NEW
| Tool | Description |
|------|-------------|
| `apply_to_job` | Submit an application with resume + optional cover letter (auto-generated if omitted) |
| `track_application` | Get full status + history of a specific application |
| `post_job` | Post a job listing to the Placed board (employer/recruiter) |
| `update_application_stage` | Move an application through the hiring pipeline (applied → screening → interview → offer → accepted/rejected) |
### 🤖 AI Tools (5 tools)
| Tool | Description |
|------|-------------|
| `optimize_resume_for_job` | AI-tailor your resume to a specific job description |
| `get_interview_questions` | Generate likely interview questions for a role + company |
| `generate_linkedin_profile` | Generate AI-optimized LinkedIn headline + About section |
| `get_application_analytics` | Analytics on your application pipeline — trends, response rates |
| `get_resume_schema` | Get available resume sections and structure |
### 🧙 AI Wizard (3 tools)
| Tool | Description |
|------|-------------|
| `generate_resume_from_prompt` | Generate a complete resume from a natural language prompt |
| `optimize_resume_section` | AI-optimize a specific section (experience, skills, summary) |
| `improve_bullet_point` | Make a single bullet point more impactful and ATS-friendly |
### 🎨 Templates (3 tools)
| Tool | Description |
|------|-------------|
| `list_resume_templates` | List all 37 available resume templates |
| `get_template_preview` | Get details about a specific template |
| `change_resume_template` | Switch a resume to a different template |
### ✅ ATS & Quality (2 tools)
| Tool | Description |
|------|-------------|
| `check_ats_compatibility` | Get ATS compatibility score + recommendations |
| `get_resume_quality_score` | Overall quality score with section-by-section breakdown |
### 🎤 Interview Coach (7 tools)
| Tool | Description |
|------|-------------|
| `start_interview_session` | Start a mock interview for a specific role (technical/behavioral/system design) |
| `continue_interview_session` | Submit your answer and get the next question + feedback |
| `get_interview_feedback` | Get detailed performance feedback for a session |
| `list_interview_cases` | List available system design cases (Twitter, URL Shortener, Netflix, Uber...) |
| `start_system_design` | Start a system design interview session |
| `get_behavioral_questions` | Get behavioral questions by role and focus area |
| `save_story_to_bank` | Save a STAR story to your story bank for reuse |
### 💳 Subscription (3 tools)
| Tool | Description |
|------|-------------|
| `get_subscription_status` | Get your current tier, limits, and usage |
| `get_usage_stats` | Detailed usage breakdown by feature |
| `get_usage_limits` | Remaining quota per feature |
### 🏢 Company Research (2 tools)
| Tool | Description |
|------|-------------|
| `research_company` | Get company culture, news, ratings, and funding data |
| `get_company_salary_data` | Get salary ranges for a role at a specific company |
### 💰 Salary Negotiation (2 tools)
| Tool | Description |
|------|-------------|
| `generate_salary_negotiation_script` | Generate negotiation talking points and email templates |
| `analyze_offer` | Analyze a job offer against market rates |
---
## Example Usage
### Build and optimize a resume
```
"Create a resume for a Senior Software Engineer role at a fintech startup,
then check its ATS compatibility and improve any weak bullet points."
```
### Prepare for an interview
```
"Start a mock technical interview for a Staff Engineer role at Stripe.
I want medium difficulty questions."
```
### Research and negotiate an offer
```
"I got an offer from Airbnb for a Senior PM role: $180k base, $50k bonus,
$200k equity over 4 years, San Francisco. Analyze this offer and generate
a negotiation script to get to $200k base."
```
### Track your job search
```
"Add my application to Google for a Senior SWE role, then show me all
my applications that are in the interview stage."
```
---
## Links
- 🌐 **Platform:** [placed.exidian.tech](https://placed.exidian.tech)
- 📦 **npm:** [@exidian/placed-mcp](https://www.npmjs.com/package/@exidian/placed-mcp)
- 🐙 **GitHub:** [Exidian-Tech/placed-mcp](https://github.com/Exidian-Tech/placed-mcp)
- 🛠️ **Skills:** [Exidian-Tech/placed-skills](https://github.com/Exidian-Tech/placed-skills)
- 📧 **Support:** hello@exidian.tech
---
## License
MIT © [Exidian Technologies Pvt Ltd](https://placed.exidian.tech)
TDQS
Scored across 55 tools
Several tools have overlapping purposes, such as match_job and analyze_resume_gaps, update_application_stage and update_job_status, track_application and get_application_analytics. This creates ambiguity for an agent trying to select the right tool.
Most tools follow a consistent verb_noun pattern (e.g., add_job_application, generate_cover_letter), but a few deviate (track_application instead of get_application, list_job_applications vs get_application_analytics). Overall, the pattern is mostly predictable.
With 55 tools, the server feels overloaded. Many tools could be consolidated (e.g., multiple resume analysis tools, separate update status tools). The large number may confuse agents and suggests the surface could be streamlined.
The tool set covers job search, application tracking, resume management, interview prep, salary analysis, and company research quite comprehensively. Minor gaps exist (e.g., no delete resume tool, no networking features), but the core job search lifecycle is well supported.