MCP Helpdesk Server
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., "@MCP Helpdesk Servershow me open tickets"
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.
MCP Helpdesk Server
A Model Context Protocol (MCP) server implementation for managing a Tier-1 helpdesk ticketing system using MySQL database.
Overview
This MCP server provides a simple yet powerful interface for managing helpdesk tickets through the Model Context Protocol. It allows AI assistants and other MCP clients to query open tickets and resolve them with resolution notes.
Features
š« View Open Tickets: Access all open helpdesk tickets through MCP resources
ā Resolve Tickets: Mark tickets as closed with resolution notes
š MCP Integration: Seamlessly integrates with any MCP-compatible client
šļø MySQL Backend: Robust database storage for ticket management
Prerequisites
Python 3.8 or higher
MySQL Server 5.7 or higher
pip (Python package manager)
Installation
Clone the repository
git clone https://github.com/AtharvaPatil31/MCP-Server-Local.git cd MCP-Server-LocalCreate a virtual environment (recommended)
python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activateInstall dependencies
pip install -r requirements.txtSet up MySQL database
Create a database named
helpdeskand aticketstable:CREATE DATABASE helpdesk; USE helpdesk; CREATE TABLE tickets ( id INT AUTO_INCREMENT PRIMARY KEY, issue TEXT NOT NULL, status ENUM('OPEN', 'CLOSED') DEFAULT 'OPEN', resolution TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); -- Sample data (optional) INSERT INTO tickets (issue, status) VALUES ('User cannot login to email account', 'OPEN'), ('Printer not responding on floor 3', 'OPEN'), ('Software installation request for Adobe Photoshop', 'OPEN');Configure database connection
Edit
helpdesk_server.pyand update the database credentials:def get_connection(): return mysql.connector.connect( host="localhost", user="your_mysql_username", password="your_mysql_password", database="helpdesk" )
Usage
Running the Server
Start the MCP server:
python helpdesk_server.pyThe server will run in STDIO transport mode, making it compatible with MCP clients.
Testing MySQL Connection
Before running the main server, you can test your MySQL connection:
python test_mysql.pyAvailable MCP Resources
Get Open Tickets
Resource URI:
helpdesk://tickets/openDescription: Retrieves all tickets with 'OPEN' status
Returns: Formatted list of open tickets with IDs and issue descriptions
Available MCP Tools
resolve_ticket
Description: Resolves an open ticket by marking it as closed
Parameters:
ticket_id(int): The ID of the ticket to resolveresolution_notes(str): Notes describing how the ticket was resolved
Returns: Success message or error if ticket not found/already closed
Integration with MCP Clients
Claude Desktop Configuration
To use this server with Claude Desktop, add the following to your claude_desktop_config.json:
{
"mcpServers": {
"helpdesk": {
"command": "python",
"args": ["c:\\path\\to\\helpdesk_server.py"],
"env": {}
}
}
}Generic MCP Client
Any MCP-compatible client can connect to this server using STDIO transport:
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
server_params = StdioServerParameters(
command="python",
args=["helpdesk_server.py"]
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
# Initialize and use the session
await session.initialize()
# Your code hereProject Structure
MCP_Helpdesk/
āāā helpdesk_server.py # Main MCP server implementation
āāā test_mysql.py # MySQL connection test script
āāā requirements.txt # Python dependencies
āāā README.md # This file
āāā venv/ # Virtual environment (not committed)Dependencies
mysql-connector-python: MySQL database connectormcp: Model Context Protocol server framework
See requirements.txt for specific versions.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/AmazingFeature)Commit your changes (
git commit -m 'Add some AmazingFeature')Push to the branch (
git push origin feature/AmazingFeature)Open a Pull Request
License
This project is open source and available under the MIT License.
Author
Atharva Patil
GitHub: @AtharvaPatil31
Acknowledgments
Built with Model Context Protocol (MCP)
Uses FastMCP for simplified server implementation
This server cannot be deployed
Maintenance
Related MCP Connectors
Read tickets, contacts, companies, agents and groups; create, update and reply to tickets.
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
Persistent AI memory with semantic search, conflict detection, and ticketing.
- NewDeskOAuthai.newdesk
Help desk: read the queue, answer and solve tickets, look up customers, refund in Stripe.
1