Skip to main content
Glama
README.md
# jobs-mcp

MCP server for searching jobs across multiple boards and drafting proposals automatically.

## Features

- **Multi-source search** -- RemoteOK, Hacker News "Who is Hiring", Arbeitnow, GitHub Issues
- **Upwork scraping** -- HTML-based job search with fallback strategies
- **Proposal drafting** -- Auto-selects from 4 templates (MCP, AI Agent, Discord, General) based on keyword scoring
- **Job scan** -- Single command to sweep all sources at once
- **Profile storage** -- Built-in profile for quick reference during applications

## Tools

| Tool | Description |
|------|-------------|
| `search_remote_jobs` | Search RemoteOK by tags (typescript, ai, python, etc.) |
| `search_hn_jobs` | Search HN "Who is Hiring" threads via Algolia API |
| `search_github_jobs` | Search GitHub issues/discussions for job postings |
| `search_arbeitnow_jobs` | Search Arbeitnow with remote filter |
| `search_upwork_jobs` | Scrape Upwork job listings by keyword |
| `draft_proposal` | Generate a tailored proposal from a job description |
| `job_scan` | Sweep all sources at once with multiple keywords |
| `my_profile` | Return saved profile, skills, and project portfolio |

## Setup

```bash
npm install
npm run build
```

### MCP Client Config

Add to your MCP client configuration:

```json
{
  "mcpServers": {
    "jobs": {
      "command": "node",
      "args": ["path/to/jobs-mcp/dist/index.js"]
    }
  }
}
```

## Stack

- TypeScript
- [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk)
- Zod for input validation
- No API keys required (all free/public APIs)

## How Proposal Drafting Works

The `draft_proposal` tool scores a job description against 4 templates:

- **Template A** -- MCP / Model Context Protocol projects
- **Template B** -- AI agents, autonomous systems, LLM integration
- **Template C** -- Discord bots and server management
- **Template D** -- General TypeScript/Python backend work

Keywords in the job title and description are matched against each template. The highest-scoring template is selected and combined with a custom opening that references the specific technologies mentioned in the listing.

## License

MIT