Customer Support MCP Server
Provides tools for managing customer support tickets in a SQLite database, including creating, retrieving, searching, and updating tickets.
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., "@Customer Support MCP Server Create a new support ticket for Alice about email not syncing"
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.
๐ซ Customer Support MCP Server
๐ค AI-Powered Customer Support MCP Server
Connect Cursor AI to a real SQLite database through Model Context Protocol (MCP).
Related MCP server: @lubo3395/mcp-sqlite-server
๐ Project Overview
The Customer Support MCP Server is a Python-based MCP server that allows an AI application such as Cursor to interact with a real SQLite database.
Instead of allowing the AI to directly execute SQL queries, the server exposes safe and well-defined business tools for customer support operations.
๐ฏ Main Goal
Demonstrate how an AI application can use MCP (Model Context Protocol) to:
๐ซ Create customer support tickets
๐ Retrieve existing tickets
๐ Search tickets
โ๏ธ Update ticket information
๐พ Store ticket data in SQLite
๐ค Allow Cursor AI to perform operations using natural language
๐๏ธ Architecture
๐ค USER
โ
โ Natural Language
โผ
โโโโโโโโโโโโโโโโโ
โ Cursor โ
โ AI Agent โ
โโโโโโโโโฌโโโโโโโโ
โ
โ MCP
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Customer Support MCP โ
โ Server โ
โโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ซ create_ticket โ
โ ๐ get_ticket โ
โ ๐ search_tickets โ
โ โ๏ธ update_ticket โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
โ SQL
โผ
โโโโโโโโโโโโโโโโโโโ
โ SQLite โ
โ support.db โ
โโโโโโโโโโโโโโโโโโโ
===================
๐ Features
Feature Description
๐ซ Create Ticket Create a new customer support ticket
๐ Get Ticket Retrieve a ticket using its ID
๐ Search Tickets Search using keyword, email, status, or priority
โ๏ธ Update Ticket Update status, priority, or description
๐พ SQLite Persistent local database
๐ค Cursor AI client for interacting with MCP
๐งช MCP Inspector Test and debug MCP tools
โก uv Fast Python package/environment management
=======================
๐งฐ Technology Stack
Technology Purpose
๐ Python 3.12 Application development
๐ MCP AI โ Tool communication
๐๏ธ SQLite Database
๐ค Cursor AI/MCP client
โก uv Python environment & dependency management
๐งช MCP Inspector MCP server testing
=====================
๐ Project Structure
customer_support_mcp/
โ
โโโ ๐ .cursor/
โ โโโ ๐ mcp.json
โ
โโโ ๐ data/
โ โโโ ๐๏ธ support.db
โ
โโโ ๐ .venv/
โ
โโโ ๐ database.py
โโโ ๐ server.py
โโโ ๐ pyproject.toml
โโโ ๐ uv.lock
โโโ ๐ README.md
โโโ ๐ .gitignore
==================
๐๏ธ Database Schema
The SQLite database contains a tickets table.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ tickets โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ id INTEGER PRIMARY KEY โ
โ customer_name TEXT โ
โ customer_email TEXT โ
โ subject TEXT โ
โ description TEXT โ
โ status TEXT โ
โ priority TEXT โ
โ created_at TIMESTAMP โ
โ updated_at TIMESTAMP โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
============
๐งช Test Using MCP Inspector
The MCP Inspector allows you to test the tools before connecting Cursor.
Run:
uv run mcp dev server.py
Open the Inspector URL displayed in the terminal.
You should see:
Customer Support MCP Server
Tools
โ create_ticket
โ get_ticket
โ search_tickets
โ update_ticket
=======================
๐งโ๐ป Connect MCP Server to Cursor
Create:
.cursor/mcp.json
=======================
๐ Restart Cursor
After saving .cursor/mcp.json:
Cursor
โ
Restart Cursor
โ
Open customer_support_mcp
โ
Settings
โ
Tools & MCP
-------------
You should see:
๐ข customer-support
Tools:
โ create_ticket
โ get_ticket
โ search_tickets
โ update_ticket
===============
๐ค Using Cursor AI
Once the MCP server is connected, you can use natural language.
๐ซ Create Ticket
Ask Cursor:
Create a ticket for John Smith.
Email:
john@example.com
Issue:
Customer cannot login.
Priority:
high
Cursor can call:
create_ticket()
๐ Retrieve Ticket
Ask:
Show me ticket number 1.
Cursor can call:
get_ticket(ticket_id=1)
๐ Search Tickets
Ask:
Find all open urgent tickets.
Cursor can call:
search_tickets(
status="open",
priority="urgent"
)
โ๏ธ Update Ticket
Ask:
Change ticket 1 to resolved.
Cursor can call:
update_ticket(
ticket_id=1,
status="resolved"
)
===================
๐ฅ Example Workflow
๐ค User
โ
โ "Create a ticket for John"
โผ
๐ค Cursor AI
โ
โ MCP Tool Call
โผ
๐ create_ticket()
โ
โ SQL INSERT
โผ
๐๏ธ SQLite
โ
โ Ticket #1
โผ
๐ MCP Server
โ
โผ
๐ค Cursor
โ
โผ
๐ค User
==================
๐ Example or Sample database of Tickets Output
After creating tickets, the database might contain:
โโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโ
โ ID โ Customer โ Subject โ Status โ Priority โ
โโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโค
โ 1 โ John Smith โ Unable to login โ open โ high โ
โ 2 โ Sarah Jones โ Payment failed โ open โ urgent โ
โ 3 โ Mike Brown โ Password reset โ resolved โ medium โ
โโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโ
=================
๐ง MCP Concept
The most important concept in this project is:
AI APPLICATION
โ
โผ
โโโโโโโโโโโโโ
โ MCP โ
โโโโโโโฌโโโโโโ
โ
โผ
BUSINESS TOOLS
โ
โโโโโโโโโโผโโโโโโโโโ
โผ โผ โผ
CREATE SEARCH UPDATE
โ โ โ
โโโโโโโโโโผโโโโโโโโโ
โผ
DATABASE
The AI does not directly manipulate the SQLite database.
---------
Instead:
AI
โ
MCP Tool
โ
Python Function
โ
SQLite
โ
Result
โ
AI
===============
โ
MCP Business Tools
AI
โ
MCP Tool
โ
Validated Python Function
โ
SQLite
===============
๐ Verify SQLite Database
The database will be created here:
data/support.db
You can verify the database using Python:
sqlite3 "C:\Users\your name\path\folder name\data\support.db"
============
๐ Learning Outcomes
After completing this project, you will understand:
๐ MCP
Model Context Protocol
โ
MCP Server
โ
MCP Tools
โ
MCP Client
---
๐๏ธ Database Integration
Python
โ
sqlite3
โ
SQLite
---
๐ค AI Integration
Cursor AI
โ
MCP
โ
Python Tools
โ
SQLite
---
๐ผ Business Operations
CREATE
โ
READ
โ
SEARCH
โ
UPDATE
============
๐ Project Summary
Component Technology
๐ค AI Client Cursor
๐ Protocol MCP
๐ Backend Python
๐๏ธ Database SQLite
โก Environment uv
๐งช Testing MCP Inspector
๐ซ Business Domain Customer Support
=============
๐ Final Architecture
โโโโโโโโโโโโโโโโโโโโโโ
โ CURSOR โ
โ ๐ค AI AGENT โ
โโโโโโโโโโโคโโโโโโโโโโโ
โ
โ MCP
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ CUSTOMER SUPPORT MCP โ
โ SERVER โ
โ โโโโโโโโโโโโโโโโโโโโโโโฃ
โ ๐ซ create_ticket โ
โ ๐ get_ticket โ
โ ๐ search_tickets โ
โ โ๏ธ update_ticket โ
โโโโโโโโโโโโคโโโโโโโโโโโโ
โ
โ SQL
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ SQLite โ
โ support.db โ
โโโโโโโโโโโโโโโโโโโโโโโโ
==============
๐ Complete Command Flow
# 1. Go to project
cd C:\Users\path
# 2. Create environment
uv venv --python 3.12
# 3. Activate environment
.venv\Scripts\Activate.ps1
# 4. Install MCP
uv add "mcp[cli]"
# 5. Verify SQLite
uv run python -c "import sqlite3; print('SQLite OK')"
# 6. Verify MCP
uv run python -c "from mcp.server.fastmcp import FastMCP; print('MCP OK')"
# 7. Run MCP Inspector
uv run mcp dev server.py
# 8. Run MCP server directly
uv run python server.py
==============
โค๏ธ Final Message
<div align="center">
๐ซ Customer Support MCP Server
Python ๐ + MCP ๐ + SQLite ๐๏ธ + Cursor ๐ค
AI + MCP + Database = Intelligent Business OperationsAvailable Tools
4 toolscreate_ticketA
Create a new customer support ticket.
Args:
customer_name: Customer's full name.
customer_email: Customer's email address.
subject: Short description of the issue.
description: Detailed description of the problem.
priority: Ticket priority: low, medium, high, or urgent.
Inputs: subject (required), description (required), customer_name (required), customer_email (required), +1 more.
get_ticketA
Retrieve a customer support ticket by ticket ID.
Args:
ticket_id: Numeric ID of the support ticket.
Inputs: ticket_id (required).
search_ticketsA
Search customer support tickets.
You can search using a keyword, customer email,
ticket status, or ticket priority.
Args:
keyword: Search subject, description, or customer name.
customer_email: Filter by exact customer email.
status: Filter by status: open, in_progress, resolved, closed.
priority: Filter by priority: low, medium, high, urgent.
Inputs: status, keyword, priority, customer_email.
update_ticketA
Update an existing customer support ticket.
Args:
ticket_id: ID of the ticket to update.
status: New status: open, in_progress, resolved, or closed.
priority: New priority: low, medium, high, or urgent.
description: New ticket description.
Inputs: ticket_id (required), status, priority, description.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 4 tools
Each tool has a distinct purpose: create, retrieve by ID, search with filters, and update. No overlapping functionality, making it easy for an agent to select the correct tool.
All tool names follow a consistent verb_noun pattern: create_ticket, get_ticket, search_tickets, update_ticket. Minor pluralization in search_tickets is acceptable and consistent with typical search APIs.
Four tools cover the essential ticket operations without bloat. The count is well-scoped for a customer support server, fitting the ideal range of 3-15 tools.
The server provides full CRUD-like coverage (create, read, search, update) for tickets. Closing a ticket is achievable via update_ticket's status parameter, so no critical lifecycle gaps exist.
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Build and manage AI-native customer support agents from Claude or any MCP client.
Remote data science agents for Snowflake, Databricks & BigQuery in Claude/Cursor via MCP
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage and query SQLite databases through MCP tools, supporting CRUD operations, schema management, and saved views.4 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides a set of MCP tools to let AI assistants like Claude, Cursor, and VS Code Copilot interact with SQLite databases, supporting querying, schema management, and data import/export.11 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP tool server providing SQLite database access for AI agents.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to manage CRM data including companies, contacts, prospects, pipelines, forecasts, and tasks via typed MCP tools, with local SQLite storage and a JSON CLI.MIT