mcpField
L
Linkedin Posts Hunter Mcp Server

Linkedin Posts Hunter Mcp Server

本地服务
github.com/kevin-weitgenantAI 与智能体756 周前更新

关于 Linkedin Posts Hunter Mcp Server

Linkedin Posts Hunter Mcp Server 是用于搜索和跟踪 LinkedIn 招聘帖的 MCP 服务,面向求职者。它将浏览器搜索、本地 SQLite 存储与 React 看板结合,支持通过 MCP 客户端或界面管理帖子。

主要功能

  1. 01按关键词搜索 LinkedIn 帖子
  2. 02在本地保存帖子和跟踪数据
  3. 03筛选、更新和删除已保存帖子
  4. 04通过 React 看板查看帖子
  5. 05跟踪已申请和待查看机会

适用场景

  1. 01查找 LinkedIn 帖子中的招聘机会
  2. 02查看并筛选收集到的帖子
  3. 03标记已申请的机会
  4. 04通过 MCP 客户端或看板管理帖子

MCP 相关

提供六种工具,用于 LinkedIn 身份验证、帖子搜索与管理、看板筛选和查看器控制。MCP 客户端可调用这些工具操作本地数据和看板。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

埼玉求职

LinkedIn 帖子猎手 MCP 服务

借助 AI 助手,自动搜索和跟踪 LinkedIn 招聘帖子

MCP TypeScript Playwright React Express Vite TailwindCSS


在 Ko-fi 上支持我


📖 概述

LinkedIn Posts Hunter MCP 是一个模型上下文协议(MCP)服务,可通过你的 AI 助手(Claude Desktop、Cursor 或其他兼容 MCP 的客户端)提供工具,用于自动搜索和管理 LinkedIn 招聘帖子。

为什么关注 LinkedIn 帖子? 招聘机会往往会先出现在 LinkedIn 帖子中,然后才会发布到传统招聘网站上。关注 LinkedIn 帖子,你就能更早发现机会,在求职过程中抢占先机。

工作原理:

1. 身份验证与抓取

  • MCP 服务提供一个基于 Playwright 的工具,你的 AI 助手可以调用它,自动执行与 LinkedIn 交互的浏览器操作
  • 首次使用时,需要在浏览器窗口中登录 LinkedIn,以获取会话 Cookie
  • 这些 Cookie 会保存在你的本地计算机上,以便持续进行身份验证
  • 完成身份验证后,你的 AI 助手可以使用关键词调用搜索工具(关键词可以来自对话,也可以由 AI 推荐),以抓取招聘帖子

2. 本地数据存储

  • 所有抓取的帖子都会保存到你计算机上的本地 SQLite 数据库
  • 数据库会存储帖子内容、元数据(作者、日期、互动指标)以及跟踪信息(你是否已申请)
  • 你的数据不会离开计算机

3. 可视化界面

  • 另一个工具会启动一个 React 仪表板,用于呈现本地数据库中的抓取帖子
  • 在表格视图或卡片视图中查看所有抓取的帖子,包括个人资料图片和互动指标
  • 直接在 UI 中将帖子标记为“已申请”或“稍后保存”,以跟踪申请
  • 快捷操作让你能够轻松点击筛选、排序和管理帖子
  • 在 React 应用中所做的更改会写入本地数据库;通过 MCP 命令所做的更改也会反映在 UI 中。

4. 双重控制

  • 你可以通过 React UI 或 MCP 工具(如 manage_posts 和 viewer_filters)来管理帖子
  • React 应用通过轮询更新,因此通过 MCP 命令所做的更改会反映在 UI 中
  • 这为你提供了灵活性:可以用自然语言向 AI 助手下达命令,也可以在仪表板中点击操作

🎬 视频演示

https://github.com/user-attachments/assets/93f32db4-9ecf-4438-889f-ebe95b5b17e9

📹 观看操作演示

观看从身份验证到帖子管理的完整工作流


🎨 示意图
LinkedIn MCP 架构图

