Metadata-Version: 2.4
Name: linkedhelper-mcp
Version: 0.1.0
Summary: MCP Server for LinkedHelper 2 – read campaigns, leads and chat history from the local SQLite database
Author-email: Nguyen Van Huan <nguyen.van.huan@sun-asterisk.com>
License: MIT
Project-URL: Homepage, https://github.com/nguyenvanhuan243/linkedhelper-mcp
Project-URL: Bug Tracker, https://github.com/nguyenvanhuan243/linkedhelper-mcp/issues
Keywords: mcp,linkedhelper,linkedin,claude,ai,sales
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Communications
Classifier: Topic :: Office/Business
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: mcp[cli]>=1.0.0
Requires-Dist: python-dotenv>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0.0; extra == "dev"

# linkedhelper-mcp

MCP Server that gives Claude read-only access to your [LinkedHelper 2](https://linkedhelper.com) local database — campaigns, leads, chat history and more.

## Prerequisites

- [LinkedHelper 2](https://linkedhelper.com) installed and opened at least once
- [Claude Desktop](https://claude.ai/download)

## Installation (Claude Desktop)

Open Claude Desktop → **Settings → Developer → Edit Config** and add:

```json
{
  "mcpServers": {
    "linkedhelper": {
      "command": "uvx",
      "args": ["linkedhelper-mcp"],
      "env": {
        "LH_DEFAULT_ACCOUNT_EMAIL": "your-linkedin@email.com"
      }
    }
  }
}
```

Save the file, then **restart Claude Desktop**. That's it — no Python install required.

> `LH_DEFAULT_ACCOUNT_EMAIL` is optional. If you only have one LinkedHelper account, you can omit the `env` block entirely.

## Available Tools

| Tool | Description |
|------|-------------|
| `lh_get_accounts` | List all LinkedHelper accounts on this machine |
| `lh_get_campaigns` | List campaigns (active or including archived) |
| `lh_get_campaign_detail` | Campaign details: actions, total leads |
| `lh_get_campaign_leads` | Leads in a campaign, with reply filter |
| `lh_get_chat_history` | Chat threads with outbound/inbound direction |
| `lh_get_person_detail` | Full profile: email, location, company, tags, notes |
| `lh_search_people` | Search leads by name or headline |
| `lh_get_action_results` | Action execution results per campaign |

## Example prompts for Claude

- *"Show me all active campaigns"*
- *"Who replied to the Outreach campaign?"*
- *"Give me full details for person ID 42"*
- *"Search for people with CTO in their headline"*
- *"Show my chat history with Nguyen Huan"*

## Configuration

Environment variables (all optional):

| Variable | Description |
|----------|-------------|
| `LH_DEFAULT_ACCOUNT_EMAIL` | Email of the LinkedIn account to use by default |
| `LH_BASE_DIR` | Override LinkedHelper data directory (if installed in a custom path) |

LinkedHelper data is stored at:
- **Linux/macOS**: `~/.config/linked-helper/` / `~/Library/Application Support/linked-helper/`
- **Windows**: `%APPDATA%\linked-helper\`

## License

MIT
