Skip to main content
Glama

Multilead Open API MCP Server

by vanman2024

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort for HTTP server8000
LOG_LEVELNoLogging level: DEBUG, INFO, WARNING, ERROR, CRITICALINFO
TRANSPORTNoTransport mode: stdio or http
LOG_FORMATNoLog format: json (production) or text (development)json
MULTILEAD_DEBUGNoEnable debug modefalse
MULTILEAD_API_KEYYesYour Multilead API key (get yours at https://app.multilead.co/settings/api)
MULTILEAD_TIMEOUTNoRequest timeout in seconds30
MULTILEAD_BASE_URLNoThe base URL for the Multilead APIhttps://api.multilead.co
RATE_LIMIT_PER_HOURNoRequests per hour limit1000
RATE_LIMIT_PER_MINUTENoRequests per minute limit100

Schema

Prompts

Interactive templates invoked by user choice

NameDescription
lead_enrichment_promptPrompt template for enriching lead data with AI Provides guidance for analyzing and enriching lead information including company research, contact validation, and lead scoring.
campaign_analysis_promptPrompt template for analyzing campaign performance Provides guidance for evaluating email campaign metrics and generating actionable insights for optimization.

Resources

Contextual data attached and managed by the client

NameDescription
Multilead MCP Server ConfigurationCurrent server configuration including API base URL, timeout settings, and debug mode status
Multilead API StatisticsAPI usage statistics and account information including lead count, campaign count, and rate limits

Tools

Functions exposed to the LLM to take actions

NameDescription
create_lead

Create a new lead in Multilead

Args: email: Lead email address (required) first_name: Lead first name last_name: Lead last name company: Company name title: Job title phone: Phone number tags: List of tags to assign custom_fields: Custom field key-value pairs

Returns: Created lead object with ID and metadata

get_lead

Retrieve a lead by ID

Args: lead_id: The unique identifier of the lead

Returns: Lead object with all properties, tags, and custom fields

list_leads

List and filter leads with pagination

Args: tags: Filter by tags (optional) company: Filter by company name (optional) created_after: Filter leads created after this ISO 8601 datetime created_before: Filter leads created before this ISO 8601 datetime limit: Number of results to return (1-1000, default: 100) offset: Pagination offset (default: 0)

Returns: List of leads matching the filter criteria with pagination metadata

update_lead

Update an existing lead's properties

Args: lead_id: The unique identifier of the lead email: New email address first_name: New first name last_name: New last name company: New company name title: New job title phone: New phone number tags: New list of tags (replaces existing tags) custom_fields: New custom fields (merges with existing)

Returns: Updated lead object

delete_lead

Delete a lead by ID

Args: lead_id: The unique identifier of the lead to delete

Returns: Success confirmation message

add_leads_to_campaign

Add a new lead to a selected campaign

Either profileUrl or email is required. All other fields can be provided in custom_fields.

Args: campaign_id: The ID of the campaign to add the lead to profile_url: LinkedIn profile URL of the lead (required if email not provided) email: Email address of the lead (required if profile_url not provided) custom_fields: Additional custom fields for the lead (e.g., {"first_name": "John", "company": "Acme"})

Returns: Created lead information

Example: add_leads_to_campaign( campaign_id="12345", email="lead@example.com", custom_fields={"first_name": "John", "company": "Acme Corp"} )

update_lead_in_campaign

Update one or more variables for a lead in a specified campaign and LinkedIn account

This updates lead fields including built-in fields (businessEmail, etc.) and custom variables.

Args: campaign_id: The ID of the campaign lead_id: The ID of the lead to update linkedin_account_id: The LinkedIn account ID changed_values: Dictionary of field names and new values to update Can include built-in fields like "businessEmail" or custom fields

Returns: Updated lead information

Example: update_lead_in_campaign( campaign_id="12345", lead_id="67890", linkedin_account_id="2", changed_values={ "businessEmail": "john.smith@company.com", "custom-variable": "custom value" } )

get_leads_from_thread

Retrieve leads who are part of a specific conversation thread

Args: user_id: The ID of the user account_id: The ID of the account (seat) thread_id: The ID of the conversation thread

Returns: List of leads belonging to the thread

get_tags_for_leads

Retrieve tags for specific leads

Args: user_id: The ID of the user account_id: The ID of the account (seat) lead_ids: List of lead IDs whose tags you want to retrieve

Returns: Tags associated with the specified leads

assign_tag_to_lead

Add a new tag to a specific lead

Args: user_id: The ID of the user account_id: The ID of the account (seat) lead_id: The ID of the lead tag_id: The ID of the tag to assign

Returns: Confirmation of tag assignment

remove_tag_from_lead

Remove a specific tag from a specific lead

Args: user_id: The ID of the user account_id: The ID of the account (seat) lead_id: The ID of the lead tag_id: The ID of the tag to remove

Returns: Confirmation of tag removal

get_linkedin_user_info

Retrieve LinkedIn profile information for a specific user

This returns profile information if you previously started a conversation with them.

Args: user_id: The ID of the user account_id: The ID of the account (seat) linkedin_user_id: The LinkedIn user ID

Returns: LinkedIn profile information including name, headline, company, etc.

pause_lead_execution

Pause the execution of campaign steps for a specific lead

This pauses all upcoming steps in the campaign workflow for this lead.

Args: lead_id: The ID of the lead to pause

Returns: Confirmation of lead pause

resume_lead_execution

Resume the execution of campaign steps for a specific lead

This resumes the campaign workflow for a previously paused lead.

Args: lead_id: The ID of the lead to resume

Returns: Confirmation of lead resumption

get_leads_from_campaign

Retrieve leads from a specific campaign with advanced filtering

Supports 7 groups of filters with OR logic within groups and AND logic between groups:

  1. Advanced filters (name, company, occupation, headline)

  2. Status filters (status, connection degree, out of office)

  3. Email verification filters

  4. Current step filter

  5. Selected leads filter

  6. Step change timestamp filter

  7. General search filter

Args: user_id: The ID of the user account_id: The ID of the account (seat) campaign_id: The ID of the campaign search: Search leads by fullName, email, company, headline, etc. filter_by_verified_emails: Filter leads with verified emails filter_by_not_verified_emails: Filter leads without verified emails filter_by_status: Filter by status ([1]=Discovered, [2]=Connection pending, [3]=Connected not replied, [4]=Replied) filter_by_connection_degree: Used with filter_by_status=[4] for additional status filtering ([1]=replied connected, [2,3]=replied not connected) filter_by_current_step: Filter leads on specific campaign steps filter_by_name: Filter leads whose names contain this value filter_by_company: Filter leads whose company contains this value filter_by_occupation: Filter leads whose occupation contains this value filter_by_headline: Filter leads whose headline contains this value filter_by_out_of_office: Filter leads with "Out of office" status filter_by_step_change_timestamp: Filter leads with stepChangeTimestamp greater than this filter_by_selected_leads: Retrieve specific leads by their IDs limit: Number of results to return (default: 30) offset: Pagination offset (default: 0)

Returns: List of leads matching the filter criteria with pagination metadata

Example: get_leads_from_campaign( user_id="123", account_id="456", campaign_id="789", filter_by_status=[4], filter_by_connection_degree=[1], filter_by_verified_emails=True, limit=50 )

get_tags_for_seat

Retrieve all tags from a specific seat (account)

Args: user_id: The ID of the user account_id: The ID of the account (seat)

Returns: List of all tags for the seat

create_tag

Create a new tag for a specific seat (account)

Args: user_id: The ID of the user account_id: The ID of the account (seat) tag_name: Name of the tag to create

Returns: Created tag information including tag ID

return_lead_to_campaign

Return a specific lead to a specific campaign

This action happens immediately unless a scheduled time is provided.

Args: user_id: The ID of the user account_id: The ID of the account (seat) lead_id: The ID of the lead to move target_campaign_id: The ID of the campaign to return the lead to scheduled_time: Optional ISO 8601 datetime to schedule the action

Returns: Confirmation of lead transfer

get_leads_from_seat

Retrieve leads from a specific seat (account) with advanced filtering

Supports 6 groups of filters with OR logic within groups and AND logic between groups:

  1. Advanced filters (name, company, occupation, headline)

  2. Status filters (status, connection degree, out of office)

  3. Email verification filters

  4. Selected leads filter

  5. Step change timestamp filter

  6. General search filter

Args: user_id: The ID of the user account_id: The ID of the account (seat) search: Search leads by fullName, email, company, headline, etc. filter_by_verified_emails: Filter leads with verified emails filter_by_not_verified_emails: Filter leads without verified emails filter_by_status: Filter by status ([1]=Discovered, [2]=Connection pending, [3]=Connected not replied, [4]=Replied) filter_by_connection_degree: Used with filter_by_status=[4] for additional status filtering ([1]=replied connected, [2,3]=replied not connected) filter_by_name: Filter leads whose names contain this value filter_by_company: Filter leads whose company contains this value filter_by_occupation: Filter leads whose occupation contains this value filter_by_headline: Filter leads whose headline contains this value filter_by_out_of_office: Filter leads with "Out of office" status filter_by_step_change_timestamp: Filter leads with stepChangeTimestamp greater than this filter_by_selected_leads: Retrieve specific leads by their IDs limit: Number of results to return (default: 30) offset: Pagination offset (default: 0)

Returns: List of leads from the seat matching the filter criteria

Example: get_leads_from_seat( user_id="123", account_id="456", filter_by_company="Acme Corp", filter_by_verified_emails=True, limit=100 )

export_all_campaigns

Export all campaigns in CSV format

Args: user_id: The ID of the user account_id: The ID of the account (seat)

Returns: CSV export of all campaigns or download URL

export_leads_from_campaign

Export leads from a specific campaign in CSV format with advanced filtering

Supports 7 groups of filters with OR logic within groups and AND logic between groups.

Args: user_id: The ID of the user account_id: The ID of the account (seat) campaign_id: The ID of the campaign to export leads from search: Search leads by fullName, email, company, headline, etc. filter_by_verified_emails: Export leads with verified emails filter_by_not_verified_emails: Export leads without verified emails filter_by_status: Filter by status ([1]=Discovered, [2]=Connection pending, [3]=Connected not replied, [4]=Replied) filter_by_connection_degree: Used with filter_by_status=[4] for additional status filtering filter_by_current_step: Export leads on specific campaign steps filter_by_selected_leads: Export specific leads by their IDs filter_by_name: Export leads whose names contain this value filter_by_company: Export leads whose company contains this value filter_by_occupation: Export leads whose occupation contains this value filter_by_headline: Export leads whose headline contains this value filter_by_out_of_office: Export leads with "Out of office" status filter_by_step_change_timestamp: Export leads with stepChangeTimestamp greater than this

Returns: CSV export data or download URL

Example: export_leads_from_campaign( user_id="123", account_id="456", campaign_id="789", filter_by_status=[4], filter_by_verified_emails=True )

get_campaign_info

Retrieve detailed information about a specific campaign

Args: user_id: The ID of the user account_id: The ID of the account (seat) campaign_id: The ID of the campaign

Returns: Campaign details including name, status, steps, statistics, etc.

get_campaign_list

Retrieve list of all campaigns with filtering and sorting

Args: user_id: The ID of the user account_id: The ID of the account (seat) campaign_state: Campaign status filter (1=ACTIVE, 2=DRAFT, 3=ARCHIVED, default: 1) sort_order: Sort direction ("ASC" or "DESC") sort_column: Column to sort by ("isActive", "name", or "createdAt") limit: Number of results to return (default: 30) offset: Pagination offset (default: 0)

Returns: List of campaigns with pagination metadata

Example: get_campaign_list( user_id="123", account_id="456", campaign_state=1, sort_order="DESC", sort_column="createdAt", limit=50 )

create_lead_source

Create a lead source and link it to a campaign

This creates a lead source (e.g., Sales Navigator search URL) and connects it to a campaign for automatic lead import.

Args: user_id: The ID of the user who owns the seat account_id: The ID of the seat where the campaign is located campaign_id: The ID of the campaign to link the lead source to lead_source_url: URL of the lead source (e.g., LinkedIn Sales Navigator search) lead_source_type: Type of lead source (e.g., "SALES_NAVIGATOR") dashboard: Dashboard ID (optional) auto_reuse: Auto-reuse setting (optional, 1 to enable) auto_reuse_interval: Auto-reuse interval in days (optional)

Returns: Created lead source information

Example: create_lead_source( user_id="123", account_id="456", campaign_id=789, lead_source_url="https://www.linkedin.com/sales/search/people?...", lead_source_type="SALES_NAVIGATOR", dashboard=2, auto_reuse=1, auto_reuse_interval=100 )

create_campaign_from_template

Create a new campaign from a saved sequence template

This creates a URL-based campaign from the user's saved sequences. The campaign goes live immediately after creation.

Args: user_id: The ID of the user account_id: The ID of the account (seat) sequence_template_id: The ID of the sequence template to use campaign_name: Name for the new campaign lead_source_url: Optional lead source URL to attach to the campaign

Returns: Created campaign information

Example: create_campaign_from_template( user_id="123", account_id="456", sequence_template_id="789", campaign_name="Q1 Outreach Campaign", lead_source_url="https://linkedin.com/sales/search/..." )

get_statistics

Get statistics for campaigns within a time range

This retrieves statistics for all campaigns or a specific campaign if campaign_id is provided.

Args: user_id: User ID account_id: Account ID from_timestamp: Statistics start timestamp (Unix timestamp) to_timestamp: Statistics end timestamp (Unix timestamp) curves: List of statistic types to retrieve. Values: 1=PROFILE_VIEW, 2=PROFILE_FOLLOW, 3=INVITATION_SENT, 4=MESSAGE_SENT, 5=INMAIL_SENT, 10=EMAIL_SENT, 11=EMAIL_OPENED, 12=EMAIL_CLICKED, 16=EMAIL_VERIFIED, 6=INVITATION_ACCEPTED, 7=MESSAGE_REPLY, 8=INVITATION_ACCEPTED_RATE, 9=MESSAGE_REPLY_RATE, 14=EMAIL_OPEN_RATE, 15=EMAIL_CLICK_RATE, 17=EMAIL_BOUNCE_RATE time_zone: Timezone for statistics (e.g., "America/New_York", "Europe/Belgrade") campaign_id: Optional campaign ID to get statistics for a specific campaign

Returns: Campaign statistics data

export_statistics_csv

Export campaign statistics as a CSV file

This retrieves statistics for all campaigns in CSV format.

Args: user_id: User ID account_id: Account ID from_timestamp: Statistics start timestamp (Unix timestamp) to_timestamp: Statistics end timestamp (Unix timestamp) curves: List of statistic types to retrieve (same values as get_statistics) time_zone: Timezone for statistics (e.g., "America/New_York", "Europe/Belgrade")

Returns: CSV file data with campaign statistics

get_step_statistics

Get step statistics for a specific campaign

This retrieves statistics for individual campaign steps within a specific campaign.

Args: user_id: User ID account_id: Account ID campaign_id: Campaign ID to get step statistics for

Returns: Step-by-step statistics for the campaign

get_all_campaigns_statistics

Get summary statistics for all campaigns

This retrieves platform-wide summary statistics (totals) for all campaigns.

Args: user_id: User ID account_id: Account ID campaign_state: Optional campaign state filter (default: 1)

Returns: Summary statistics for all campaigns

add_keywords_to_global_blacklist

Add keywords to the global blacklist via JSON

Args: team_id: Team ID user_id: User ID keywords: List of keywords to blacklist (e.g., ["test", "test123"]) keyword_type: Type of keyword. Options: "company_name", "email", "domain", "full_name", "profile_url", "job_title" comparison_type: How to match keywords. Options: "exact", "contains", "starts_with", "ends_with"

Returns: Success confirmation

import_keywords_to_global_blacklist_csv

Import keywords to global blacklist from a CSV file

Args: team_id: Team ID user_id: User ID csv_file_path: Path to CSV file containing keywords keyword_type: Type of keyword. Options: "company_name", "email", "domain", "full_name", "profile_url", "job_title" comparison_type: How to match keywords. Options: "exact", "contains", "starts_with", "ends_with"

Returns: Success confirmation with import results

add_keywords_to_blacklist

Add keywords to your seat's blacklist via JSON

Args: user_id: User ID account_id: Account ID (seat ID) keywords: List of keywords to blacklist (e.g., ["John Smith"]) keyword_type: Type of keyword. Options: "company_name", "email", "domain", "full_name", "profile_url", "job_title" comparison_type: How to match keywords. Options: "exact", "contains", "starts_with", "ends_with"

Returns: Success confirmation

import_keywords_to_blacklist_csv

Import keywords to your seat's blacklist from a CSV file

Args: user_id: User ID account_id: Account ID (seat ID) csv_file_path: Path to CSV file containing keywords keyword_type: Type of keyword. Options: "company_name", "email", "domain", "full_name", "profile_url", "job_title" comparison_type: How to match keywords. Options: "exact", "contains", "starts_with", "ends_with"

Returns: Success confirmation with import results

activate_inboxflare_warmup

Activate InboxFlare warm-up for a user

This endpoint creates an account for the user on the InboxFlare warm-up tool and sends credentials via email.

Args: user_id: User ID to activate warm-up for

Returns: Success confirmation with account creation details

list_all_seats_of_a_specific_user

List All Seats of a Specific User

This action provides information based on your Team Management role:

  • For team members: Retrieves information about the seats you've been invited to manage or own

  • For co-workers: Retrieves information about the seats that belong to the teams you manage

  • For platform admins: Retrieves information about the seats linked to the teams you own

Args: search: Optional search query to filter seats (e.g., "John Smith")

Returns: List of seats with detailed information

register_new_user

Register New User

This action registers a new user on the platform.

Args: email: User's email address (required) password: User's password (required) full_name: User's full display name (required) whitelabel_id: Whitelabel ID (required) phone: Optional phone number (e.g., "+3816423416") invitation_id: Optional invitation ID for secure registration skip_confirmation_email: Set to True to skip confirmation email (default: False)

Returns: Created user object with registration details

get_user_information

Get User Information

This action retrieves all information on the authorized user (the user whose API key is being used).

Returns: Complete user information including profile, settings, and permissions

list_all_users_as_a_whitelabel

List All Users as a Whitelabel

As a whitelabel, this action retrieves the list of all your users.

Args: limit: Maximum number of results to retrieve (default: 30) offset: Position in the dataset to start from (default: 0)

Returns: Paginated list of users with metadata

create_seat

Create Seat

This action creates a new seat within a specific team.

Args: user_id: User ID who owns the seat plan_id: Plan ID for the seat subscription full_name: Full name for the seat start_utc_time: Start time in UTC (e.g., "08:00") end_utc_time: End time in UTC (e.g., "16:00") time_zone: Timezone (e.g., "Europe/Belgrade", "America/New_York") team_id: Team ID to create the seat in whitelabel_id: Whitelabel ID

Returns: Created seat object with subscription details

cancel_seat

Cancel Seat

This action cancels a specific seat within a specific team.

Args: user_id: User ID who owns the seat account_id: Account/Seat ID to cancel reason: Reason for cancellation

Returns: Cancellation confirmation with details

reactivate_seat

Reactivate Seat

This action reactivates a specific inactive seat within a specific team.

Args: user_id: User ID who owns the seat account_id: Account/Seat ID to reactivate proxy_country: Optional proxy country code (e.g., "us", "gb")

Returns: Reactivation confirmation with updated seat status

suspend_or_unsuspend_seat

Suspend or Unsuspend Seat

This action suspends or unsuspends a specific seat within a specific team.

Args: user_id: User ID who owns the seat account_id: Account/Seat ID to suspend/unsuspend suspended: True to suspend, False to unsuspend

Returns: Updated seat status

resend_email_confirmation_message

Resend Email Confirmation Message

This action resends an email confirmation message to the user's email and allows them to confirm their email address.

Args: user_id: User ID to resend confirmation for email: Email address that should receive the confirmation email

Returns: Confirmation that the email was sent

send_password_reset_email

Send Password Reset Email

This action initializes the user's password reset and sends a password reset email.

Args: email: Email address to receive the password reset link

Returns: Confirmation that the reset email was sent

list_users_associated_with_a_specific_seat

List Users Associated With a Specific Seat

This action retrieves all users associated with the chosen seat in any way. The way they are related to a seat determines their user types:

  1. Team Member: Users invited to the team and assigned a seat

  2. Coworker: Users who manage a team that owns the seat

  3. Platform Admin: Users who manage the platform containing the seat

Args: user_id: User ID account_id: Account/Seat ID limit: Maximum number of results (default: 30) offset: Starting position in dataset (default: 0) search: Search query for email or fullName

Returns: Paginated list of associated users with their roles

list_teams_under_the_users_white_label

List Teams Under the User's White Label

This action retrieves all teams under one platform (White label). The user who runs this endpoint must be the platform admin.

Args: user_id: User ID (must be platform admin)

Returns: List of all teams under the whitelabel

change_a_password

Change A Password

This action changes the password for a specific user. Regular users can only change their own password and platform co-owners can change the password for all users within their platform.

Args: user_id: User ID whose password to change new_password: New password to set

Returns: Confirmation of password change

get_users_sequence_templates

Get User's Sequence Templates

This action retrieves all sequence templates (saved sequences) from a user who is a part of certain team. You can use the returned sequence template IDs in the "Create Campaign From A Sequence Template" endpoint.

Args: user_id: ID of the user whose saved sequences to retrieve team_id: ID of the team that the user is part of

Returns: List of saved sequence templates with IDs

transfer_credits

Transfer Credits

This action transfers credits from the authenticated user to a specified destination user.

Args: user_id: Source user ID (authenticated user) destination_user_id: Destination user ID to receive credits quantity: Number of credits to transfer

Returns: Transfer confirmation with updated credit balances

get_tags_of_a_specific_seat

Get Tags of a Specific Seat

This action retrieves all tags related to a specific seat.

Args: user_id: User ID account_id: Account/Seat ID

Returns: List of tags associated with the seat

connect_linkedin_account

Connect LinkedIn Account

This actions connects a specific LinkedIn account to a specific seat.

Args: user_id: User ID account_id: Account/Seat ID linkedin_email: LinkedIn account email linkedin_password: LinkedIn account password linkedin_subscription_id: LinkedIn subscription type ID country_code: Country code for proxy (e.g., "us", "gb") setup_proxy_type: Proxy setup type (e.g., "BUY") note: Optional note about the connection

Returns: LinkedIn connection status and details

disconnect_linkedin_account

Disconnect LinkedIn Account

This action disconnects a specific LinkedIn account from the seat on the platform.

Args: user_id: User ID account_id: Account/Seat ID with LinkedIn connection

Returns: Disconnection confirmation

create_team

Create a new team for a specific user

Args: user_id: The user ID who will own the team (required) name: The name of the team to create (required)

Returns: Created team object with ID and metadata

Example: create_team(user_id="1451", name="Sales Team")

create_team_role

Create a role for a specific team with custom permissions

Args: team_id: The ID of the team for which to create this role (required) user_id: Your user ID (required) name: The name of the role (required) permissions: List of permission objects with 'id' and 'isViewOnly' fields (required)

Returns: Created role object with ID and permissions

Example: create_team_role( team_id="1570", user_id="1451", name="Manager", permissions=[ {"id": 1, "isViewOnly": False}, {"id": 2, "isViewOnly": False} ] )

get_team_roles

Retrieve all roles for a specific team

Args: team_id: The ID of the team for which to retrieve roles (required) user_id: Your user ID (required)

Returns: List of all roles configured for the team with their permissions

Example: get_team_roles(team_id="1", user_id="1451")

get_team_members

Retrieve all members from a specific team

Args: user_id: Your user ID (required) team_id: The ID of the team for which to retrieve members (required)

Returns: List of all team members with their roles and permissions

Example: get_team_members(user_id="1451", team_id="1443")

invite_team_member

Invite a user to become a member of a specific team

The sendAnInvitationEmail flag controls how the invitation works:

  • If False (default): No email is sent and the invitation is automatically accepted

  • If True: An email invitation is sent and the user can accept or decline

Args: team_id: The ID of the team to invite the member to (required) user_id: Your user ID (required) name: The name of the user to invite (required) email: The email address of the user to invite (required) account_roles: List of role assignments with 'roleId' and 'accounts' array (required) can_manage_payment: Whether the user can manage payment settings (default: False) send_invitation_email: Whether to send an email invitation (default: False)

Returns: Invitation object with member details and status

Example: invite_team_member( team_id="1443", user_id="1451", name="John Doe", email="john@company.com", account_roles=[ { "roleId": "6eb0c288-0a17-4f6c-88a3-bb750b34d7ca", "accounts": [1028] } ], can_manage_payment=False, send_invitation_email=True )

update_team_member

Edit and update a team member from a specific team

Args: team_id: The ID of the team this member is part of (required) user_id: Your user ID (required) email: The email address of the member to update (required) account_roles: Updated list of role assignments with 'roleId' and 'accounts' array can_manage_team_global_webhooks: Whether the user can manage team global webhooks

Returns: Updated team member object with new settings

Example: update_team_member( team_id="1443", user_id="1451", email="borisa@company.io", account_roles=[ { "roleId": "d144079f-2a22-4f86-b2a9-45b3289b4bf4", "accounts": [158] } ], can_manage_team_global_webhooks=True )

sync_linkedin_messages

Sync all LinkedIn messages for a specific seat to the platform inbox

This action retrieves all LinkedIn messages for a specific seat and displays them inside the platform's inbox for centralized message management.

Args: user_id: Your user ID (required) account_id: The ID of the seat for which to sync LinkedIn messages (required)

Returns: Sync status and count of messages retrieved

Example: sync_linkedin_messages(user_id="16911", account_id="9852")

get_messages_from_a_specific_thread

Retrieve messages from specific conversation threads

This retrieves messages from one or more specific threads, with optional filtering by step change timestamp to get only recent updates.

Args: user_id: User ID account_id: Account ID threads: List of thread IDs to retrieve messages from filter_by_step_change_timestamp: Optional ISO timestamp to filter messages that were updated after this time

Returns: Messages from the specified threads

get_conversations_by_identifiers

Retrieve conversations using specific identifiers

This finds all conversations associated with the provided identifiers (e.g., LinkedIn profile IDs, email addresses).

Args: user_id: User ID account_id: Account ID identifiers: List of identifiers to search for (e.g., LinkedIn IDs)

Returns: Conversations matching the provided identifiers

get_unread_conversations

Retrieve unread conversations

This gets all conversations that have not been marked as read, with optional filtering by contact name.

Args: user_id: User ID account_id: Account ID limit: Maximum number of results to return (default: 100) offset: Pagination offset (default: 0) name: Optional search filter for contact name

Returns: List of unread conversations

get_other_conversations

Retrieve other conversations (not categorized as unread)

This gets conversations from the "All other messages" section.

Args: user_id: User ID account_id: Account ID limit: Maximum number of results to return (default: 100) offset: Pagination offset (default: 0) name: Optional search filter for contact name

Returns: List of other conversations

get_all_conversations

Retrieve all conversations from all channels

This gets conversations from the "All channels" endpoint, with optional filtering by name and tags.

Args: user_id: User ID account_id: Account ID limit: Maximum number of results to return (default: 100) offset: Pagination offset (default: 0) name: Optional search filter for contact name tag_ids: Optional comma-separated list of tag IDs to filter by

Returns: List of all conversations

get_campaign_conversations

Retrieve conversations from a specific campaign

This gets all conversations associated with a particular campaign.

Args: user_id: User ID account_id: Account ID campaign_id: Campaign ID to get conversations from limit: Maximum number of results to return (default: 100) offset: Pagination offset (default: 0) name: Optional search filter for contact name

Returns: Conversations from the specified campaign

get_messages_for_leads

Retrieve messages for specific leads

This gets conversation messages associated with specific lead IDs.

Args: user_id: User ID account_id: Account ID lead_ids: Optional list of lead IDs to get messages for limit: Maximum number of results to return (default: 100)

Returns: Messages for the specified leads

mark_messages_as_seen

Mark messages in a thread as seen

This marks all messages in a specific conversation thread as read/seen.

Args: user_id: User ID account_id: Account ID thread: Thread ID to mark as seen

Returns: Success confirmation

send_new_email

Send a new email to a recipient

This sends a new email through the platform to a recipient who may not have an existing thread.

Args: user_id: User ID account_id: Account ID recipient: Email address of the recipient subject: Email subject line content: Email body content (can include HTML) signature_id: ID of the signature to use

Returns: Sent email details

send_email_reply

Send an email reply to an existing thread

This sends a reply to an existing email conversation thread.

Args: user_id: User ID account_id: Account ID thread: Thread ID to reply to message: Email message content lead_id: Lead ID associated with this conversation campaign_id: Campaign ID associated with this conversation recipient: Email address of the recipient

Returns: Sent email reply details

send_linkedin_message

Send a LinkedIn message to an existing thread

This sends a LinkedIn message to an existing conversation in the platform's inbox.

Args: user_id: User ID account_id: Account ID message: Message content to send linkedin_user_id: LinkedIn user ID of the recipient public_identifier: LinkedIn public identifier of the recipient campaign_id: Campaign ID associated with this conversation lead_id: Lead ID associated with this conversation

Returns: Sent LinkedIn message details

get_lead_messages

Retrieve all messages for a specific lead

This gets all conversation messages associated with a particular lead.

Args: user_id: User ID account_id: Account ID lead_id: Lead ID to get messages for

Returns: All messages for the specified lead

create_webhook

Create a non-global webhook

This creates a webhook that listens for specific events. Non-global webhooks are scoped to specific campaigns or resources.

Args: user_id: User ID account_id: Account ID webhooks: List of webhook configurations, each containing: - url: Webhook endpoint URL - events: List of event types to subscribe to - campaignId: (Optional) Campaign ID to scope webhook to

Returns: Created webhook details

create_global_webhook

Create a global webhook

This creates a webhook that listens for events across all campaigns and resources in the account.

Args: user_id: User ID account_id: Account ID webhooks: List of webhook configurations, each containing: - url: Webhook endpoint URL - events: List of event types to subscribe to

Returns: Created global webhook details

list_webhooks

List non-global webhooks

This retrieves all non-global webhooks configured for the account.

Args: user_id: User ID account_id: Account ID limit: Maximum number of results to return (default: 30) offset: Pagination offset (default: 0)

Returns: List of non-global webhooks

list_global_webhooks

List global webhooks

This retrieves all global webhooks configured for the account.

Args: user_id: User ID account_id: Account ID limit: Maximum number of results to return (default: 30) offset: Pagination offset (default: 0)

Returns: List of global webhooks

delete_webhook

Delete a non-global webhook

This removes a specific non-global webhook by its ID.

Args: user_id: User ID account_id: Account ID webhook_id: Webhook ID to delete

Returns: Success confirmation

delete_global_webhook

Delete a global webhook

This removes a specific global webhook by matching URL and event subscriptions.

Args: user_id: User ID account_id: Account ID array_of_actions: List of event action types the webhook was subscribed to array_of_ids: List of resource IDs associated with the webhook url: Webhook URL to delete

Returns: Success confirmation

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vanman2024/multilead-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server