Developer Portfolio MCP Server
by minhasaatish
README.md
# Developer Portfolio MCP Server
> **An MCP server that lets recruiters and AI assistants explore your profile, skills, and projects through natural language.**
[](https://python.org)
[](https://modelcontextprotocol.io)
[](LICENSE)
---
## What is this?
This project is a **Model Context Protocol (MCP) server** — a standardized bridge between AI assistants (Cursor, Claude Desktop, etc.) and your developer portfolio data.
Instead of sending recruiters a static PDF resume, you give them (or their AI tools) a live MCP server they can **query interactively**:
- *"What Python projects has this developer built?"*
- *"How well does their stack match this job description?"*
- *"Generate an interview prep brief for a Senior Engineer role."*
**Why recruiters care:** It demonstrates you understand modern AI tooling, can build production integrations, and think about developer experience.
---
## Quick Start
### 1. Clone and install
```bash
git clone https://github.com/YOUR_USERNAME/developer-portfolio-mcp.git
cd developer-portfolio-mcp
uv sync --extra dev
```
### 2. Customize your data
Edit these JSON files with **your real information**:
| File | What to update |
|------|----------------|
| `src/developer_portfolio_mcp/data/profile.json` | Name, email, GitHub, LinkedIn, summary |
| `src/developer_portfolio_mcp/data/projects.json` | Your real projects |
| `src/developer_portfolio_mcp/data/skills.json` | Your actual skills |
### 3. Run the server
```bash
uv run developer-portfolio-mcp
```
### 4. Connect to Cursor
Copy the example config and update the path:
```bash
cp .cursor/mcp.json.example .cursor/mcp.json
# Edit the absolute path in mcp.json to your project directory
```
Then in Cursor: **Settings → MCP** — your server should appear. Try asking:
> "Use the developer-portfolio MCP to show me this candidate's top projects."
---
## What's Inside
### Tools (6) — Actions the AI can perform
| Tool | Description |
|------|-------------|
| `get_developer_profile` | Core profile and availability |
| `list_projects` | Portfolio projects (filterable by status) |
| `get_project_details` | Deep dive on one project |
| `search_skills` | Search skills by keyword/category |
| `get_contact_info` | Contact links and scheduling info |
| `compare_stack` | Match job requirements vs. your skills |
### Resources (3) — Read-only data endpoints
| URI | Content |
|-----|---------|
| `profile://resume` | Full resume in Markdown |
| `profile://skills/{category}` | Skills by category |
| `projects://list` | All projects as JSON |
### Prompts (3) — Reusable AI templates
| Prompt | Use case |
|--------|----------|
| `interview_prep` | Generate role-specific interview prep |
| `recruiter_brief` | One-page candidate summary |
| `project_pitch` | Pitch a project to a hiring manager |
---
## Project Structure
```
developer-portfolio-mcp/
├── src/developer_portfolio_mcp/
│ ├── server.py # MCP server (tools, resources, prompts)
│ ├── loaders.py # Data loading utilities
│ └── data/ # Your portfolio JSON (customize these!)
│ ├── profile.json
│ ├── projects.json
│ └── skills.json
├── tests/ # Unit tests
├── docs/
│ └── LEARNING_GUIDE.md # MCP basics → advanced (start here to learn!)
├── .cursor/mcp.json.example
├── pyproject.toml
└── README.md
```
---
## Run Tests
```bash
uv run pytest -v
```
---
## Learning MCP
New to MCP? Read **[docs/LEARNING_GUIDE.md](docs/LEARNING_GUIDE.md)** — a structured path from basics to advanced concepts, using this project as your hands-on lab.
Topics covered:
- What MCP is and why it matters
- Tools vs Resources vs Prompts
- Transports (stdio, HTTP)
- Building your own tools
- Deploying for recruiters
---
## Push to GitHub
```bash
# After customizing your data:
git add .
git commit -m "Add developer portfolio MCP server"
git remote add origin https://github.com/YOUR_USERNAME/developer-portfolio-mcp.git
git push -u origin main
```
Add this to your resume/LinkedIn:
> Built an MCP server exposing developer portfolio data to AI assistants — [github.com/YOUR_USERNAME/developer-portfolio-mcp](https://github.com/YOUR_USERNAME/developer-portfolio-mcp)
---
## Tech Stack
- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk) (FastMCP)
- Python 3.11+
- [uv](https://docs.astral.sh/uv/) for package management
---
## License
MIT — use freely, customize for your portfolio, and share with recruiters.
TDQS
A4/5.0
Scored across 6 tools
Disambiguation5/5
Each tool has a distinct purpose: profile, contact, projects (list and detail), skills search, and stack comparison. No overlapping functionality.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern in snake_case, making them predictable and easy to understand.
Tool Count5/5
With 6 tools, the server is well-scoped for a developer portfolio, covering all essential areas without unnecessary bloat.
Completeness4/5
The tool set covers profile, contact, projects, skills, and stack comparison. Missing a direct list_all_skills tool, but search_skills covers it with a broad query. Minor gap, but overall adequate for a read-only portfolio.
Maintenance
ActivityInactive
ResponsivenessNo issues