展示组件及其交互方式的系统架构


🛠️ 可用工具

此 MCP 服务提供 6 个工具,可通过你的 AI 助手调用:

1. auth

管理 LinkedIn 身份验证,并持久化存储会话。

参数:

  • action:「"authenticate"」|「"status"」|「"clear"」
  • force_reauth:布尔值(可选)

用法:

"Authenticate my LinkedIn account"
"Check LinkedIn auth status"
"Clear my LinkedIn credentials"
2. search_posts

根据关键词搜索 LinkedIn 帖子,并将结果保存到数据库。

参数:

  • keywords:字符串(例如,「Python developer remote」)
  • pagination:数字(1-10,默认值:3)
  • headless:布尔值(默认值:false)- 显示浏览器窗口(默认值:false)

用法:

"Search LinkedIn for 'AI engineer' jobs"
"Find posts about 'React developer' with 5 pages"
3. manage_posts

通过高级筛选读取、更新或删除数据库中的帖子。

参数:

  • action:「"read"」|「"update"」|「"delete"」
  • ids:数字数组(可选)
  • search_text:字符串(可选)
  • date_from:字符串(YYYY-MM-DD,可选)
  • date_to:字符串(YYYY-MM-DD,可选)
  • applied:布尔值(可选)
  • limit:数字(1-50,默认值:10)
  • new_description:字符串(用于更新)
  • new_keywords:字符串(用于更新)
  • new_applied:布尔值(用于更新)

用法:

"Show me posts I haven't applied to yet"
"Delete all posts that arent about job opportunities"
"Delete all posts that are only about senior-level positions"
4. viewer_filters

通过 AI 对话,以编程方式控制 React UI 筛选器。

参数:

  • keyword:字符串(可选)
  • applied_status:「"all"」|「"applied"」|「"not-applied"」(可选)
  • start_date:字符串(YYYY-MM-DD,可选)
  • end_date:字符串(YYYY-MM-DD,可选)
  • ids:字符串(逗号分隔,可选)
  • reset:布尔值(可选)

用法:

"Filter to show only unapplied posts"
"Show posts from this week"
"Reset all filters"
5. start_viewer

在浏览器中启动 React 仪表板。

用法:

"Open the LinkedIn post viewer"
"Start the dashboard"
6. stop_viewer

停止正在运行的 Vite 开发服务器。

用法:

"Close the viewer"
"Stop the dashboard"

📦 安装

前置条件
  • Node.js 18 或更高版本
  • npm(随 Node.js 一同安装)
  • LinkedIn 账号
  • Cursor IDE 或 Claude Desktop

方法 1:使用 mcp.json 配置(推荐)⭐

适用于: Cursor IDE 和 Claude Desktop

这是最可靠且广受支持的安装方法。

  1. 全局安装:

    npm install -g linkedin-posts-hunter-mcp
    
  2. 添加到 MCP 配置中:

    Cursor IDE:

    打开或创建位于以下路径的 mcp.json:

    • macOS/Linux: ~/.cursor/mcp.json
    • Windows: %USERPROFILE%\.cursor\mcp.json(通常为 C:\Users\YourName\.cursor\mcp.json)

    添加以下配置:

    {
      "mcpServers": {
        "linkedin-posts-hunter-mcp": {
          "command": "linkedin-posts-hunter-mcp"
        }
      }
    }
    

    Claude Desktop:

    打开或创建位于以下路径的 claude_desktop_config.json:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    添加以下配置:

    {
      "mcpServers": {
        "linkedin-posts-hunter-mcp": {
          "command": "linkedin-posts-hunter-mcp"
        }
      }
    }
    
  3. 重启 MCP 客户端(Cursor 或 Claude Desktop)

就这么简单!无需克隆代码库或管理本地构建。


方法 2:本地开发环境设置

