LinkedIn prospect intelligence inside Claude — MCP server + 8 skills that research people, companies and comment threads, draft outreach, and learn what gets replies.
概要
Insaight scrapes public LinkedIn data via Apify, stores it in local SQLite, and hands it to Claude through an MCP server and eight skills. Data flows in once, then stays on your machine — repeat questions hit SQLite, not Apify. uv and Python 3.11+. The plugin runs the MCP server with uvx, so without uv the tools never load. Restart Claude Code and say "research Anthropic on LinkedIn". The plugin registers the MCP server and installs all eight skills; there is nothing to clone. On the very first run, uvx builds the server before it answers — give it a few seconds. If the insaight tools never appear, check that uv is on your PATH. Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude): Restart Claude Desktop, then add the skills under , selecting the SKILL.md files from this repo's skills/ directory. A checkout with a data/ directory uses it as INSAIGHT_HOME, keeping the dev database inside the repo (gitignored).
README
insaight
LinkedIn prospect intelligence inside Claude — it automates the research, not the outreach.
Insaight scrapes public LinkedIn data via Apify, stores it in local SQLite, and hands it to Claude through an MCP server and eight skills. Data flows in once, then stays on your machine — repeat questions hit SQLite, not Apify.
Architecture
graph LR
C["Claude Code / Desktop8 skills"] -->|MCP| S["insaight server18 tools"]
S --> DB[("SQLite~/.insaight/posts.db")]
S --> M["memory/style.md · playbook.md"]
S -->|fresh scrapes only| A["ApifyLinkedIn actors"]
Install in 30 seconds
Prerequisite: uv and Python 3.11+. The plugin runs the MCP server with uvx, so without uv the tools never load.
curl -LsSf https://astral.sh/uv/install.sh | sh # skip if you already have uv
Then, in Claude Code:
/plugin marketplace add spirosbax/insaight
/plugin install insaight@insaight
Add your Apify token (free tier works):
mkdir -p ~/.insaight && echo "APIFY_API_TOKEN=apify_api_..." >> ~/.insaight/.env
Restart Claude Code and say “research Anthropic on LinkedIn”. The plugin registers the MCP server and installs all eight skills; there is nothing to clone.
On the very first run,
uvxbuilds the server before it answers — give it a few seconds. If the insaight tools never appear, check thatuvis on yourPATH.
Skills
Eight skills that chain conversationally — each one’s output feeds the next. They are plain Markdown with YAML frontmatter: easy to read, fork, and customize.
| Skill | One line |
|---|---|
| research-person | Intelligence brief on an individual: themes, decision-maker signals, outreach hooks, uncommon commonalities |
| research-company | Company analysis from company posts + up to 3 C-level executives’ posts, with a prospect score |
| research-post | Mine a post’s comment thread for warm leads, decision-makers, and competitor mentions |
| draft-outreach | Cold DM + email, two variants each, using prior research + your learned style memory |
| draft-post | LinkedIn post in your company’s voice, styled on your own past posts (URL-to-post supported) |
| track-outreach | Log sends and outcomes in the local ledger (“I sent it”, “she replied”, “mark as ghosted”) |
| reflect | Analyze outcomes, propose evidence-backed memory updates — applied only on your approval |
| save-notion | Persist research briefs to your configured Notion page (optional, needs the Notion MCP) |
prospecting research company → draft outreach → save to Notion
person-first research person → draft outreach
qualification research company → read the prospect evaluation → pursue or pass
The memory loop
draft → send → "I sent it" → logged (log_outreach)
→ "she replied" / "ghosted" → outcome recorded (record_outcome)
→ every N outcomes → reflection proposed (default 10; REFLECT_EVERY)
→ you approve → style.md + playbook.md updated
Outcomes are logged because you say so — Insaight never reads your inbox. Every playbook claim carries its evidence (“question hooks: 4/9 replied vs statement hooks: 1/8”), and below n=10 a pattern is a hypothesis, not a rule. Nothing is written to memory without your approval. The ledger also powers prior-contact warnings (“you messaged this person 3 weeks ago — ghosted”) whenever you research or draft.
Data, privacy & terms
Everything stays local: posts, people, the outreach ledger, and learned memory live in SQLite and Markdown on your machine, and nothing is sent anywhere except your own Apify/Anthropic/Notion accounts. No inbox access — outcomes exist because you reported them. Insaight fetches public LinkedIn data through third-party Apify actors; automated collection may conflict with LinkedIn’s Terms of Service, and you are responsible for how you use this tool. Keep volumes reasonable and respect the people behind the profiles.
License
インストール
uvx --from git+https://github.com/spirosbax/insaight insaight設定
{
"mcpServers": {
"insaight": {
"command": "uvx",
"args": ["--from", "git+https://github.com/spirosbax/insaight", "insaight"],
"env": { "APIFY_API_TOKEN": "apify_api_..." }
}
}
}