linkedin-prospection-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROSPECTION_DIR | No | Path to prospection scripts directory | ./lib/prospection |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| find_leadsA | Search LinkedIn for leads posting about burnout, stress, or exhaustion. Uses Playwright to scrape LinkedIn posts matching burnout keywords. Requires an active LinkedIn session (run setup-session first). |
| score_leadA | Score a LinkedIn lead based on fit (ICP match), intent (burnout signals), and urgency (crisis markers). Returns priority P1-P4 and recommended offer. |
| qualify_leadsA | Score and qualify all unscored leads from the latest search. Uses the rule-based scoring engine (fit + intent + urgency). |
| personalize_messageA | Generate a personalized LinkedIn invitation note or DM for a specific lead. Returns a message ready to copy-paste (max 200 chars for invitations, longer for DMs). |
| run_pipelineA | Trigger the full daily prospection pipeline: find leads → send invitations → check acceptances → send DMs. Uses the daily-orchestrator.js script. Can skip lead search with skip_leads=true. |
| get_pipeline_statusA | Get the current state of your LinkedIn prospection pipeline: lead counts by status, invitations sent, DMs sent, acceptance rates, and next actions. |
| manage_leadA | Update a lead's status in the pipeline. Use this to mark leads as contacted, replied, not_interested, or to add notes. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| daily_prospection | Guided daily prospection workflow for LinkedIn lead generation |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| daily-log | Current day's LinkedIn prospection data: leads, invitations, DMs, statuses |
| leads | All leads discovered from LinkedIn search (latest batch) |
TDQS
Scored across 7 tools
Tools are generally distinct, though `qualify_leads` and `score_lead` serve similar scoring functions (batch vs. individual). The `personalize_message` tool generates content without sending, which could be confused with messaging actions embedded in `run_pipeline`, but descriptions clarify this adequately.
All tools follow a consistent verb_noun pattern in snake_case (find_leads, manage_lead, run_pipeline, etc.). The vocabulary is domain-appropriate and predictable throughout the set.
Seven tools is appropriate for a LinkedIn prospecting domain, falling within the ideal range. Slight redundancy exists between individual (`score_lead`) and batch (`qualify_leads`) scoring operations, but each earns its place for different workflow patterns.
Notable gaps exist: no `get_lead` or `list_leads` to read individual pipeline entries, and no standalone `send_invitation` or `send_dm` tool (sending only available through the automated `run_pipeline`). Agents can work around these using `get_pipeline_status` and `run_pipeline`, but granular control is missing.