适用于希望修改代码或参与贡献的开发者:

  1. 克隆并安装依赖项:

    git clone https://github.com/kevin-weitgenant/LinkedIn-Posts-Hunter-MCP-Server.git
    cd LinkedIn-Posts-Hunter-MCP-Server
    npm run install:all
    npm run build
    
  2. 添加到 MCP 配置中:

    Cursor IDE(mcp.json):

    {
      "mcpServers": {
        "linkedin-posts-hunter-mcp": {
          "command": "node",
          "args": [
            "/absolute/path/to/LinkedIn-Posts-Hunter-MCP-Server/build/index.js"
          ],
          "cwd": "/absolute/path/to/LinkedIn-Posts-Hunter-MCP-Server"
        }
      }
    }
    

    Claude Desktop(claude_desktop_config.json):

    {
      "mcpServers": {
        "linkedin-posts-hunter-mcp": {
          "command": "node",
          "args": [
            "/absolute/path/to/LinkedIn-Posts-Hunter-MCP-Server/build/index.js"
          ],
          "cwd": "/absolute/path/to/LinkedIn-Posts-Hunter-MCP-Server"
        }
      }
    }
    

    ⚠️ 重要: 将 /absolute/path/to/LinkedIn-Posts-Hunter-MCP-Server 替换为你的实际项目路径。

  3. 重启 MCP 客户端以加载服务。


🎯 你可以做什么

求职工作流示例
  1. 通过 LinkedIn 进行身份验证:

    User: "Authenticate my LinkedIn account"
    AI: Opens a browser for you to log in, saves credentials
    
  2. 搜索机会:

    User: "Search LinkedIn for 'Senior TypeScript Developer remote' jobs"
    AI: Searches LinkedIn, extracts post details, saves to database
    
  3. 可视化浏览:

    User: "Open the post viewer"
    AI: Launches React dashboard(where you can see the scraped posts) at http://localhost:5174
    
  4. 筛选和管理:

    User: "Remove posts that aren't about job opportunities"
    AI: Reads database, filters and displays only job-related posts
    
    User: "Show only senior-level positions" 
    AI: Queries database for posts containing "senior", "lead", "principal"
    
    User: "Show posts about React or Vue.js positions"
    AI: Searches database and displays matching posts
    
  5. 跟踪申请:

    User: "Mark posts 5, 7, and 12 as applied"
    AI: Updates the database and confirms
    

📁 数据存储位置

所有 LinkedIn 数据都存储在你电脑上的以下目录中:

Windows
  • 主数据目录: %APPDATA%\linkedin-mcp\
macOS/Linux
  • 主数据目录: ~/.linkedin-mcp/
存储内容:
  • linkedin.db - SQLite 数据库,包含所有抓取的帖子、元数据和跟踪数据
  • auth.json - LinkedIn 会话 Cookie 和身份验证令牌
  • searches/ - 搜索会话数据和临时文件
数据隐私:
  • ✅ 所有数据都保留在你的电脑上
  • ✅ 不会向外部服务器发送任何数据
  • ✅ 你可以删除整个 linkedin-mcp 文件夹来移除所有数据
  • ✅ 数据库采用标准 SQLite 格式,可使用任意 SQLite 浏览器打开

🎨 React 仪表板功能

内置的网页查看器(start_viewer)提供:

  • 🔄 实时更新:筛选状态会在 UI 和 MCP 命令之间同步
  • ✅ 快捷操作:直接在 UI 中将帖子标记为已申请
  • 🎴 卡片视图:包含个人资料图片和互动指标的可视化卡片
  • 📊 表格视图:包含所有帖子元数据的可排序列
  • 🔍 筛选:按关键词、日期范围、申请状态和 ID 筛选
  • 💅 现代设计:使用 React、TypeScript、TailwindCSS 和 Vite 构建

📄 许可证

ISC


🤝 参与贡献

欢迎贡献!欢迎提交问题或拉取请求。

🚀 项目状态

这是一个实验性项目,开发得比较仓促。

爬取功能肯定可以优化得更快,UI 也可以改进。

不过就目前而言,它已经有一定的实用价值。

欢迎参与贡献。


评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。