# SugarCRM MCP

> SugarCRM MCP Server links your AI agent directly to your sales data. Need to find a client's phone number, check their current deal stage, or log notes after a call? This server lets your agent read, update, and create records across Accounts, Contacts, Leads, Opportunities, and Tasks in real time. It’s built for agents who need immediate access to structured sales data without opening the CRM UI.

## Overview
- **Category:** sales-automation
- **Price:** Free
- **Tags:** lead-management, sales-pipeline, customer-records, workflow-automation, crm-analytics, opportunity-tracking

## Description

Look, you don't wanna waste time jumping between screens just to check a client's details. This SugarCRM MCP Server links your agent right into your core sales data. You talk to your AI client, and it handles all the messy API calls behind the scenes, so you get what you need fast.

When you use the server, you can immediately start managing records across Accounts, Contacts, Leads, Opportunities, and Tasks without ever opening the CRM interface yourself.

**Managing Company Accounts**
You can make a new company record with `create_account`. Need to check out an existing client? Use `get_account` to pull up every detail for one specific account—billing info, main contacts, everything. If you just wanna see what accounts are in the system, run `list_accounts`.

**Tracking People and Leads**
For people, running `get_contact` pulls up a full profile of any single contact. Want to list everyone? `list_contacts` gives you that overview. When you're talking to someone who might be a client but isn't verified yet, `get_lead` grabs all the info tied to an unverified lead. If you just need a quick count of those prospects, use `list_leads`. To find anything—an account, a contact, or a lead—that matches specific criteria, run `search_global`; it searches across multiple modules at once.

**Mapping the Sales Pipeline**
Keeping track of deals is critical. You can retrieve all the specifics on one sales opportunity using `get_opportunity`, which tells you its current value and where it sits in the deal stage. To see everything currently active, run `list_opportunities`; this lists every open sale and shows you their projected close date. It keeps your whole pipeline visible.

**Logging Activities and Context**
You need to keep that data clean after every call. You can list all outstanding or scheduled tasks with `list_tasks`. If the agent needs to make a task, it handles that too. Before making any changes, you gotta confirm connectivity. Run `get_me` to check the API connection and verify exactly which user profile your agent is operating under.

This setup lets your agent handle complex requests—like 'Show me all open deals for TechCorp due next month'—and it gives you structured data back instantly. You don't manually jump through tabs; you just talk to your agent, and it handles the whole process.

## Tools

### create_account
Makes a brand new company record in the CRM.

### get_account
Pulls up all details for one specific company account.

### get_contact
Retrieves the full profile and contact information for a single person.

### get_lead
Gets all details associated with an unverified potential customer lead.

### get_me
Checks the API connection and tells you which user profile your agent is currently logged in as.

### get_opportunity
Retrieves specific details about a sales deal or opportunity, including its current value and stage.

### list_accounts
Lists every company account currently in the system.

### list_contacts
Provides a list of all contacts across the organization.

### list_leads
Returns an overview list of all captured leads that haven't been assigned to an account yet.

### list_opportunities
Lists every sales opportunity, showing their current stage and projected close date.

### list_tasks
Shows a list of all outstanding or scheduled tasks for any user.

### search_global
Runs a single search across multiple modules (accounts, contacts, leads) to find anything matching specific criteria.

## Prompt Examples

**Prompt:** 
```
List all Open Opportunities closing this month.
```

**Response:** 
```
You have 4 Open Opportunities closing this month, with a total pipeline value of $120,000.
```

**Prompt:** 
```
Fetch the contact details for 'Jane Smith'.
```

**Response:** 
```
Jane Smith is the VP of Engineering at TechCorp. Email: jane@techcorp.com, Phone: 555-0192.
```

**Prompt:** 
```
Log a call with Jane Smith: 'Discussed Q3 expansion'.
```

**Response:** 
```
Call log has been created successfully and linked to Jane Smith's contact record.
```

## Capabilities

### Manage Account Records
Create new company accounts or pull up full profiles of existing ones using `create_account` and `get_account`.

### Track People and Leads
Get specific contact details (`get_contact`), retrieve lead information (`get_lead`), or list all active contacts/leads for a quick overview.

### Map the Sales Pipeline
Retrieve current opportunities (`get_opportunity`) and list all sales deals to track progress across your entire pipeline.

### Automate Activity Logging
List and create tasks, or search global records using `list_tasks` and `search_global`, keeping your data clean after every conversation.

