# FirstQuadrant MCP

> FirstQuadrant MCP Server gives your AI agent full control over your B2B sales pipeline. Use it to list leads, automatically enrich contacts with deep context, manage full campaign sequences, and monitor every sales activity. It lets you build out your prospecting workflow from natural conversation, without leaving your AI client.

## Overview
- **Category:** artificial-intelligence
- **Price:** Free
- **Tags:** outbound-sales, lead-enrichment, prospecting, autonomous-agents, sales-pipeline, crm-integration

## Description

Your AI agent gives you full control over your B2B sales pipeline. You can use it to list leads, automatically enrich contacts with deep context, manage full campaign sequences, and monitor every sales activity. You build your prospecting workflow right from natural conversation, without ever leaving your AI client.

**Build and manage contact databases**

You can list all contacts using `list_contacts`, narrowing down your lead database by email or creation date. You can also inspect the custom data fields defined on your contacts using `list_properties_schema`. To create a brand new lead or contact, just run `create_contact`.

**Update contact profiles with external data**

When you need deep company context, run `enrich_contact_ai` on a contact. This tool runs an AI workflow that pulls in external data and updates the contact's profile automatically. You can always get the full picture of a person's details using `get_contact_details`.

**Enroll contacts in sales campaigns**

You can see all the sales sequences you've set up by calling `list_campaigns`. Once you pick a contact, you can add them to an existing sales sequence or email campaign using `add_to_campaign`.

**View and manage all sales interactions**

To see the complete history of sales activities, call `list_activities`. This gives you a chronological list of everything—calls, emails, or AI tasks—associated with the account. You can also use `list_contacts` to get a list of contacts and filter that list by email or creation date.

## Tools

### add_to_campaign
Adds a specific contact to a defined sales campaign sequence.

### create_contact
Creates a new lead or contact record in FirstQuadrant.

### enrich_contact_ai
Runs an AI workflow to gather deep context and update a contact's profile with external data.

### get_contact_details
Retrieves the full profile details for a specific contact.

### list_activities
Retrieves a chronological list of all sales activities associated with the account.

### list_campaigns
Lists all available sales campaigns or sequences configured in FirstQuadrant.

### list_contacts
Lists all FirstQuadrant contacts, supporting advanced filtering by email or creation date.

### list_properties_schema
Retrieves a list of all custom data fields (properties) defined on your contacts.

## Prompt Examples

**Prompt:** 
```
List all qualified leads from FirstQuadrant.
```

**Response:** 
```
I've retrieved your leads. You have 12 qualified contacts, including 'John Doe' (ID: 101) and 'Sarah Smith' (ID: 102). Would you like to see the interaction history for any of them?
```

**Prompt:** 
```
Enrich the contact with email 'ceo@acme.com'.
```

**Response:** 
```
AI enrichment triggered! I've started the research workflow for ceo@acme.com. I'll notify you as soon as the company size and latest funding details are added to the profile.
```

**Prompt:** 
```
Add contact '101' to the 'Discovery Sequence'.
```

**Response:** 
```
Contact enrolled! I've successfully added John Doe (ID: 101) to your 'Discovery Sequence'. They will receive the first automated email shortly.
```

## Capabilities

### Build and manage contact databases
List all contacts and use filters (like email or date) to narrow down your lead database.

### Update contact profiles with external data
Run an AI workflow on a contact to pull in deep company context and update their profile automatically.

### Enroll contacts in sales campaigns
Add a specific contact to an existing sales sequence or email campaign.

### View and manage all sales interactions
List the complete history of sales activities, including calls, emails, and AI tasks.

### Create new leads and contacts
Programmatically create a new lead or contact record within FirstQuadrant.

### Inspect custom data fields
List and manage the custom data schema (properties) used across your contact records.

## Use Cases

### Identifying and qualifying a new prospect
A Growth Manager needs to find all leads in their database created last month who work at a specific company. They ask their agent to run `list_contacts` with filters. The agent returns the list, which the manager then passes to `enrich_contact_ai` to gather up-to-date company data before planning outreach.

### Starting a follow-up sequence
An Account Manager finishes a call and needs to get the contact's full history before drafting an email. They ask the agent to run `list_activities` and `get_contact_details`. Once they confirm the details, they use `add_to_campaign` to enroll the contact in a follow-up drip sequence.

