A Model Context Protocol (MCP) server built with FastMCP that provides tools for searching and filtering a database of developer candidates.
This MCP server exposes tools to search through a database of 20 sample developers with various skills, experience levels, and specializations. It's designed to demonstrate how to build an MCP server that provides data search and filtering capabilities.
The server provides three main tools:
Search for candidates based on multiple criteria:
- skill: Search for specific technical skills (e.g., "Python", "React")
- min_experience: Filter by minimum years of experience
- max_rate: Filter by maximum hourly rate (USD)
- location: Filter by location (partial match)
- availability: Filter by availability (e.g., "Immediate", "2 weeks")
- specialization: Search for specific areas of expertise
Get detailed information about a specific candidate by their ID.
Get a comprehensive list of all unique skills in the candidate database along with their frequency.
The server includes 20 diverse developer profiles including:
- Full Stack Developers
- DevOps Engineers
- Machine Learning Engineers
- Mobile Developers
- Security Engineers
- Cloud Architects
- And more...
Each candidate profile contains:
- Name and title
- Technical skills
- Years of experience
- Location
- Hourly rate
- Availability
- Areas of specialization
- Python 3.13 or higher
uvpackage manager
- Clone this repository:
git clone <repository-url>
cd mcp-server- Install dependencies using uv:
uv pip install -e .To use this MCP server with Claude Desktop or other tools. Follow the instructions at FastMCP Claude Desktop Integration to add this server.
For development and testing, you can run the server directly:
Or using uv:
uv run main.pyOnce connected to Claude Desktop, you can use natural language to interact with the tools:
- "Search for Python developers with at least 5 years of experience"
- "Find developers available immediately with a rate under $150/hour"
- "Show me all developers with machine learning skills"
- "Get details for candidate ID 4"
- "List all available skills in the database"
The project structure:
main.py- Main server file with tool definitionscandidates.py- Sample candidate databasepyproject.toml- Project configuration and dependencies
- FastMCP - A framework for building MCP servers quickly and easily
- Python 3.13+
Elva - https://www.elva-group.com