by zaphod-black
Integrate with EspoCRM for full CRUD operations, advanced search, filtering, pagination, and health monitoring of your c
Provides complete CRUD operations for EspoCRM entities like contacts, accounts, opportunities, and meetings with advanced search and filtering. Includes an AI chatbot interface that embeds directly into EspoCRM.
EspoCRM is a community-built MCP server published by zaphod-black that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate with EspoCRM for full CRUD operations, advanced search, filtering, pagination, and health monitoring of your c It is categorized under productivity, developer tools.
You can install EspoCRM in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
EspoCRM is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
I recommend EspoCRM for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Strong directory entry: EspoCRM surfaces stars and publisher context so we could sanity-check maintenance before adopting.
We evaluated EspoCRM against two servers with overlapping tools; this profile had the clearer scope statement.
Useful MCP listing: EspoCRM is the kind of server we cite when onboarding engineers to host + tool permissions.
We evaluated EspoCRM against two servers with overlapping tools; this profile had the clearer scope statement.
EspoCRM reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
EspoCRM is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
EspoCRM is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
I recommend EspoCRM for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
EspoCRM has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
showing 1-10 of 37
A comprehensive Model Context Protocol (MCP) server for seamless integration with EspoCRM. This server enables AI assistants to interact with your EspoCRM instance through a standardized interface, providing complete CRUD operations for Contacts, Accounts, Opportunities, Meetings, Users, Tasks, Leads, and advanced system management capabilities.
** NEW: AI Chatbot Integration** - Now includes a complete chatbot interface that embeds directly into your EspoCRM, providing natural language access to all 47 MCP tools!
git clone https://github.com/zaphod-black/EspoMCP.git
cd EspoMCP
npm install
cp .env.example .env
# Edit .env with your EspoCRM credentials
npm run build
npm run test:config
cd chatbot-bridge
npm install
cp .env.example .env
# Edit .env with your EspoCRM settings
npm start
# Or with Docker: docker-compose up -d
<script>
window.ESPOCRM_CHAT_SERVER = 'http://your-server:3001';
</script>
<script src="http://your-server:3001/socket.io/socket.io.js"></script>
<script src="http://your-server:3001/api/widget.js"></script>
http://localhost:3001/widget to see the chatbot in action!Create a .env file with your EspoCRM configuration:
# EspoCRM Configuration
ESPOCRM_URL=https://your-espocrm-instance.com
ESPOCRM_API_KEY=your-api-key-here
ESPOCRM_AUTH_METHOD=apikey
# Optional: HMAC Authentication
# ESPOCRM_SECRET_KEY=your-secret-key
# ESPOCRM_AUTH_METHOD=hmac
# Server Configuration (Optional)
MCP_TRANSPORT=stdio
RATE_LIMIT=100
REQUEST_TIMEOUT=30000
LOG_LEVEL=info
| Variable | Description | Required | Default |
|---|---|---|---|
ESPOCRM_URL | Your EspoCRM instance URL | Yes | - |
ESPOCRM_API_KEY | API key for authentication | Yes | - |
ESPOCRM_AUTH_METHOD | Authentication method (apikey or hmac) | Yes | apikey |
ESPOCRM_SECRET_KEY | Secret key for HMAC auth | No | - |
MCP_TRANSPORT | MCP transport method | No | stdio |
RATE_LIMIT | Requests per minute limit | No | 100 |
REQUEST_TIMEOUT | Request timeout in milliseconds | No | 30000 |
LOG_LEVEL | Logging level | No | info |
The MCP server provides 47 comprehensive tools for EspoCRM integration:
create_contact - Create new contacts with full field supportsearch_contacts - Search and filter contacts with date range filteringget_contact - Retrieve specific contact by IDcreate_account - Create new company/organization accountssearch_accounts - Search and filter accounts with date range filteringcreate_opportunity - Create new sales opportunitiessearch_opportunities - Search opportunities with advanced filters including amount rangescreate_meeting - Create meetings with attendee management and calendar integrationsearch_meetings - Search meetings with date ranges, status, and location filtersget_meeting - Retrieve detailed meeting information including attendeesupdate_meeting - Update existing meetings with support for all meeting fieldssearch_users - Search users by username, email, name, type, and statusget_user_by_email - Direct email-based user lookup for calendar sync operationscreate_task - Create tasks with parent entity support (Lead, Account, Contact, Opportunity)search_tasks - Search tasks by assignee, status, priority, parent entity, and due datesget_task - Retrieve detailed task information including relationshipsupdate_task - Update task properties including status, priority, and due dateassign_task - Assign or reassign tasks to specific userscreate_lead - Create new leads with full field support and validationsearch_leads - Search leads by status, source, assignee, and date rangesupdate_lead - Update lead properties and statusconvert_lead - Convert leads to contacts, accounts, and/or opportunitiesassign_lead - Assign or reassign leads to specific usersadd_user_to_team - Add users to teams with optional position assignmentremove_user_from_team - Remove users from teamsassign_role_to_user - Assign roles to users for permissions managementget_user_teams - Get all teams that a user belongs toget_team_members - Get all members of a specific teamsearch_teams - Search teams by name and descriptionget_user_permissions - Get effective permissions for a user based on rolescreate_entity - Create records for any entity type (including custom entities)search_entity - Search any entity type with flexible filters and field selectionupdate_entity - Update any entity record by ID with flexible datadelete_entity - Delete any entity record by IDget_entity - Get specific entity records with optional field selectionlink_entities - Create relationships between any two entity recordsunlink_entities - Remove relationships between entity recordsget_entity_relationships - Get all related records for an entity with relationship detailscreate_call - Create call records with status, direction, and duration trackingsearch_calls - Search calls by status, direction, contact, and date rangescreate_case - Create support cases with priority, type, and account linkingsearch_cases - Search cases by status, priority, type, and assignmentadd_note - Add notes to any entity record for documentation and follow-upsearch_notes - Search notes by parent entity, author, and date rangescreate_document - Create document records with file attachments and metadatahealth_check - Verify server and EspoCRM connectivity across all entitiesAll search tools now support advanced filtering options:
createdFrom / createdTo - Filter by creation date rangemodifiedFrom / modifiedTo - Filter by modification date rangedateFrom / dateTo - Filter meetings by date rangestatus - Filter by meeting status (Planned, Held, Not Held)location - Filter by meeting locationassignedUserName - Filter by assigned useruserName - Search by usernameemailAddress - Search by email addressfirstName / lastName - Search by name componentsisActive - Filter by active statustype - Filter by user type (admin, regular, portal, api)// Create a task assigned to a user with parent relationship
await client.callTool('create_task', {
name: 'Follow up on lead discussion',
assignedUserId: 'user123',
par
---
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.