
EspoCRM
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.
Integrates with EspoCRM to provide complete CRUD operations for contacts, accounts, and opportunities with advanced search, filtering, pagination, and health monitoring capabilities.
What it does
- Create, read, update, delete EspoCRM entities
- Search and filter contacts, accounts, opportunities with pagination
- Manage meetings with calendar integration and attendee management
- Handle task and lead lifecycle management
- Manage users with lookup capabilities
- Monitor EspoCRM system health
Best for
About 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.
How to install
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.
License
EspoCRM is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
EspoCRM MCP Server
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!
Features
Core Capabilities
- Complete CRUD Operations - Create, read, update, and delete entities
- Multi-Entity Support - Contacts, Accounts, Opportunities, Meetings, Users, Tasks, and Leads
- Advanced Search & Filtering - Flexible search with date ranges, pagination, and complex filters
- Task Management - Complete task lifecycle with parent relationships and user assignment
- Lead Management - Full lead pipeline from creation to conversion
- Meeting Management - Full calendar integration with attendee management
- User Management - Comprehensive user search and lookup capabilities
- Real-time Validation - Zod-based schema validation for all operations
- Comprehensive Logging - Winston-powered logging with multiple levels
Authentication & Security
- Multiple Auth Methods - API Key and HMAC authentication support
- Secure Configuration - Environment-based configuration management
- Rate Limiting - Built-in rate limiting for API protection
- Error Handling - Robust error handling with detailed logging
Calendar Integration
- Meeting Operations - Create, search, update, and manage meetings
- Attendee Management - Link contacts and users to meetings
- Date/Time Filtering - Advanced date range search capabilities
- Google Calendar Sync Compatibility - Designed for calendar synchronization workflows
AI Chatbot Integration
- Floating Chat Widget - Beautiful, non-intrusive chat bubble interface
- Natural Language Processing - Chat in plain English to perform CRM operations
- Real-time Communication - WebSocket-powered instant responses
- 47 MCP Tools Access - Complete CRM functionality via chat
- EspoCRM Embedding - Integrates directly into your EspoCRM interface
- Mobile Responsive - Works seamlessly on all devices
Developer Experience
- TypeScript - Full TypeScript support with strict typing
- Docker Support - Containerized deployment ready
- Comprehensive Testing - Multiple test scripts and validation tools
- MCP 2024/2025 Compliant - Latest MCP specification support
Quick Start
Prerequisites
- Node.js 18+
- npm or yarn
- EspoCRM instance with API access
- Valid API credentials
Installation
- Clone the repository
git clone https://github.com/zaphod-black/EspoMCP.git
cd EspoMCP
- Install dependencies
npm install
- Configure environment
cp .env.example .env
# Edit .env with your EspoCRM credentials
- Build the project
npm run build
- Test the connection
npm run test:config
AI Chatbot Quick Start
Deploy Chatbot Interface
- Navigate to chatbot directory
cd chatbot-bridge
- Install dependencies
npm install
- Configure environment
cp .env.example .env
# Edit .env with your EspoCRM settings
- Start chatbot server
npm start
# Or with Docker: docker-compose up -d
- Integrate with EspoCRM Add to your EspoCRM footer template:
<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>
- Try the Demo
Visit
http://localhost:3001/widgetto see the chatbot in action!
Environment Configuration
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
Required Configuration
| 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 |
Available Tools
The MCP server provides 47 comprehensive tools for EspoCRM integration:
Contact Management
create_contact- Create new contacts with full field supportsearch_contacts- Search and filter contacts with date range filteringget_contact- Retrieve specific contact by ID
Account Management
create_account- Create new company/organization accountssearch_accounts- Search and filter accounts with date range filtering
Opportunity Management
create_opportunity- Create new sales opportunitiessearch_opportunities- Search opportunities with advanced filters including amount ranges
Meeting Management
create_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 fields
User Management
search_users- Search users by username, email, name, type, and statusget_user_by_email- Direct email-based user lookup for calendar sync operations
Task Management
create_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 users
Lead Management
create_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 users
Team & Role Management
add_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 roles
Generic Entity Operations
create_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 selection
Relationship Management
link_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 details
Communication Tools
create_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 metadata
System Tools
health_check- Verify server and EspoCRM connectivity across all entities
Enhanced Search Capabilities
All search tools now support advanced filtering options:
Date Range Filtering
createdFrom/createdTo- Filter by creation date rangemodifiedFrom/modifiedTo- Filter by modification date rangedateFrom/dateTo- Filter meetings by date range
Meeting-Specific Filters
status- Filter by meeting status (Planned, Held, Not Held)location- Filter by meeting locationassignedUserName- Filter by assigned user
User-Specific Filters
userName- Search by usernameemailAddress- Search by email addressfirstName/lastName- Search by name componentsisActive- Filter by active statustype- Filter by user type (admin, regular, portal, api)
Usage Examples
Task Management
// Create a task assigned to a user with parent relationship
await client.callTool('create_task', {
name: 'Follow up on lead discussion',
assignedUserId: 'user123',
par
---
*README truncated. [View full README on GitHub](https://github.com/zaphod-black/espomcp).*
Alternatives
Related Skills
Browse all skillsUI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use for creating design systems, maintaining visual consistency, and facilitating design-dev collaboration.
Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: "AI SDK", "Vercel AI SDK", "generateText", "streamText", "add AI to my app", "build an agent", "tool calling", "structured output", "useChat".
Leveraging AI coding assistants and tools to boost development productivity, while maintaining oversight to ensure quality results.
Master API documentation with OpenAPI 3.1, AI-powered tools, and modern developer experience practices. Create interactive docs, generate SDKs, and build comprehensive developer portals. Use PROACTIVELY for API documentation or developer portal creation.
Creates educational Teams channel posts for internal knowledge sharing about Claude Code features, tools, and best practices. Applies when writing posts, announcements, or documentation to teach colleagues effective Claude Code usage, announce new features, share productivity tips, or document lessons learned. Provides templates, writing guidelines, and structured approaches emphasizing concrete examples, underlying principles, and connections to best practices like context engineering. Activates for content involving Teams posts, channel announcements, feature documentation, or tip sharing.
Use when working with the OpenAI API (Responses API) or OpenAI platform features (tools, streaming, Realtime API, auth, models, rate limits, MCP) and you need authoritative, up-to-date documentation (schemas, examples, limits, edge cases). Prefer the OpenAI Developer Documentation MCP server tools when available; otherwise guide the user to enable `openaiDeveloperDocs`.