Skip to main content
Glama
shreeshail07

IT-HelpDesk-MCP

by shreeshail07
README.md
# šŸš€ IT HelpDesk MCP Server

A production-ready **Model Context Protocol (MCP)** server built using **FastMCP** that enables Claude Desktop to intelligently classify IT support tickets, estimate ticket priority, generate troubleshooting steps, and predict expected resolution times.


![Python](https://img.shields.io/badge/Python-3.12-blue)
![FastMCP](https://img.shields.io/badge/FastMCP-3.4.4-green)
![MCP](https://img.shields.io/badge/Model%20Context%20Protocol-MCP-purple)
![License](https://img.shields.io/badge/License-MIT-yellow)

---

## šŸ“Œ Overview

This project demonstrates how to build and integrate a custom MCP server with **Claude Desktop** using **FastMCP**.

Instead of hardcoding business logic inside an AI assistant, this MCP server exposes reusable tools that Claude can invoke whenever users ask IT support-related questions.

This project serves as a beginner-friendly introduction to the **Model Context Protocol (MCP)** ecosystem.

---

## ✨ Features

āœ… Ticket Classification

- Network Issues
- Hardware Issues
- Email Issues
- Access Management
- General Support

---

āœ… Priority Estimation

Automatically estimates ticket priority based on business rules.

| Priority | SLA |
|----------|------|
| Critical | 1 Hour |
| High | 4 Hours |
| Medium | 8 Hours |
| Low | 2 Business Days |

---

āœ… Troubleshooting Generator

Provides standard troubleshooting steps for:

- VPN
- Password Issues
- Email Problems
- General Issues

---

āœ… Resolution Time Estimation

Predicts expected resolution time based on ticket priority.

---

## šŸ›  Tech Stack

- Python 3.12+
- FastMCP
- Claude Desktop
- Model Context Protocol (MCP)
- uv Package Manager

---

# šŸ“‚ Project Structure

```
IT-HelpDesk-MCP/
│
ā”œā”€ā”€ main.py
ā”œā”€ā”€ pyproject.toml
ā”œā”€ā”€ uv.lock
ā”œā”€ā”€ README.md
ā”œā”€ā”€ .gitignore
│
ā”œā”€ā”€ screenshots/
│   ā”œā”€ā”€ claude-desktop.png
│   ā”œā”€ā”€ terminal.png
│   └── tool-call.png
│
└── examples/
    └── sample-prompts.md
```

---

# āš™ļø Installation

## Clone Repository

```bash
git clone https://github.com/shrishail07/IT-HelpDesk-MCP.git

cd IT-HelpDesk-MCP
```

---

## Install Dependencies

Using **uv**

```bash
uv sync
```

or

```bash
uv pip install -r requirements.txt
```

---

## Start MCP Server

```bash
uv run python main.py
```

Expected Output

```
Starting IT HelpDesk MCP Server...
Listening on http://0.0.0.0:8080
```

---

# šŸ”Œ Claude Desktop Integration

Install the MCP server into Claude Desktop.

```bash
uv run fastmcp install claude-desktop main.py
```

Restart Claude Desktop after installation.

---

# 🧰 Available MCP Tools

## 1ļøāƒ£ classify_ticket()

Classifies an IT support ticket.

Example

Input

```
My VPN is not connecting.
```

Output

```json
{
  "category": "Network",
  "assigned_team": "Infrastructure Team"
}
```

---

## 2ļøāƒ£ estimate_priority()

Example

Input

```
Production application is down.
```

Output

```json
{
  "priority": "Critical",
  "expected_sla": "1 Hour"
}
```

---

## 3ļøāƒ£ generate_troubleshooting_steps()

Example

Input

```
VPN
```

Output

```json
[
  "Check internet connectivity.",
  "Restart the VPN client.",
  "Verify your credentials.",
  "Reconnect to the VPN."
]
```

---

## 4ļøāƒ£ estimate_resolution_time()

Input

```
High
```

Output

```
Within 8 Hours
```

---

# šŸ’¬ Example Prompts

Inside Claude Desktop

```
Use the IT HelpDesk MCP Server to classify this ticket.

My VPN is not connecting.
```

---

```
Estimate priority for

Production application is down.
```

---

```
Generate troubleshooting steps for VPN.
```

---

```
Estimate resolution time for High priority.
```

---

# šŸ— Architecture

```
                     +----------------------+
                     |   Claude Desktop     |
                     +----------+-----------+
                                |
                     Model Context Protocol
                                |
                                ā–¼
                  +----------------------------+
                  |   IT HelpDesk MCP Server   |
                  |        (FastMCP)           |
                  +-------------+--------------+
                                |
        +-----------+-----------+-----------+-----------+
        |           |                       |           |
        ā–¼           ā–¼                       ā–¼           ā–¼
 classify_ticket() estimate_priority() troubleshooting() resolution()
```

---

# šŸ“· Demo

## Claude Desktop

> Add screenshot here

```
screenshots/claude-desktop.png
```

---

## MCP Server Running

> Add screenshot here

```
screenshots/terminal.png
```

---

## Tool Invocation

> Add screenshot here

```
screenshots/tool-call.png
```

---

# šŸš€ Future Improvements

- AI-based ticket summarization
- ServiceNow Integration
- Jira Integration
- Email Automation
- Database Logging
- Oracle Integration
- LangGraph Agent Support
- RAG-powered Knowledge Base
- Authentication
- Docker Deployment
- Kubernetes Deployment

---

# šŸŽÆ Learning Outcomes

This project demonstrates:

- Model Context Protocol (MCP)
- FastMCP Server Development
- Claude Desktop Integration
- Tool Calling
- Business Rule Automation
- Python Backend Development

---

# šŸ¤ Contributing

Contributions are welcome.

1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Open a Pull Request

---

# šŸ“„ License

This project is licensed under the MIT License.

---

# šŸ‘Øā€šŸ’» Author

**Shreeshail Mali**

Oracle PL/SQL Developer | Python Developer | AI Engineer

- GitHub: https://github.com/shreeshail07
- LinkedIn: https://linkedin.com/in/shreeshail-mali-sm007/

---

## ⭐ If you found this project useful, please consider giving it a Star.