### Understand User Context
Run the `get_me` tool to confirm API connectivity and verify which user profile the agent is operating under before making changes.

## Use Cases

### Preparing for a Quarterly Business Review (QBR)
The Account Manager needs context. They ask their agent, 'What are all the open opportunities for Acme Corp?' The agent runs `list_opportunities` and filters by account ID, providing an instant summary of deal value and status across three different deals.

### Following up on a Cold Lead
The SDR gets a new list of prospects. Instead of opening each lead record manually, they ask their agent to use `get_lead` for the top five names. The agent pulls the basic details and summarizes which ones are most relevant based on initial notes.

### Finding a Missing Piece of Data
A user remembers talking about 'Project Chimera' but doesn't know who owns it. They use `search_global` with keywords, and the agent surfaces the contact record, the associated account, and even an open task related to that project.

### Cleaning Up Missed Tasks
The manager wants to know what everyone needs to do. They ask the agent to run `list_tasks` for the entire sales team. The agent returns a clean list of overdue tasks, allowing them to delegate immediately without opening the task module.

## Benefits

- Stop hunting for data. When you need to know a client's full history, the agent runs `search_global`, pulling together information from accounts, contacts, and tasks in one go. You get the answer, not a list of tabs to check.
- Keep your sales record accurate instantly. After a call, instead of opening the CRM manually, you just tell your agent, 'Log this meeting.' It hits `list_tasks` or updates an opportunity status automatically.
- Never lose track of a deal again. By querying `get_opportunity`, you see exactly where that client stands—the current stage, expected revenue, and owner—without navigating complex dashboards.
- Onboarding new reps gets faster. Instead of spending hours learning the UI, they just talk to their agent. They can use `list_accounts` or `list_contacts` to build muscle memory through conversation.
- Build a complete customer view. You can link a contact's details (`get_contact`) directly back to the account record (`get_account`), giving you one cohesive data point for any client interaction.

## How It Works

The bottom line is that your agent talks to your CRM like a human sales rep does: asking specific questions and making necessary updates in one conversation thread.

1. Your AI client sends a request (e.g., 'Get me Jane Smith's details') to the SugarCRM MCP Server.
2. The server maps that natural language query to the correct tool endpoint, like `get_contact`, and executes the API call against your CRM.
3. It returns structured JSON data (the contact record) directly to your AI client, which then formats it into a plain-language answer for you.

## Frequently Asked Questions

**How do I use get_account in SugarCRM MCP Server?**
You give your agent an account ID or name, and it runs `get_account`. The result is a complete record of the company—everything from their main address to key contacts.

**Does list_accounts show me all my companies?**
Yes, running `list_accounts` pulls up every company record in your CRM. This gives you an immediate roster of all accounts the team manages.

**What is the best tool for finding a piece of data across modules? (search_global)**
`search_global` is what you want. It's designed to look everywhere, not just in Accounts or Contacts. Use it when you have vague keywords but don't know which module holds the answer.

**Can I create new records with create_account?**
Yep. If you've gathered all the necessary details for a brand-new client, you just ask your agent to 'create an account,' and it runs `create_account` on your behalf.

**How do I get contact info for a specific lead using get_lead?**
You provide the lead ID or name to your agent. It runs `get_lead`, which pulls all known details about that prospect, helping you qualify them before they become a full account.

**If I use the get_me tool, how do I confirm my AI client has proper permissions?**
It confirms your connection status immediately. Running this tool checks API connectivity and returns the current user details. This verifies that your agent can talk to SugarCRM.

**When listing opportunities using list_opportunities, how do I ensure the records are tied to a specific account?**
You must pass the Account ID as a filter parameter when calling the tool. This limits the results and ensures your agent only pulls opportunities related to that specific company.

**Does list_contacts handle large databases, or is there a limit on how many records I can retrieve?**
The tool handles pagination for high volume. If you need more results than the initial batch provides, your agent must use the cursor token returned in the response to fetch subsequent pages.

**Can I retrieve the details of a specific Account?**
Yes! Supply the Account name or ID and the AI will extract all relevant firmographics and recent activities.

**How do I log a call or meeting?**
You can tell the agent to 'Log a call with John Doe', provide the summary, and the integration will create the activity record in SugarCRM.

**Is it possible to update an Opportunity's status?**
Yes, by passing the Opportunity ID, the AI can transition it to 'Closed Won' or any other active stage.