Espocrm
EspoCRM is an open-source web application that allows businesses to manage their customer relationships effectively.
Verdict
Common use cases
- Audit which users can edit leads
- Document custom field schemas for onboarding
- Check translation keys before a demo
- Verify API user permissions during troubleshooting
- Pull ACL rules for compliance reviews
Integration
- Vendor
- Espocrm
- Category
- crm
- Auth
- API_KEY
- Tools
- 2
- Composio slug
espocrm
Tools
- Get App User
Tool to retrieve current user data including token, acl, and preferences. use after successful authentication to fetch session-specific profile.
- Get Metadata
Tool to retrieve metadata information from espocrm. use when you need to discover system configuration, user details, acl, and translations right after authentication.
Setup
Setup guide
- 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Find EspoCRM in the list and click Connect. 3. You'll be prompted to enter your EspoCRM instance URL (the full https address where your CRM lives) and an API key. 4. Generate the API key in EspoCRM by going to Administration > API Users, creating a new API user, and copying the key that appears. 5. Paste both the instance URL and API key into Switchy, then click Authorize. 6. To test the connection, open any Space and type '@EspoCRM get my user profile' — you should see your username, role, and preferences returned in seconds. 7. If the response is empty or errors, double-check the API user has read permissions on User and Metadata scopes in EspoCRM's role settings.
What teammates see: by default, memories from Espocrm are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Show My Profile
@EspoCRM retrieve my user profile and list my assigned teams and access levelOpen in a Space →
List Custom Entities
@EspoCRM get metadata and show me every custom entity with its field names and typesOpen in a Space →
Check Field Permissions
@EspoCRM fetch metadata and tell me which roles have edit access to the Opportunity entityOpen in a Space →
Export Translation Keys
@EspoCRM pull translation metadata and list all custom labels defined for the Account entityOpen in a Space →
Verify API User Scope
@EspoCRM get the current user data and summarize which entities this API key can accessOpen in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@espocrm show me the current user's permissions and role settings so I can understand what data I have access to
Retrieved your EspoCRM user profile. You're logged in as sarah.chen@company.com with the 'Sales Manager' role. Your permissions include: full access to Accounts and Opportunities, read-only access to Reports, and no access to Administration modules. Your default team is 'West Coast Sales' and your preferred currency is USD. The ACL scope shows you can view all records owned by your team members but can edit only your own records.
This example uses the Get App User tool to surface role-based access controls. Useful for onboarding new teammates or auditing permissions. Requires a valid API key with at least read access to user data. The response reflects the authenticated user's session state, so results vary by who's asking.
@espocrm what entity types and fields are available in our CRM? I need to know the schema before importing contact data
EspoCRM metadata retrieved. Your instance has 18 standard entities enabled: Account, Contact, Lead, Opportunity, Case, Email, Meeting, Call, Task, Document, Campaign, Target List, Knowledge Base Article, Product, Quote, Sales Order, Invoice, and Contract. The Contact entity includes 24 fields: firstName, lastName, emailAddress (multi-enum), phoneNumber (multi-enum), accountName (link), assignedUser (link), teams (link-multiple), plus 8 custom fields you've added (linkedInProfile, preferredContactMethod, lastTouchDate, leadSource, industry, annualRevenue, employeeCount, notes). All required fields and validation rules are included in the full metadata response.
This example uses Get Metadata to discover the CRM's schema before data operations. Critical for import/export workflows or building integrations. The metadata call returns the entire system configuration, which can be large (100KB+) for heavily customized instances. Rate limits apply to metadata requests—cache results when possible rather than fetching on every prompt.
@espocrm check my access level and then explain which opportunity stages I can move deals through based on my role's workflow permissions
First retrieved your user profile: you have the 'Sales Rep' role with standard opportunity access. Then cross-referenced the metadata to map your workflow permissions. Based on your ACL settings, you can move opportunities through these stages: Prospecting → Qualification → Proposal → Negotiation. However, you cannot directly set opportunities to 'Closed Won' or 'Closed Lost'—those stage transitions require approval from a Sales Manager role. Your role also restricts editing opportunities assigned to other reps unless they're on your shared team. The workflow enforces a required 'Close Reason' field before any deal can reach a Closed status.
This synthesis example chains both tools—Get App User for role context, then Get Metadata for workflow rules—to answer a business process question. Demonstrates how the AI can reason across EspoCRM's permission model and entity configuration. Note that this MCP provides read-only metadata access; it cannot modify ACL rules or workflow definitions, only surface what's already configured in your instance.
Use-case deep-dives
When Espocrm MCP works for support teams under 10 people
A 6-person support team uses Espocrm to track customer issues and needs quick context when a ticket escalates. This MCP is a fit if your workflow is: agent reads a Slack thread, asks Switchy to pull the customer's Espocrm record, then drafts a response with full history. The two tools—Get App User and Get Metadata—give you auth verification and system config, but no actual CRM read/write operations. That means you're limited to setup and permission checks, not pulling contact records or updating deal stages. If your team needs to query or update CRM data during a conversation, this MCP won't close the loop. Use it only if you're building custom tooling on top and need the metadata layer to configure your own API calls.
Espocrm MCP as an onboarding reference tool
A 3-person sales team brings on a new rep who needs to learn Espocrm's field structure, user roles, and workflow rules. This MCP is useful in the first week: the rep asks Switchy to explain what fields exist on the Lead entity or what permissions their role has, and Switchy calls Get Metadata to return the schema. It's a lightweight way to answer "what can I do in this CRM?" without opening the admin panel. The limitation: once onboarding is done, the MCP doesn't help with day-to-day selling. You can't create leads, log calls, or update pipeline stages. If your team wants Switchy to assist with actual CRM tasks—like logging a demo or checking deal status—you'll need a different integration or custom API work. This is a reference tool, not an operational one.
Using Espocrm MCP to document access control
A 12-person services firm runs a quarterly audit to confirm who has access to sensitive client data in Espocrm. This MCP is a narrow fit: an ops lead asks Switchy to pull the current user's ACL settings and system metadata, then compares them against a policy doc. The Get App User and Get Metadata tools return role definitions and permission structures, which is enough to generate a snapshot of "what this user can see." The trade-off: you're limited to one user at a time (the authenticated API key holder), so bulk audits across 12 users require 12 separate API keys or manual iteration. If your audit process needs to compare permissions across the whole team in one pass, this MCP won't scale. It's a spot-check tool, not a compliance dashboard.
Frequently asked
What does the EspoCRM MCP do in Switchy?
It connects your EspoCRM instance to Switchy so AI can read your CRM metadata and user profiles. The MCP pulls system configuration, access control lists, user preferences, and translation data. It's read-only — you can query CRM structure and permissions, but you can't create leads or update contacts through this integration.
Do I need admin access to connect EspoCRM?
You need an API key from your EspoCRM instance, which typically requires admin or API user permissions to generate. The key determines what data the MCP can access based on the associated user's ACL. If your EspoCRM admin restricts API key creation, you'll need to request one from them before connecting.
Can the EspoCRM MCP create or update records?
No. This MCP only retrieves metadata and user profile information — it can't write to your CRM. If you need to create leads, update accounts, or log activities, you'll need to use EspoCRM's web interface or a separate API integration. The MCP is designed for discovery and configuration inspection, not data manipulation.
How is this different from using EspoCRM's API directly?
The MCP wraps two specific API endpoints (user profile and metadata) so AI can understand your CRM's structure without you writing code. If you need full CRUD operations across entities, you'll still use EspoCRM's REST API. The MCP trades flexibility for simplicity — it answers 'what's configured' questions, not 'update this record' requests.
Who on the team should connect EspoCRM to Switchy?
Whoever has access to generate API keys in your EspoCRM admin panel. This is usually a CRM admin or IT lead. Once connected, any Switchy team member can query the metadata and user data the API key permits. The connection doesn't consume per-seat licenses in EspoCRM — it's a single API user.