SmartHire MCP 服务器
使用说明
- 项目简介
- 该仓库实现了一个完整的 MCP 服务器,用以对接 LLM 客户端,提供对招聘领域的资源、工具以及提示模板的统一访问与执行能力。核心通过 MCP 协议处理请求,返回标准的 JSON-RPC 风格响应,并通过中间件实现简单的 MCP Token 验证。
- 主要功能点
- MCP 核心能力:实现 ListTools、Initialize、CallTool 等 MCP 请求处理,向 LLM 客户端提供工具注册、调用以及工具执行结果的原始数据。
- 资源与工具暴露:将候选、职位、匹配、报告等领域的工具对外暴露,支持跨服务调用与数据传输。
- 安全与授权:通过 MCP Token 的简易认证中间件,对进入 /mcp 路径的请求进行鉴权。
- 跨服务集成:与候选服务、职位服务、匹配服务、报告服务、会议服务及邮件通知等微服务建立连接,形成一个端到端的工作流能力链。
- Teams 与格式化输出:为团队协作提供格式化卡片输出的能力,包含候选人、职位、匹配结果等自适应卡片生成逻辑。
- 安装步骤
- 确保运行环境支持 Node/Bun 等 JS 运行时,仓库内已包含必要的依赖与 TypeScript 源码。
- 启动 MCP 服务器(核心实现所在):在合适的运行环境执行启动命令,默认暴露 MCP 服务端点 http://localhost:3003/mcp。
- 启动依赖的微服务:候选服务、职位服务、匹配服务、报告服务、通知服务、S3 处理等,根据 README/代码中的端口与地址逐一启动。
- 服务器配置(MCP 客户端所需信息说明)
注:以下配置信息用于 MCP 客户端连接该 MCP 服务器,描述以 JSON 格式给出,便于理解与落地接入;实际客户端实现中不需要暴露代码块。
- serverName: smart-hire-mcp-server
- command: bun
- args: ["src/index.ts"]
- 说明:使用 Bun 直接执行 TypeScript/JavaScript 入口文件来启动 MCP 服务器。启动后客户端通过向 /mcp 路径发送初始化、工具调用等请求来交互。
- 端口与环境(示意):
- 端口: 3003
- MCP 路径: /mcp
- 需要的鉴权头部: Authorization: Bearer <your-mcp-token>
- 注释:由于 MCP 客户端本身通常只需要点对点地对接该服务器以获取工具清单和执行结果,上述信息仅用于帮助理解如何启动与连接服务端。实际接入时,请根据具体部署环境调整端口、证书、代理等参数。
- 基本使用方法
- 客户端通过 MCP 协议向服务器发送以下三类请求:
- ListTools/Initialize:获取可用工具清单与服务器信息。
- CallTool:基于工具名称与参数执行具体操作,服务器返回工具执行结果或需要审批的卡片信息。
- 其他后续扩展请求:如按需扩展的资源查询、提示模板获取等。
- 常见工作流示例(由 MCP 客户端触发):
- 初始化:获取可用工具及能力声明。
- 调用工具:传入 tool 名称与输入参数,服务器调用内部服务并返回结果。
- 跨服务协调:服务器通过内部路由与其他微服务通信,完成如创建职位、匹配、生成报告等工作流。
- 客户端通过 MCP 协议向服务器发送以下三类请求: