# FirstQuadrant MCP MCP

> FirstQuadrant MCP runs your sales and marketing campaigns directly through your AI agent. Manage contacts, deals, API keys, sequences, and full campaign lifecycles without leaving your chat window. It’s the automation backbone for growth teams.

## Overview
- **Category:** marketing-automation
- **Price:** Free
- **Tags:** campaign-management, api-orchestration, automated-outreach, marketing-ops, sales-enablement

## Description

This connection lets you manage your entire outreach process using natural language. Instead of logging into a dashboard or running complex scripts, your AI agent handles everything—from generating a new marketing sequence to enriching contact records with external data. You can list existing campaigns, create brand-new ones, and even delete old ones when they're done.

If you’re managing user access, you don't have to juggle API keys; the MCP lets your agent manage the full lifecycle of those credentials. Need to know how many leads you have? Your agent can count contacts or list existing deals. Everything runs through the Vinkius catalog, giving your AI client a single point of access for complex sales operations.

## Tools

### archive_contact
Removes a contact record from active views in the system.

### count_contacts
Returns the total number of contacts currently stored.

### create_api_key
Generates a brand new unique API key for programmatic access.

### create_auth
Creates or refreshes the necessary access token to keep your AI session active.

### create_campaign_sequence
Establishes the step-by-step flow for a specific campaign type.

### create_campaign
Builds a new marketing campaign structure within FirstQuadrant.

### create_campaign_variant
Adds a specialized version or variation to an existing campaign structure.

### create_company
Registers a brand new company entity into the system.

### create_contact
Adds a completely new contact record to your database.

### create_deal
Initializes a new sales opportunity or deal record.

### create_pipeline
Sets up a new stage structure for tracking sales deals.

### create_variant_step
Adds a single, specific step to an already defined campaign variation.

### delete_api_key
Permanently revokes an existing API key.

### delete_auth
Ends the current authenticated session by logging out.

### delete_campaign
Removes a marketing campaign from your active list.

### delete_contact
Deletes an existing contact record permanently.

### enrich_company
Adds external, detailed data points to a company's profile.

### enrich_contact
Updates a contact with new information pulled from third-party sources.

### export_contacts
Generates a file containing all current contact records for download.

### get_api_key
Retrieves the currently active API key used by your agent.

### get_auth
Checks and returns the current authentication details to verify connectivity.

### get_campaign
Retrieves all detailed information about a specific marketing campaign.

### get_campaigns_analytics
Compiles and returns aggregated performance metrics for multiple campaigns.

### get_company
Retrieves all available data associated with a specific company ID.

### get_contact
Fetches the complete profile details for one specified contact.

### get_deal
Retrieves all current status and value details for a specific sales deal.

### get_deals_analytics
Aggregates performance metrics across multiple deals in your pipeline.

### get_health
Verifies that the connection service is running correctly and responsive.

### get_logs
Accesses system logs to troubleshoot past agent actions.

### get_resource
Retrieves a generic data resource using an internal ID reference.

### get_usage
Gets statistics showing how much of your organization's allocated usage capacity you've consumed.

### hard_stop_campaign
Immediately halts a running campaign, preventing any further automated outreach.

### list_api_keys
Shows all API keys currently configured for the account.

### list_campaign_sequences
Lists all defined step sequences available for campaign use.

### list_campaign_variants
Shows every unique version or variant associated with a primary campaign.

### list_campaigns
Returns an overview list of all existing marketing campaigns.

### list_companies
Lists every company record in the system for review.

### list_company_employees
Retrieves a list of all employees tied to one specific company.

### list_connections
Lists active integrations and connections currently linked to the account.

### list_contacts
Provides a list of all contacts, allowing you to see basic details for each one.

### list_deals
Lists all sales deals, providing an overview of their current stage and value.

### list_generations
Shows a history of content or data generated by the platform's AI features.

### list_pipeline_stages
Returns all predefined stages within any given sales pipeline structure.

### list_pipelines
Lists all defined sales pipelines used to track deals.

### list_variant_steps
Provides a list of individual steps that make up a campaign variation.

### receive_hubspot_webhook
Receives automated event data pushed from HubSpot into the system.

### receive_nylas_webhook
Accepts automatic event notifications sent by Nylas.

### receive_stripe_webhook
Receives automated payment and billing events from Stripe.

### regenerate_api_key
Issues a new API key when the old one is compromised or expired.

### regenerate_campaign_sequences
Recreates all step sequences for a specific campaign, ensuring data freshness.

### register_user
Creates and adds a new user account to the system.

### replace_api_key
Updates an existing API key with a new credential without deleting the old one.

### replace_campaign
Replaces all content and settings of a campaign with fresh data.

### run_campaign
Triggers an immediate execution cycle for a selected marketing campaign.

### sequence_campaign
Starts the automated, sequential rollout of content for a campaign over time.

### update_api_key
Modifies an existing API key with new credentials.

### update_campaign
Changes the core settings or content of a campaign that's already running or paused.

### update_contact
Modifies specific details, like job title or email, for an existing contact record.

### update_deal
Changes the stage, expected value, or owner of a sales deal.

## Prompt Examples

**Prompt:** 
```
List all my active campaigns in FirstQuadrant.
```

**Response:** 
```
I've retrieved your campaigns. You have 3 active campaigns: 'Q4 Outreach' (ID: camp_001), 'Lead Nurturing' (ID: camp_002), and 'Re-engagement' (ID: camp_003).
```

