Skip to main content
Glama
AvolveAi

Prosp MCP Server

by AvolveAi
README.md
# Prosp MCP Server

MCP server for [Prosp.ai](https://prosp.ai) LinkedIn outreach automation. Manage leads, campaigns, messaging, and analytics programmatically via the Model Context Protocol.

## Tools (17)

### Leads (8 tools)
| Tool | Description | Type |
|------|-------------|------|
| `add_lead` | Add a lead to a contact list and campaign | write |
| `add_lead_to_list` | Add a lead to a contact list only | write |
| `add_existing_lead_to_campaign` | Add an existing lead to a campaign | write |
| `remove_lead_from_campaign` | Remove a lead from a campaign | destructive |
| `delete_lead` | Permanently delete a lead from workspace | destructive |
| `get_leads_in_campaign` | Get all leads in a campaign | read-only |
| `get_lead_stage` | Get current stage of a lead in a campaign | read-only |
| `check_api_key` | Verify API key and connectivity | read-only |

### Campaigns (5 tools)
| Tool | Description | Type |
|------|-------------|------|
| `get_all_campaigns` | List all campaigns in workspace | read-only |
| `get_campaign_status` | Get status of a campaign | read-only |
| `start_campaign` | Start a campaign | write |
| `stop_campaign` | Stop a running campaign | destructive |
| `get_analytics` | Get analytics for campaign or workspace | read-only |

### Messaging (3 tools)
| Tool | Description | Type |
|------|-------------|------|
| `send_message` | Send a LinkedIn message to a profile | write |
| `send_voice_message` | Send a LinkedIn voice message | write |
| `get_conversation` | Get conversation history with a lead | read-only |

### System (1 tool)
| Tool | Description | Type |
|------|-------------|------|
| `get_server_info` | Server version, config, loaded tools | read-only |

## Setup

### Environment Variable

```bash
export PROSP_API_KEY="your-api-key-here"
```

Get your API key from [Prosp Settings](https://prosp.ai/settings).

### Claude Desktop / Claude Code

Add to your MCP config:

```json
{
  "mcpServers": {
    "prosp": {
      "command": "prosp-mcp",
      "env": {
        "PROSP_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

### Lazy Loading

Load only specific tool categories via `TOOL_CATEGORIES`:

```json
{
  "mcpServers": {
    "prosp": {
      "command": "prosp-mcp",
      "env": {
        "PROSP_API_KEY": "your-api-key-here",
        "TOOL_CATEGORIES": "leads,campaigns"
      }
    }
  }
}
```

Available categories: `leads`, `campaigns`, `messaging`

## Install

```bash
pip install prosp-mcp
```

Or from source:

```bash
git clone https://github.com/AvolveAi/prosp-mcp.git
cd prosp-mcp
pip install -e .
```

## Development

```bash
pip install -e ".[dev]"
pytest tests/
```

## API Coverage

Wraps the Prosp API v1 endpoints:

| Endpoint | Tool |
|----------|------|
| `POST /api/v1/leads` | `add_lead` |
| `POST /api/v1/leads/list` | `add_lead_to_list` |
| `POST /api/v1/leads/campaign` | `add_existing_lead_to_campaign` |
| `POST /api/v1/leads/campaign/remove` | `remove_lead_from_campaign` |
| `POST /api/v1/leads/delete` | `delete_lead` |
| `POST /api/v1/leads/campaign/list` | `get_leads_in_campaign` |
| `POST /api/v1/leads/stage` | `get_lead_stage` |
| `POST /api/v1/campaigns` | `get_all_campaigns` |
| `POST /api/v1/campaigns/status` | `get_campaign_status` |
| `POST /api/v1/campaigns/start` | `start_campaign` |
| `POST /api/v1/campaigns/stop` | `stop_campaign` |
| `POST /api/v1/analytics` | `get_analytics` |
| `POST /api/v1/messages/send` | `send_message` |
| `POST /api/v1/messages/voice` | `send_voice_message` |
| `POST /api/v1/conversations` | `get_conversation` |

> **Note:** Endpoint paths are inferred from Prosp's API documentation and Zapier/Make.com integration. Some paths may need adjustment once the full OpenAPI spec is available.

## License

MIT

TDQS

A3.6/5.0

Scored across 17 tools

Disambiguation4/5

Most tools target distinct resources and actions, but the add_lead, add_lead_to_list, and add_existing_lead_to_campaign trio could cause confusion since they all relate to lead/campaign assignment. The descriptions help clarify the differences, and send_message vs send_voice_message are clearly separated.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern with clear actions like get_, add_, remove_, delete_, start_, stop_, and send_. Minor variations like check_api_key instead of get_api_status do not break the overall predictability.

Tool Count4/5

17 tools is slightly above the typical 3-15 sweet spot, but the count is justified by the mix of campaign management, lead lifecycle, messaging, and server information tools. There is no obvious bloat or redundancy.

Completeness3/5

The server covers lead management, campaign assignment and status flows, sending messages, and viewing conversations. However, there is no campaign creation/update/delete, no contact list management beyond adding leads, and no direct lead detail retrieval, leaving notable administrative gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues