Skip to main content
Glama
Aryanpawar67

career-ops-mcp

by Aryanpawar67

career-ops-mcp

A local MCP server that tracks a job-search and freelance-lead pipeline, and drafts follow-up messages from the notes logged against each item. Built as a portfolio piece to demonstrate a repeatable, AI-augmented way of working: Define → Discover → Draft → Validate → Deliver, applied to a real personal-ops problem rather than a toy example.

Why this exists: most "AI portfolio projects" are a chatbot wrapper. This is a small, working tool with real state (a JSON-backed pipeline), a real generative step (drafting a follow-up from stored context, not from scratch), and a real interface (MCP, so it plugs into Claude Desktop or Claude Code like any other tool) — it's operational, not a demo.

What it does

Exposes five tools over MCP:

Tool

Purpose

add_pipeline_item

Add a job application or client/freelance lead

update_pipeline_item

Move an item's stage forward and log a note

list_pipeline

List items (all / open / closed)

pipeline_summary

Counts by stage + items with no update in 14+ days

draft_followup

AI-drafted follow-up message, grounded in that item's actual notes

Data is stored locally in data/pipeline.json — nothing leaves your machine except the one draft_followup call, which hits the Anthropic API.

Related MCP server: jobfinder-mcp

Setup

git clone <this-repo>
cd career-ops-mcp
pip install -r requirements.txt
cp .env.example .env   # then add your ANTHROPIC_API_KEY

Run it

python server.py

This starts the server over stdio, which is how MCP clients expect to talk to it — it isn't meant to be run standalone and left open in a terminal for browsing.

Connect it to Claude Desktop

Add this to your claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "career-ops": {
      "command": "python",
      "args": ["/absolute/path/to/career-ops-mcp/server.py"]
    }
  }
}

Restart Claude Desktop, and you'll be able to say things like "add Acme Corp as a job application, stage applied" or "draft a follow-up for Northwind Consulting" directly in chat.

Connect it to Claude Code

claude mcp add career-ops -- python /absolute/path/to/career-ops-mcp/server.py

Project layout

career-ops-mcp/
├── server.py      # MCP tool definitions (the interface)
├── storage.py      # JSON-backed CRUD for pipeline items (the state)
├── ai.py            # Anthropic API call for draft_followup (the AI step)
├── data/            # pipeline.json lives here at runtime (gitignored)
├── requirements.txt
└── .env.example

Notes

  • Single-user, single-process, local file storage — deliberately not built for concurrency. This is a personal tool, not a service.

  • draft_followup never invents facts: the prompt explicitly constrains it to the notes already logged against that item, so the "AI step" is drafting from real context rather than generating generic filler.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    C
    maintenance
    Enables tracking job applications through a pipeline, scheduling follow-ups, and summarizing job search progress via natural language.
    7
    -
  • F
    license
    A
    quality
    C
    maintenance
    Enables searching job listings, tracking applications, managing resumes, and tailoring resumes to job posts, all locally via MCP.
    6
    20
    -
  • A
    license
    A
    quality
    C
    maintenance
    A privacy-first MCP server for locally managing job, fellowship, and graduate-school applications. It offers tools for tracking application status, analyzing role fit, generating LaTeX CV/cover letters, interview prep, and discovering public jobs from ATS APIs.
    8
    1
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    Enables managing a job search through natural language: tracking applications, discovery leads, interview prep, and resume generation. Connects to Claude via MCP to read and update local Excel files and documents.
    35
    -