A beginner-friendly Model Context Protocol (MCP) server for managing employee data
Employee Management MCP Server š¢
A beginner-friendly Model Context Protocol (MCP) server for managing employee data with Claude Desktop.
š Quick Start
This MCP server provides Claude Desktop with access to employee management functionality including employee directory, search, and detailed profiles.
What You Get
- 10 employees across 6 departments (Engineering, Marketing, HR, Finance, Sales, Operations)
- 3 powerful tools for Claude to use
- Real-time employee data access through Claude Desktop
- Beginner-friendly setup and documentation
š Project Structure
š¦ Employee-MCP-Server/
āāā šļø clean_project/
ā āāā š employee_server.py # Main MCP server
ā āāā š requirements.txt # Python dependencies
ā āāā š README.md # Project guide
āāā š pyproject.toml # Project configuration
āāā š README.md # This file
ā” Features
- Employee Directory: Complete list of all employees with details
- Employee Lookup: Get detailed information for specific employees
- Department Search: Find all employees in a specific department
- Real-time Data: Instant access through Claude Desktop
- Clean Architecture: Well-organized, beginner-friendly code
š ļø Installation & Setup
Prerequisites
- Python 3.13+
- Claude Desktop application
- Git (for cloning)
1. Clone the Repository
git clone https://github.com/suchitad1950/New-Version-of-MCP-Server.git
cd New-Version-of-MCP-Server
2. Set Up Python Environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r clean_project/requirements.txt
3. Configure Claude Desktop
Add this to your Claude Desktop configuration file:
{
"mcpServers": {
"employee-leave-server": {
"command": "/path/to/your/venv/bin/python",
"args": ["/path/to/your/clean_project/employee_server.py"],
"env": {
"PYTHONPATH": "/path/to/your/clean_project",
"PYTHONIOENCODING": "utf-8"
}
}
}
}
4. Start Using
- Restart Claude Desktop
- Ask: "List all employees" or "Show me the employee directory"
š¬ Available Commands
Ask Claude any of these commands:
| Command | Description |
|---|---|
"List all employees" |
Complete employee directory with all details |
"Get details for employee EMP001" |
Specific employee profile |
"Show employees in Engineering" |
Filter by department |
"Find all Marketing employees" |
Department-specific search |
š„ Employee Data
Your server includes realistic employee data:
Departments & Staff
- Engineering (2): Sachin Goswami (Senior Engineer), Neha Patil (Junior Developer)
- Marketing (2): Ravi Punekar (Manager), Priya Mehta (VP Marketing & Sales)
- HR (1): Rahul Deshpande (HR Director)
- Finance (2): Archana Jadhav (Analyst), Vikram Singh (CFO)
- Sales (2): Preeti Kulkarni (Executive), Amit Sharma (Manager)
- Operations (1): Karan Joshi (Coordinator)
š§ Technical Details
- Protocol: Model Context Protocol (MCP)
- Language: Python 3.13
- Framework: MCP Server SDK
- Tools Available: 3 (list_all_employees, get_employee_by_id, search_employees_by_department)
- Data Format: JSON responses with rich formatting
š Troubleshooting
Claude Can't See Employees?
- Completely quit Claude Desktop (ā+Q on Mac)
- Wait 10 seconds
- Reopen Claude Desktop
- Try asking for employee data again
Server Not Starting?
- Check Python environment is activated
- Verify all dependencies are installed:
pip install -r clean_project/requirements.txt - Ensure file paths in Claude config are correct
Connection Issues?
- Verify Claude Desktop configuration file location
- Check that the Python path points to your virtual environment
- Make sure the server file path is absolute
š What's Next?
This project serves as a foundation for more advanced MCP servers:
Potential Extensions
- Leave Management: Add vacation request and approval workflows
- Performance Reviews: Employee evaluation and feedback systems
- Reporting: Generate department and company-wide reports
- Integration: Connect with HR systems, databases, or APIs
- Authentication: Add user roles and permissions
Learning Opportunities
- Understand MCP protocol implementation
- Learn async Python programming
- Explore Claude Desktop integration
- Practice clean code architecture
š License
This project is open source and available under the MIT License.
š¤ Contributing
Feel free to submit issues and enhancement requests!
- Fork the repository
- Create your feature branch
- Make your changes
- Submit a pull request
š Support
If you run into any iss
Tools (3)
list_all_employeesProvides a complete list of all employees with their details.get_employee_by_idRetrieves detailed information for a specific employee using their ID.search_employees_by_departmentFinds all employees belonging to a specific department.Environment Variables
PYTHONPATHrequiredPath to the clean_project directory to ensure the server can import modules.PYTHONIOENCODINGSet to utf-8 to ensure proper character encoding for output.Configuration
{"mcpServers": {"employee-leave-server": {"command": "/path/to/your/venv/bin/python", "args": ["/path/to/your/clean_project/employee_server.py"], "env": {"PYTHONPATH": "/path/to/your/clean_project", "PYTHONIOENCODING": "utf-8"}}}}