MCP-Server

linkedin-buying-signals

com.getcleed/linkedin-buying-signals
Marketing & Werbung Vertrieb & CRM Social Media Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Finds and analyzes LinkedIn prospects with buying signals, manages lead records and drafts or sends personalized email and LinkedIn outreach.

add_leads_from_urls
Add leads from LinkedIn URLs
Save LinkedIn profiles as prospects and enrich them (name, role, company, industry, location, language). Skips anyone already saved. Counts against the import quota.
Eingabeschema
{'type': 'object', 'required': ['linkedinUrls'], 'properties': {'listId': {'type': 'string', 'description': 'Optional list to add them to (see get_icp for list ids)'}, 'linkedinUrls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'LinkedIn profile URLs'}}, 'additionalProperties': False}
analyze_prospects
Analyze prospects
Run the signal pipeline on prospects: enrich anyone missing company data, read their recent LinkedIn activity, and detect buying signals. Every signal kept must quote its source verbatim. Counts against the monthly analysis quota. Slow: expect up to a few minutes.
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'description': 'Cap when prospectIds is omitted'}, 'prospectIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Which prospects to analyze; omit to take those with no signals yet'}}, 'additionalProperties': False}
create_custom_signal
Create a custom signal
Teach the account a new buying signal to look for, described in plain language (for example "people complaining their onboarding takes too long"). Future analyses and sourcing will use it.
Eingabeschema
{'type': 'object', 'required': ['name', 'detects'], 'properties': {'name': {'type': 'string', 'description': 'Short display name'}, 'detects': {'type': 'string', 'description': 'What to look for, in plain language'}, 'exampleTitle': {'type': 'string'}, 'exampleDetail': {'type': 'string'}}, 'additionalProperties': False}
draft_email
Draft an email
Write a personalised email for a prospect, built from their detected signals, in their language. Saves the draft on the prospect and returns it. Does not send.
Eingabeschema
{'type': 'object', 'properties': {'language': {'enum': ['english', 'french'], 'type': 'string'}, 'prospectId': {'type': 'string'}, 'regenerate': {'type': 'boolean', 'default': False, 'description': 'Ignore any cached draft'}, 'linkedinUrl': {'type': 'string'}, 'signalIndex': {'type': 'integer', 'default': 0, 'description': 'Which signal to lead with'}}, 'additionalProperties': False}
draft_linkedin_message
Draft a LinkedIn message
Write a short LinkedIn connection note for a prospect from their detected signals, in their language. Saves the draft and returns it. Does not send.
Eingabeschema
{'type': 'object', 'properties': {'language': {'enum': ['english', 'french'], 'type': 'string'}, 'prospectId': {'type': 'string'}, 'regenerate': {'type': 'boolean', 'default': False}, 'linkedinUrl': {'type': 'string'}}, 'additionalProperties': False}
find_leads_from_signals
Find new leads from signal topics
Search recent LinkedIn posts on the topics of this account's own signal definitions, keep only posts a check can prove are on topic, and return the people who wrote, commented on or reacted to them, filtered against the ICP (role, industry, country) and ranked. Nothing is saved: pass the returned candidates to import_sourced_leads. Spends a little of the monthly sourcing budget.
Eingabeschema
{'type': 'object', 'properties': {'signalType': {'type': 'string', 'description': 'Which signal to source for; omit to use the first enabled one (see list_signals)'}, 'postsPerSignal': {'type': 'integer', 'default': 3}}, 'additionalProperties': False}
get_icp
Get the ideal customer profile
The active ICP: target roles, industries, countries, company sizes, relevant keywords and any exclusions. This is what sourcing and scoring filter against.
Nur Lesen
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_pipeline_stats
Pipeline stats
How the pipeline stands: how many prospects, how many carry signals, enrichment state, how many have an email address, how many were contacted, what was added in the last 7 days, the most common signal types, and the remaining plan quota.
Nur Lesen
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_prospect
Get one prospect
Everything known about one prospect: role, company, location, language, every detected signal with the verbatim quote from its source and the LinkedIn URL it came from, any existing email or LinkedIn draft, and outreach state.
Nur Lesen
Eingabeschema
{'type': 'object', 'properties': {'prospectId': {'type': 'string', 'description': 'The prospect id from list_prospects'}, 'linkedinUrl': {'type': 'string', 'description': 'Their LinkedIn profile URL, if the id is unknown'}}, 'additionalProperties': False}
import_sourced_leads
Import sourced leads
Save candidates returned by find_leads_from_signals. They arrive already enriched and with the signal attached, including the verbatim quote from the post that surfaced them. Counts against the import quota.
Eingabeschema
{'type': 'object', 'required': ['signalType', 'tokens'], 'properties': {'listId': {'type': 'string'}, 'tokens': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The token values of the candidates to import'}, 'signalType': {'type': 'string', 'description': 'The signalType returned by find_leads_from_signals'}}, 'additionalProperties': False}
list_prospects
List prospects
Search the saved prospects in the account. Filter by company, industry, job title, country, signal type, minimum number of signals, whether an email address is known, enrichment state, or whether they have been contacted. Ordered by signal count, then most recently saved.
Nur Lesen
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'description': 'How many to return (max 50)'}, 'title': {'type': 'string', 'description': 'Job title contains this text'}, 'offset': {'type': 'integer', 'default': 0}, 'search': {'type': 'string', 'description': 'Free text matched against first name, last name, company and title'}, 'company': {'type': 'string'}, 'country': {'type': 'string'}, 'hasEmail': {'type': 'boolean'}, 'industry': {'type': 'string'}, 'minSignals': {'type': 'integer', 'description': 'Only prospects with at least this many signals'}, 'signalType': {'type': 'string', 'description': 'Only prospects carrying a signal of this type (see list_signals)'}, 'notContacted': {'type': 'boolean', 'description': 'Only prospects with no email sent yet'}, 'enrichmentStatus': {'enum': ['pending', 'enriched', 'failed'], 'type': 'string'}}, 'additionalProperties': False}
list_signals
List signal definitions
The buying signals this account looks for: the predefined ones and the custom ones, each with the definition used to detect it and whether it is enabled. Use the returned type values with list_prospects and find_leads_from_signals.
Nur Lesen
Eingabeschema
{'type': 'object', 'properties': {'enabledOnly': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}
mark_email_sent
Mark as contacted
Record that a prospect was emailed outside getcleed, so reporting and follow-ups stay correct.
Eingabeschema
{'type': 'object', 'properties': {'prospectId': {'type': 'string'}, 'linkedinUrl': {'type': 'string'}}, 'additionalProperties': False}
send_email
Send an email
Send an email to a prospect from the connected mailbox. This reaches a real person immediately and cannot be undone. Pass the subject and body you want sent, or omit them to send the saved draft. Requires a mailbox connected in getcleed under Integrations.
Destruktiv
Eingabeschema
{'type': 'object', 'properties': {'body': {'type': 'string', 'description': 'Omit to use the saved draft'}, 'subject': {'type': 'string', 'description': 'Omit to use the saved draft'}, 'prospectId': {'type': 'string'}, 'linkedinUrl': {'type': 'string'}}, 'additionalProperties': False}
send_linkedin_message
Send a LinkedIn connection request
Send a LinkedIn connection request with a note to a prospect from the connected LinkedIn account. This reaches a real person immediately and cannot be undone. Pass the note you want sent, or omit it to use the saved draft. Requires LinkedIn connected in getcleed under Integrations.
Destruktiv
Eingabeschema
{'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'The note, max 300 characters. Omit to use the saved draft'}, 'prospectId': {'type': 'string'}, 'linkedinUrl': {'type': 'string'}}, 'additionalProperties': False}
Hinzugefügt
create_custom_signal
26. September 2026 02:40
Hinzugefügt
mark_email_sent
26. September 2026 02:40
Hinzugefügt
send_linkedin_message
26. September 2026 02:40
Hinzugefügt
send_email
26. September 2026 02:40
Hinzugefügt
draft_linkedin_message
26. September 2026 02:40
Hinzugefügt
draft_email
26. September 2026 02:40
Hinzugefügt
analyze_prospects
26. September 2026 02:40
Hinzugefügt
import_sourced_leads
26. September 2026 02:40
Hinzugefügt
find_leads_from_signals
26. September 2026 02:40
Hinzugefügt
add_leads_from_urls
26. September 2026 02:40
Hinzugefügt
get_icp
26. September 2026 02:40
Hinzugefügt
list_signals
26. September 2026 02:40
Hinzugefügt
get_pipeline_stats
26. September 2026 02:40
Hinzugefügt
get_prospect
26. September 2026 02:40
Hinzugefügt
list_prospects
26. September 2026 02:40