Skip to main content
Glama
suchitad1950

Employee Management MCP Server

by suchitad1950
README.md
# Employee Management MCP Server šŸ¢

A beginner-friendly Model Context Protocol (MCP) server for managing employee data with Claude Desktop.

![MCP Server](https://img.shields.io/badge/MCP-Server-blue)
![Python](https://img.shields.io/badge/Python-3.13-green)
![Status](https://img.shields.io/badge/Status-Working-brightgreen)

## šŸš€ 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
```bash
git clone https://github.com/suchitad1950/New-Version-of-MCP-Server.git
cd New-Version-of-MCP-Server
```

### 2. Set Up Python Environment
```bash
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:
```json
{
  "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
1. Restart Claude Desktop
2. 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?
1. Completely quit Claude Desktop (⌘+Q on Mac)
2. Wait 10 seconds
3. Reopen Claude Desktop
4. Try asking for employee data again

### Server Not Starting?
1. Check Python environment is activated
2. Verify all dependencies are installed: `pip install -r clean_project/requirements.txt`
3. Ensure file paths in Claude config are correct

### Connection Issues?
1. Verify Claude Desktop configuration file location
2. Check that the Python path points to your virtual environment
3. 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!

1. Fork the repository
2. Create your feature branch
3. Make your changes
4. Submit a pull request

## šŸ“ž Support

If you run into any issues:
- Check the troubleshooting section above
- Review the clean_project/README.md for detailed instructions
- Submit an issue on GitHub

---

**Built with ā¤ļø for the MCP community**

*This server demonstrates how to create beginner-friendly MCP servers that seamlessly integrate with Claude Desktop for powerful AI-human collaboration.*