项目简介

这是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供通过流行的 JobSpy 库访问 LinkedIn 职位搜索和详情的功能。它允许支持 MCP 的 LLM (大型语言模型) 客户端通过标准化的协议调用这些功能,获取最新的招聘信息作为其上下文。

主要功能点

  • 职位搜索工具: 允许 LLM 根据关键词、地点、距离、是否远程、职位类型等多种条件在 LinkedIn 上搜索相关职位,并可限制结果数量。
  • 职位详情工具: 允许 LLM 根据特定职位 ID 获取该职位的详细描述和其他信息。
  • 上下文服务: 作为 LLM 应用的上下文提供者,通过标准 MCP JSON-RPC 协议与客户端进行通信。
  • 多传输协议支持: 支持 Stdios(标准输入输出)以及可能的网络传输协议(如 SSE)。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/happyhackerbird/jobspy-mcp-server.git
    cd jobspy-mcp-server
  2. 安装依赖: 确保您已安装 Python 3。然后使用 pip 安装所需的库:
    pip install -r requirements.txt
    (注:仓库内容中未提供 'requirements.txt' 文件,但根据 'src/server.py' 的导入,主要依赖是 'fastmcp' 和 'jobspy'。用户可能需要手动执行 'pip install fastmcp jobspy'。)

服务器配置

此 MCP 服务器是为 MCP 客户端(通常是 LLM 运行时或框架)设计的。客户端需要配置如何启动并连接到此服务器。典型的客户端配置会包含以下信息:

  • 服务器名称 (server name): 用于标识此服务器,例如 'linkedin-jobspy'。
  • 启动命令 (command): 客户端执行此命令来启动服务器进程。对于此项目,通常是运行 Python 模块的命令,例如 'python -m src.server'。
  • 命令参数 (args): 客户端会向启动命令传递参数。此服务器需要接收 '--transport' 参数以知晓客户端使用的传输协议(如 'stdio')。如果使用网络协议,客户端还会传递 '--port' 参数。

示例客户端配置描述 (非实际配置代码):

客户端配置中会指定启动命令为 'python -m src.server',并包含参数列表,其中会包含 '--transport' 选项,其值由客户端框架根据连接方式自动填充(例如 'stdio'),如果需要网络连接,还会包含 '--port' 选项,其值同样由客户端分配。

基本使用方法

LLM 客户端一旦通过 MCP 协议与此服务器建立连接,即可发现并调用服务器暴露的工具。

  1. 调用 'search_jobs' 工具: LLM 客户端发送一个 MCP 请求,调用 'search_jobs' 工具,并提供搜索词、地点、是否远程等参数。服务器执行 JobSpy 搜索,并将结果(职位列表)通过 MCP 响应返回给客户端。
  2. 调用 'get_job_details' 工具: 如果需要获取某个职位的详细信息,LLM 客户端可以发送 MCP 请求调用 'get_job_details' 工具,并提供从 'search_jobs' 结果中获取的职位 ID。服务器获取详情并通过 MCP 响应返回。

整个交互过程完全通过 MCP JSON-RPC 消息完成,LLM 无需了解 JobSpy 的内部实现细节。

信息

分类

网页与API