**Prompt:** 
```
Run the campaign with ID camp_001.
```

**Response:** 
```
Starting campaign 'Q4 Outreach' (camp_001) now. I will monitor the execution status for you.
```

**Prompt:** 
```
Generate a new API key for my development environment.
```

**Response:** 
```
I've created a new API key for you. The ID is 'key_dev_99' and it is now ready for use in your development environment.
```

## Capabilities

### Execute and Monitor Campaigns
Start campaigns, update campaign content, and check analytics reports on performance.

### Manage Contacts and Companies
Create new contacts or companies, read existing records, or add external data to improve profiles.

### Control Deals and Pipelines
Track deal progress, list pipelines, and update the status of specific opportunities.

### Manage Authentication Credentials
Create new API keys or refresh existing access tokens for secure programmatic use.

### Handle Data Migration and Archiving
Export contact lists or archive records that are no longer active in your system.

## Use Cases

### The Marketing Refresh Cycle
A marketer needs to update an old campaign. Instead of logging in, finding the correct ID, and navigating multiple settings tabs, they just ask their agent: 'Update Campaign X with new messaging.' The MCP handles calling 'update_campaign' and ensuring all sequences are refreshed.

### The Data Clean-Up Job
An ops manager notices a list of contacts with outdated job titles. They ask the agent to pull that data, run 'enrich_contact' for every record, and then export the clean set using 'export_contacts'. It’s all done in one prompt.

### The Sales Handoff
A lead moves from marketing to sales. The agent can check the deal status with 'get_deal', list associated contacts via 'list_contacts', and update the pipeline stage using 'update_deal'—all without a human clicking anything.

### The Security Audit
A developer needs to ensure the agent is operating with minimal permissions. They ask the MCP to list all current keys ('list_api_keys'), verify the credentials ('get_auth'), and then immediately delete any unused ones using 'delete_api_key'.

## Benefits

- Automate campaign execution: Instead of manually clicking through stages, your agent can run a campaign or use 'run_campaign' to trigger immediate outreach based on predefined sequences.
- Centralized data control: Never lose track of records. You can get specific contact details with 'get_contact', enrich them with external data using 'enrich_contact', and archive old ones with 'archive_contact'.
- Secure credential management: Manage your access points easily. Use the MCP to 'create_api_key' or 'list_api_keys' so your agent always has valid credentials without manual key handling.
- Full pipeline visibility: Track revenue from end-to-end. List all deals using 'list_deals', get analytics on performance with 'get_deals_analytics', and update deal status whenever the sales team needs it via 'update_deal'.
- Deep integration point: The MCP gives your AI client access to multiple data streams, including receiving webhooks from Stripe or HubSpot directly into your workflow.

## How It Works

The bottom line is that you talk to your AI agent, and it talks to FirstQuadrant, handling all the complex data movement in between.

1. Subscribe to this MCP on Vinkius and provide your FirstQuadrant API key.
2. Connect your preferred AI client (like Claude, Cursor, or Windsurf) through the platform.
3. Tell your agent what you need done—for example, 'List all active campaigns'—and it runs the actions for you.

## Frequently Asked Questions

**How do I list campaigns with FirstQuadrant? (list_campaigns)**
You simply ask the agent to 'list campaigns.' The MCP calls 'list_campaigns' and gives you a complete overview of all active marketing efforts.

**What is the best way to update a contact in FirstQuadrant? (update_contact)**
To modify an existing person, use 'update_contact.' You provide the specific ID and the fields you want to change, like adding a new phone number or job title.

**Can I run multiple campaigns at once with FirstQuadrant? (run_campaign)**
Yes. If you have several distinct campaign IDs, you can prompt your agent to 'run the following campaigns: [ID1], [ID2],' and it will execute them in sequence.

**How do I manage API keys with FirstQuadrant? (list_api_keys)**
To see what access credentials your agent is using, just ask to 'list API keys.' The MCP calls 'list_api_keys' and gives you a rundown of all configured tokens.

**If my access token expires or I need to check my current session status, how do I use the `get_auth` tool?**
The `get_auth` tool retrieves your current authentication details. This is useful for validating if your connected agent still has a valid session and provides necessary tokens for continued operation.

**When I need to add external data points to an existing contact record, what are the best practices using `enrich_contact`?**
The `enrich_contact` tool connects your agent to external databases to pull in supplementary information. You must provide a valid contact ID and specify which data fields you want the MCP to populate.

**How do I map out all the different stages or variations available for a campaign using `list_campaign_variants`?**
Calling `list_campaign_variants` provides a structured view of every possible variant attached to a specific campaign. This helps you see which steps are available before building your next outreach sequence.

**What is the process for retrieving a complete, exportable dataset of all my contacts via `export_contacts`?**
The `export_contacts` tool generates a full dataset dump of every contact record. This function handles bulk retrieval and formats the data for use in external reporting tools.

**Can I start a specific marketing campaign using its ID?**
Yes. You can use the `run_campaign` tool by providing the specific `campaignId`. This will trigger the execution of the targeted campaign immediately.

**Is it possible to manage and list my API keys through the agent?**
Absolutely. Use the `list_api_keys` tool to see all active keys, or `create_api_key` to generate a new one for your integrations.

**How do I check my current authentication status?**
You can use the `get_auth` tool. It retrieves the current authentication details to confirm your session is active and valid.