MCP server for Frappe CRM - interact with your CRM through AI assistants
Project description
Frappe CRM MCP Server
Connect your AI tools to Frappe CRM using the Model Context Protocol.
Once connected, your AI assistants can interact with your CRM data:
- "Show me all open deals"
- "Create a lead for John at Acme Corp"
- "What's happening with the Tesla deal?"
- "Add a note to the Stripe deal about our call today"
Prerequisites
- A Frappe CRM instance (cloud or self-hosted)
- API credentials (see Generate API Keys)
- Python 3.11+ and uv (for local installation)
Installation
Claude Code
claude mcp add frappe-crm \
-e FRAPPE_URL=https://your-site.frappe.cloud \
-e FRAPPE_API_KEY=your_api_key \
-e FRAPPE_API_SECRET=your_api_secret \
-- uvx frappe-crm-mcp
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"frappe-crm": {
"command": "uvx",
"args": ["frappe-crm-mcp"],
"env": {
"FRAPPE_URL": "https://your-site.frappe.cloud",
"FRAPPE_API_KEY": "your_api_key",
"FRAPPE_API_SECRET": "your_api_secret"
}
}
}
}
Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"frappe-crm": {
"command": "uvx",
"args": ["frappe-crm-mcp"],
"env": {
"FRAPPE_URL": "https://your-site.frappe.cloud",
"FRAPPE_API_KEY": "your_api_key",
"FRAPPE_API_SECRET": "your_api_secret"
}
}
}
}
Windsurf
Add to your Windsurf MCP config:
{
"mcpServers": {
"frappe-crm": {
"command": "uvx",
"args": ["frappe-crm-mcp"],
"env": {
"FRAPPE_URL": "https://your-site.frappe.cloud",
"FRAPPE_API_KEY": "your_api_key",
"FRAPPE_API_SECRET": "your_api_secret"
}
}
}
}
Generate API Keys
- Log into your Frappe CRM instance
- Go to User → your user → API Access
- Click Generate Keys
- Copy the API Key and API Secret (secret is only shown once)
Available Tools
| Tool | Description |
|---|---|
deals_list |
List deals with optional filters |
deals_get |
Get a single deal by ID |
deals_create |
Create a new deal |
deals_update |
Update deal fields |
leads_list |
List leads with optional filters |
leads_get |
Get a single lead by ID |
leads_update |
Update lead fields |
leads_convert |
Convert a lead to a deal |
contacts_search |
Search contacts by name or email |
contacts_get |
Get a single contact by ID |
contacts_create |
Create a new contact |
contacts_update |
Update contact fields |
contacts_get_deals |
Get deals linked to a contact |
organizations_list |
List organizations |
organizations_get |
Get a single organization by ID |
organizations_create |
Create a new organization |
organizations_update |
Update organization fields |
notes_list |
List notes on a deal or lead |
notes_add |
Add a note to a deal or lead |
tasks_list |
List tasks with optional filters |
tasks_get |
Get a single task by ID |
tasks_add |
Create a new task |
tasks_update |
Update task fields |
activities_get |
Get activity timeline for a deal or lead |
Development
git clone https://github.com/joehaddad2000/frappe-crm-mcp.git
cd frappe-crm-mcp
uv sync
# Run with environment variables
FRAPPE_URL=... FRAPPE_API_KEY=... FRAPPE_API_SECRET=... uv run frappe-crm-mcp
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file frappe_crm_mcp-0.0.2.tar.gz.
File metadata
- Download URL: frappe_crm_mcp-0.0.2.tar.gz
- Upload date:
- Size: 87.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dabf8302adb89cd15ed0c3616693a4661fab4c1a2383563aaf8eb71e8d57cd83
|
|
| MD5 |
fdbdd49b96dffe027320b95542457648
|
|
| BLAKE2b-256 |
00deb2888338a19bda22531d1bd6d6ed6f335c0c96a9aeead537cab1dc35249c
|
File details
Details for the file frappe_crm_mcp-0.0.2-py3-none-any.whl.
File metadata
- Download URL: frappe_crm_mcp-0.0.2-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9de789333627ee951e3eabc718fd9ad7ac86a44caf1c196ba10fecebf7d4cbb2
|
|
| MD5 |
8b67358bd10504dce73ababf8dd8c9cb
|
|
| BLAKE2b-256 |
a3d8d3331ba62aec26981164e95d8b6f9f116219abfd2acf37738fb2f014ee44
|