AI-Assisted CRM MCP 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., "@AI-Assisted CRM MCP ServerCreate a new contact named John Doe with phone number 9876543210"
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-Assisted CRM Using MCP Server
A full-stack CRM application integrated with an MCP (Model Context Protocol) server, built for learning how real-world AI agents communicate with backend services. The project includes a built-in chatbot that lets you perform CRM operations — creating contacts, managing deals, updating leads — using natural language prompts.
I built this using FastAPI, which made it straightforward to expose every endpoint as both a REST API and an MCP tool simultaneously. The goal was to demonstrate how modern applications can be designed to serve both human users and AI agents from a single codebase.
This project is purely for educational purposes — to understand how to build your own MCP server, how to structure tools that AI agents can understand, and how AI agents communicate with MCP servers in a real-world context.
Why I Built This
AI agents are everywhere now. Most developers know how to build APIs for users, but building APIs that AI agents can reliably understand and use is a different skill. This project is my attempt to bridge that gap with a real, working example.
What I handled in this project:
Designed the system architecture and layered structure
Built the MCP server on top of FastAPI endpoints
Created the LLM client and AI agent
Implemented Redis-based cache memory for faster agent-to-MCP communication and to avoid redundant API calls
Secured all MCP access with JWT authentication via request headers
Enforced role-based access control for both the REST API and MCP tools
Related MCP server: Salesforce MCP
Architecture Overview
CRM + MCP System Architecture
Layered Architecture
The LLM agent reads the user prompt, decides which MCP tool to call, executes the corresponding CRM API, and returns the result — all automatically.
Project Structure
AI-Assisted-CRM-Using-MCP-Server
├─ app
│ ├─ chatbot
│ │ ├─ cache_service.py
│ │ ├─ handle_error.py
│ │ ├─ llm_client.py
│ │ └─ redis_client.py
│ │
│ ├─ core
│ │ ├─ cache_invalidator.py
│ │ ├─ config.py
│ │ └─ security.py
│ │
│ ├─ dependencies
│ │ ├─ auth.py
│ │ └─ permission.py
│ │
│ ├─ models
│ │ ├─ contacts.py
│ │ ├─ deals.py
│ │ ├─ leads.py
│ │ ├─ tasks.py
│ │ └─ users.py
│ │
│ ├─ routes
│ │ ├─ routers
│ │ │ ├─ auth.py
│ │ │ ├─ chat.py
│ │ │ ├─ contacts.py
│ │ │ ├─ dashboard.py
│ │ │ ├─ deals.py
│ │ │ ├─ leads.py
│ │ │ └─ tasks.py
│ │ └─ routes.py
│ │
│ ├─ schemas
│ │ ├─ chat.py
│ │ ├─ contacts.py
│ │ ├─ deals.py
│ │ ├─ leads.py
│ │ ├─ tasks.py
│ │ └─ users.py
│ │
│ ├─ static
│ │ ├─ css
│ │ └─ js
│ │
│ ├─ templates
│ │ ├─ dashboard.html
│ │ ├─ contacts.html
│ │ ├─ deals.html
│ │ ├─ leads.html
│ │ ├─ tasks.html
│ │ ├─ login.html
│ │ └─ register.html
│ │
│ ├─ main.py
│ └─ db.py
│
├─ client.py
├─ run.py
├─ requirements.txt
└─ README.mdInstallation
1. Clone the Repository
git clone https://github.com/yourusername/AI-Assisted-CRM-Using-MCP-Server.git
cd AI-Assisted-CRM-Using-MCP-Server2. Install uv
I use uv for package management — it's significantly faster than pip.
pip install uv3. Create a Virtual Environment
uv init
uv venvActivate it:
Windows
.venv\Scripts\activateLinux / macOS
source .venv/bin/activate4. Install Dependencies
uv pip install -r requirements.txt5. Configure Environment Variables
Create a .env file in the project root:
GROQ_API_KEY=your_groq_api_key
JWT_SECRET_KEY=your_secret_keyRunning the Application
python run.pyThe server will start at:
http://127.0.0.1:8000API Documentation
FastAPI's interactive Swagger UI is available at:
http://127.0.0.1:8000/docsMCP Endpoint
The MCP server is exposed at:
/llm/mcpThis is the endpoint that AI agents use to interact with the CRM backend as a set of callable MCP tools.
Example Chat Interaction
The chatbot supports natural language commands for creating, updating, and retrieving records. Delete operations and queries using raw IDs are intentionally not supported through the chat interface.
User prompt:
Create a new contact named John Doe with phone number 9876543210What happens internally:
The AI agent interprets the intent from the prompt
It selects and calls the appropriate MCP tool
The tool executes the corresponding CRM API
The result is returned to the user in natural language
License
This project is open-source and available under the MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
- PlixanaOAuthcom.plixana
Operate the Plixana CRM from any AI: contacts, deals, quotes, WhatsApp and metrics.
CRM, relationship intelligence, and multi-agent orchestration for AI agents.
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Open-source CRM your AI agents can write to: companies, people, deals, tasks, notes, pipeline.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI agents to manage Kommo CRM (formerly AmoCRM) entities including leads, contacts, companies, tasks, notes, pipelines, and products through natural language commands via the Model Context Protocol.3912 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query, mutate, and analyze Salesforce CRM data natively through the Model Context Protocol, without requiring API glue code.7 npm3-
- AlicenseNot gradedqualityBmaintenanceEnables LLM agents to interact with Twenty CRM data through natural language, providing tools for managing contacts, companies, opportunities, tasks, and more via the Model Context Protocol.126 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage CRM prospects, activities, reminders, and mailbox via natural language commands through the Model Context Protocol.3MIT