### Building a new lead pipeline from scratch
A Sales Rep finds a list of potential emails. They ask the agent to use `create_contact` for each one, building new records. After creating the records, they immediately trigger `enrich_contact_ai` to give those new contacts the necessary company context.

### Auditing campaign readiness
A Marketing Ops person needs to know what campaigns exist and if a specific contact is eligible. They use `list_campaigns` to see the options, then use `list_properties_schema` to check if the contact has the necessary data fields for that campaign.

## Benefits

- **Full-Cycle Prospecting:** Don't manually jump between tools. Your AI agent handles the entire flow—from using `list_contacts` to identify targets, then running `enrich_contact_ai` for context, and finally using `add_to_campaign` to start outreach.
- **Single Source of Truth:** Access every interaction history and contact detail via `get_contact_details` and `list_activities`. You see the full picture of a relationship without leaving your AI client.
- **Scalable Outreach:** Use `list_campaigns` to see your available sequences. Then, use `add_to_campaign` to enroll contacts in personalized campaigns instantly, scaling your outbound efforts.
- **Data Integrity Check:** Need to know what data fields you're working with? Run `list_properties_schema` to see every custom field available, ensuring your AI client structures the data correctly.
- **Efficient Lead Discovery:** Instead of building complex SQL queries, use `list_contacts` to filter your entire database by email or creation date and hand the resulting list to your agent for next steps.
- **Hands-Free Data Collection:** Trigger deep context gathering using `enrich_contact_ai`. The AI runs the research, updates the profile, and you just get the final, enriched record.

## How It Works

The bottom line is you control your B2B sales pipeline using natural language prompts, letting your AI agent execute structured data operations against FirstQuadrant.

1. Subscribe to the FirstQuadrant MCP Server and get your API Key and Organization ID from the FirstQuadrant developer settings.
2. Ask your AI agent to perform a task (e.g., 'Enrich the contact at example@acme.com').
3. The agent calls the appropriate tool, and the server executes the workflow, returning the updated data or confirmation to your AI client.

## Frequently Asked Questions

**How do I use the enrich_contact_ai tool?**
You tell your agent to 'Enrich the contact at [email].' The tool triggers an AI workflow, gathering company size and funding details, and updates the contact profile automatically. This means you get the latest data without manual research.

**Can I list all my contacts using the list_contacts tool?**
Yes. The `list_contacts` tool lets you pull your full list of contacts. You can also filter that list by criteria like email address or creation date.

**What is the difference between get_contact_details and list_contacts?**
Use `list_contacts` when you need a broad list of many contacts. Use `get_contact_details` when you already know the specific contact ID and need all the details for just that single person.

**How do I enroll someone into a campaign using add_to_campaign?**
Simply tell your agent to 'Add [contact name/ID] to the [campaign name] sequence.' The `add_to_campaign` tool handles the enrollment immediately.

**How do I list custom properties using the list_properties_schema tool?**
The `list_properties_schema` tool displays all custom fields you've set up in FirstQuadrant. This lets your agent know exactly what data points to look for when enriching or managing a contact record.

**What if I need to find contacts by a specific date range using list_contacts?**
Yes, the `list_contacts` tool supports advanced filtering. You can specify a start and end date to pull only the contacts created or modified within your target time frame.

**Can I programmatically track all my sales interactions using list_activities?**
Absolutely. The `list_activities` tool provides a comprehensive log of sales efforts, including emails, calls, and any AI-driven tasks. Your agent reads this log in real-time.

**Is there a way to create a new lead and immediately add it to a campaign using create_contact and add_to_campaign?**
You can handle this in sequence. First, use `create_contact` to make the new lead. Then, use `add_to_campaign` with the newly created contact ID to enroll them instantly.

**How do I find my Organization ID in FirstQuadrant?**
Log in to your FirstQuadrant dashboard and navigate to **Settings** > **Developer Settings**. Your unique Organization ID will be listed there.

**Can the agent update custom properties?**
Yes! Use the `create_contact` or `enrich_contact_ai` tools to manage standard and custom data points defined in your property schema.

**How does AI enrichment work through the agent?**
The `enrich_contact_ai` tool triggers FirstQuadrant's autonomous research engine to scan public sources and update the contact record with high-fidelity insights.