AI IT Helpdesk
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AI IT HelpdeskMy laptop is not connecting to the company network."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ค AI IT Helpdesk Agent + MCP
A simple junior-level Agentic AI + MCP project that demonstrates how an LLM can understand an IT support request, decide which tool to use, communicate with an MCP server, retrieve or modify data, and generate a final response.
๐ Project Overview
The AI IT Helpdesk Agent acts as a virtual IT support assistant.
A user can ask questions such as:
My laptop is not connecting to the company network.The AI Agent understands the request and decides which MCP tool should be used.
For example:
User
โ
AI Agent
โ
LLM
โ
Tool Decision
โ
MCP Client
โ
MCP Server
โ
MCP Tool
โ
JSON Data
โ
MCP Result
โ
LLM
โ
Final ResponseThe project intentionally uses simple Python functions and JSON files so that beginners can understand the complete flow.
๐ฏ Project Objectives
This project demonstrates:
LLM integration
Agentic AI basics
Tool selection
MCP server
MCP client
MCP tools
User data management
Device information
Device status checking
Support ticket creation
Support ticket retrieval
Support ticket updates
Streamlit frontend
End-to-end Agent + MCP communication
๐ง Technologies Used
Technology | Purpose |
Python | Main programming language |
Groq | LLM API |
OpenAI GPT-OSS 20B | LLM model |
MCP | Tool communication |
FastMCP | MCP server |
Streamlit | Web interface |
JSON | Simple data storage |
python-dotenv | Environment variable management |
๐ซ Technologies Not Used
This project intentionally does not use:
RAG
Embeddings
Vector databases
LangChain
LangGraph
Complex databases
Complex agent frameworks
Machine learning models
Deep learning models
The goal is to understand the basic LLM + Agent + MCP architecture first.
๐๏ธ Project Architecture
USER
โ
STREAMLIT UI
โ
AI AGENT
โ
Understand Request
โ
Decide Which Tool
โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโ
โ โ โ
USER TOOL DEVICE TOOL TICKET TOOL
โ โ โ
User Data Device Data Ticket Data
โโโโโโโโโโโโโโผโโโโโโโโโโโโโ
โ
LLM
โ
Final Response
โ
STREAMLIT๐ Complete Agent Flow
The complete application follows this process:
User
โ
Streamlit
โ
run_agent()
โ
decide_tool()
โ
LLM
โ
Tool Decision
โ
execute_tool_decision()
โ
MCP Client
โ
MCP Server
โ
MCP Tool
โ
JSON Data
โ
Tool Result
โ
generate_final_response()
โ
LLM
โ
Final Answer
โ
Streamlit๐ Project Structure
ai_it_helpdesk_agent_mcp/
โ
โโโ flow.bat
โโโ README.md
โโโ requirements.txt
โโโ .env
โโโ .gitignore
โ
โโโ data/
โ โโโ users.json
โ โโโ devices.json
โ โโโ tickets.json
โ
โโโ src/
โ โ
โ โโโ config/
โ โ โโโ settings.py
โ โ
โ โโโ data/
โ โ โโโ user_data.py
โ โ โโโ device_data.py
โ โ โโโ ticket_data.py
โ โ
โ โโโ llm/
โ โ โโโ llm.py
โ โ
โ โโโ mcp/
โ โ โโโ server.py
โ โ โโโ user_tools.py
โ โ โโโ device_tools.py
โ โ โโโ ticket_tools.py
โ โ
โ โโโ agent/
โ โโโ prompts.py
โ โโโ agent.py
โ
โโโ app/
โโโ streamlit_app.py๐ Folder Explanation
Related MCP server: Morrow Desk MCP Server
data/
Contains simple JSON files used as the project's data storage.
users.json
Stores employee information.
Example:
{
"user_id": "U001",
"name": "Ravi",
"department": "IT",
"email": "ravi@company.com"
}devices.json
Stores employee device information.
Example:
{
"device_id": "D001",
"user_id": "U001",
"device_name": "Ravi-Laptop",
"device_type": "Laptop",
"operating_system": "Windows 11",
"status": "Online",
"network": "Disconnected"
}tickets.json
Stores support tickets.
Example:
{
"ticket_id": "T001",
"user_id": "U001",
"issue": "Laptop is not connecting to company network.",
"status": "Open"
}๐ src/config/
Contains project configuration.
settings.py
Loads the Groq API key from the .env file.
๐ src/data/
Contains functions that work directly with JSON data.
user_data.py
Provides:
get_users()
get_user()device_data.py
Provides:
get_devices()
get_device()
check_device_status()ticket_data.py
Provides:
get_tickets()
create_ticket()
get_ticket()
update_ticket()๐ src/llm/
Contains the LLM integration.
llm.py
Responsible for:
Python
โ
Groq API
โ
GPT-OSS 20B
โ
Response๐ src/mcp/
Contains the MCP implementation.
server.py
Creates the MCP server and exposes the tools.
Available tools:
get_user
get_device
check_device_status
create_ticket
get_ticket
update_ticketuser_tools.py
Contains the MCP user tool wrapper.
device_tools.py
Contains the MCP device tools.
ticket_tools.py
Contains the MCP ticket tools.
๐ src/agent/
Contains the AI Agent.
prompts.py
Contains the instructions given to the LLM for selecting the appropriate tool.
agent.py
Contains the main agent workflow.
Important functions:
get_mcp_server_parameters()
call_mcp_tool_async()
call_mcp_tool()
decide_tool()
execute_tool_decision()
generate_final_response()
run_agent()The most important function is:
run_agent(question)It runs the complete agent workflow.
๐ app/
Contains the Streamlit frontend.
streamlit_app.py
Provides:
AI Helpdesk Agent
User Information
Device Information
Device Status
Create Ticket
Get Ticket
Update Ticket
๐ ๏ธ MCP Tools
The project contains six MCP tools.
1. get_user
Returns information about an employee.
Example:
get_user("U001")Returns:
Ravi
IT
ravi@company.com2. get_device
Returns device information.
Example:
get_device("U001")Returns:
Ravi-Laptop
Windows 11
Online
Disconnected3. check_device_status
Checks the device and network status.
Example:
check_device_status("U001")Returns:
Device: Ravi-Laptop
Status: Online
Network: Disconnected4. create_ticket
Creates a new IT support ticket.
Example:
create_ticket(
"U001",
"Laptop is not connecting to company network."
)Returns:
Ticket ID: T001
Status: Open5. get_ticket
Retrieves an existing ticket.
Example:
get_ticket("T001")6. update_ticket
Updates a ticket status.
Example:
update_ticket(
"T001",
"In Progress"
)๐ค Agent Decision Examples
Example 1 โ Device Problem
User:
Show me my laptop information.Agent:
TOOL: get_device
USER_ID: U001Example 2 โ Network Problem
User:
My laptop is not connecting to the company network.Agent:
TOOL: check_device_status
USER_ID: U001Example 3 โ Create Ticket
User:
My laptop is not connecting to the company network.
Please create a support ticket.Agent:
TOOL: create_ticket
USER_ID: U001
ISSUE: laptop is not connecting to company networkMCP creates:
T006
Status: OpenThe LLM then generates the final response.
๐ฅ๏ธ Streamlit Application
Start the application using:
streamlit run app\streamlit_app.pyThe application provides the following menu:
AI Helpdesk Agent
User Information
Device Information
Device Status
Create Ticket
Get Ticket
Update Ticketโ๏ธ Installation
Step 1 โ Clone or create the project
Open CMD inside the project directory.
Step 2 โ Create virtual environment
python -m venv venvStep 3 โ Activate virtual environment
Windows:
venv\Scripts\activateStep 4 โ Install dependencies
pip install -r requirements.txt๐ Environment Variables
Create a .env file:
GROQ_API_KEY=your_groq_api_key_hereDo not commit the .env file to GitHub.
The .gitignore file already contains:
.env
venv/
__pycache__/โถ๏ธ Running the Application
From the project root:
streamlit run app\streamlit_app.pyThe application will open in Streamlit.
๐งช Testing
Testing was performed module by module.
Test MCP Server
python -m src.mcp.test_serverExpected:
MCP server loaded successfully.
Server name: AI IT HelpdeskTest User Tool
python -c "from src.mcp.user_tools import get_user_tool; print(get_user_tool('U001'))"Test Device Tool
python -c "from src.mcp.device_tools import get_device_tool; print(get_device_tool('U001'))"Test Device Status
python -c "from src.mcp.device_tools import check_device_status_tool; print(check_device_status_tool('U001'))"Test Ticket Creation
python -c "from src.agent.agent import call_mcp_tool; print(call_mcp_tool('create_ticket', {'user_id': 'U001', 'issue': 'Laptop is not connecting to company network.'}))"Test Ticket Retrieval
python -c "from src.agent.agent import call_mcp_tool; print(call_mcp_tool('get_ticket', {'ticket_id': 'T001'}))"Test Ticket Update
python -c "from src.agent.agent import call_mcp_tool; print(call_mcp_tool('update_ticket', {'ticket_id': 'T001', 'status': 'In Progress'}))"Test Complete Agent
python -c "from src.agent.agent import run_agent; print(run_agent('My laptop is not connecting to the company network. Please create a support ticket.'))"Expected result:
Your support ticket has been created successfully.
Ticket ID: T00X
Issue: Laptop is not connecting to the company network
Status: Open๐ Project Development Progress
Module 1 โ Project Setup + Streamlit โ
10%
Module 2 โ User / Device / Ticket Data โ
25%
Module 3 โ LLM Integration โ
40%
Module 4 โ MCP Server Basics โ
55%
Module 5 โ User & Device MCP Tools โ
70%
Module 6 โ Ticket MCP Tools โ
80%
Module 7 โ AI Agent + MCP Integration โ
90%
Module 8 โ Final Streamlit Application โ
97%
Module 9 โ End-to-End Testing ๐๐ Learning Outcomes
After completing this project, a junior developer should understand:
LLM
How to connect Python with an LLM API.
Agent
How an LLM can decide what action should be performed.
Tools
How Python functions can perform real actions.
MCP
How tools can be exposed through an MCP server.
MCP Client
How an application communicates with the MCP server.
Agent + MCP
How an AI Agent can decide which MCP tool to call.
Streamlit
How to build a simple frontend for an AI application.
๐ผ Interview Explanation
If asked:
"Explain your project."
You can explain it like this:
I developed a simple AI IT Helpdesk Agent using Python, Groq LLM, MCP, and Streamlit. The user enters an IT problem through the Streamlit interface. The LLM understands the request and decides which tool is required. The Python agent communicates with an MCP server, which exposes tools for retrieving user information, checking device status, and managing support tickets. The selected MCP tool accesses JSON-based data and returns the result to the agent. Finally, the LLM uses the tool result to generate a clear response for the user.
๐ Key Concepts
LLM
โ
Reasoning / Decision
โ
Tool
โ
MCP Client
โ
MCP Server
โ
Real Data / Action
โ
Result
โ
LLM
โ
ResponseThe main idea is:
The LLM decides what needs to be done, while tools perform the actual work.
MCP provides a standardized way for the AI application to communicate with those tools.
๐ Future Improvements
This version intentionally stays simple.
Future versions could add:
Real database
User authentication
Multiple employees
Dynamic logged-in users
More IT diagnostic tools
Email notifications
Knowledge-base integration
RAG
LangGraph
Agent memory
Multiple agents
MCP remote server
Cloud deployment
Monitoring and evaluation
These features are intentionally kept outside the current beginner version.
๐จโ๐ป Project Level
Level: Junior / Beginner Agentic AI Developer
Main Focus:
Python
+
LLM
+
Agent
+
Tools
+
MCP
+
Streamlitโ Final Project Status
The core AI IT Helpdesk Agent + MCP application is complete.
The project successfully demonstrates:
User
โ
Streamlit
โ
AI Agent
โ
LLM
โ
Tool Decision
โ
MCP Client
โ
MCP Server
โ
MCP Tool
โ
JSON Data
โ
LLM
โ
Final Response
โ
UserProject Status: 100% after final end-to-end testing.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Support & Service Management
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
Let AI agents query data and act across all your business apps via MCP.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to analyze IT support tickets, categorize urgency, suggest responses, and retrieve statistics via MCP tools.-
- AlicenseNot gradedqualityAmaintenanceEnables operators to manage support desk operations, including case queues, customer relationships, and communications, through an agent-first MCP interface with exact lifecycle and authorization controls.1411Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables IT helpdesk automation by classifying support tickets, estimating priority, generating troubleshooting steps, and predicting resolution times through MCP tools.1-
- FlicenseNot gradedqualityBmaintenanceMCP server that provides IT support tools to search known incidents, check ticket status, and create ticket drafts, enabling an AI assistant to help users with IT support queries.-