nicolagaletti/welcome-to-jungle-mcp-server
If you are the rightful owner of welcome-to-jungle-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A Model Context Protocol (MCP) server that enables Claude to search and access job listings from Welcome to the Jungle using Puppeteer-based web scraping.
Welcome to the Jungle MCP Server
A Model Context Protocol (MCP) server that enables Claude to search and access job listings from Welcome to the Jungle using Puppeteer-based web scraping.
Features
- 🔍 Search jobs by keywords, location, and contract type
- 📋 Get detailed information about specific job postings
- 🤖 Seamless integration with Claude Desktop
- 🆓 No API keys or external services required - uses direct web scraping
- 🚀 Built with Puppeteer for reliable headless browser scraping
- ✅ Comprehensive unit test coverage
Prerequisites
- Node.js 18 or higher
- Claude Desktop app
Installation
-
Clone this repository:
git clone https://github.com/yourusername/welcome-to-jungle-mcp-server.git cd welcome-to-jungle-mcp-server -
Install dependencies:
npm install -
Configure Claude Desktop:
Edit your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add this configuration:
{ "mcpServers": { "welcome-to-jungle": { "command": "node", "args": ["/absolute/path/to/welcome-to-jungle-mcp-server/index.js"] } } }Replace
/absolute/path/to/welcome-to-jungle-mcp-server/index.jswith the actual path to your installation. - macOS:
-
Restart Claude Desktop
Usage
Once configured, you can ask Claude to help with job hunting:
Example Prompts
- "Search for software engineer jobs in Paris"
- "Find remote product manager positions"
- "Show me internships in London"
- "Get details about this job: [paste URL]"
- "Compare these three job postings and help me decide which to apply for"
Available Tools
search_jobs
Search for jobs on Welcome to the Jungle.
Parameters:
query(required): Job title, company name, or keywordslocation(optional): City or "Remote"contractType(optional): e.g., "full_time", "internship", "freelance"maxResults(optional): Number of results (default: 20)
get_job_details
Get detailed information about a specific job posting.
Parameters:
jobUrl(required): Full URL of the job posting
How It Works
This server uses Puppeteer, a headless Chrome browser, to scrape Welcome to the Jungle's job listings directly. Unlike API-based approaches:
- ✅ No API keys or external accounts needed
- ✅ No usage limits or quotas
- ✅ Works with client-side rendered React applications
- ✅ Handles dynamic Algolia-based search results
- ⚠️ First request may take a few seconds as Chrome launches
Development
Run tests:
npm test
Project structure:
index.js- MCP server entry pointsrc/scraper.js- Puppeteer web scraping logicsrc/handlers.js- Tool request handlerssrc/tools.js- Tool definitionssrc/client.js- Scraper initializationsrc/*.test.js- Unit tests
Troubleshooting
Server not appearing in Claude Desktop:
- Check that the path in config is absolute, not relative
- Check Claude Desktop logs for errors
- Ensure Node.js 18+ is installed
Scraper errors or timeouts:
- Welcome to the Jungle's site structure may have changed
- First request is slower as Chrome initializes
- Check your internet connection
- Consider reducing
maxResultsfor faster responses
Chrome/Puppeteer issues:
- Puppeteer downloads Chromium automatically on first install
- If you see Chrome errors, try reinstalling:
npm install puppeteer --force
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Credits
- Built with Puppeteer for web scraping
- Built with the Model Context Protocol SDK
- Tested with Vitest
Disclaimer
This tool is for personal use only. Please respect Welcome to the Jungle's Terms of Service and robots.txt. Use responsibly and avoid excessive requests that could impact their servers.