MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

用 HR 招聘流程自动化评估和筛选市场上的 MCP 工具/API/Agent/Skill 候选方案。

Created 5/20/2026
Updated about 8 hours ago
Repository documentation and setup instructions

MCP Recruiter — 技术方案招聘系统

用 HR 招聘流程自动化评估和筛选市场上的 MCP 工具/API/Agent/Skill 候选方案。

你的需求 → 交互式 TUI → 海选 → 初试 → 笔试(沙盒) → 终面报告 → 推荐决策

概念

| HR 环节 | 系统阶段 | 做什么 | |---------|---------|--------| | JD 发布 | 需求定义 | 通过交互式 TUI 描述你的需求,自动生成结构化职位描述 | | 海选 | Sea Selection | 从 GitHub / npm / MCP Hub 多源搜索,生成标准化简历 | | 初试 | Screening | 硬性条件过滤 + 三维度加权打分,选出 Top N | | 笔试 | Written Test | Docker/子进程沙盒中执行测试用例,记录延迟和质量 | | 终面 | Final Report | 复合评分 → 排名表 → 雷达图 → HTML 报告 → 录用建议 |

快速开始

安装

# Python >= 3.11
git clone https://github.com/<your-org>/mcp-recruiter.git
cd mcp-recruiter
pip install -e .

# 可选:沙盒测试依赖 (Docker)
pip install -e ".[sandbox]"

使用

方式一:交互式创建 + 一键运行

# 自动引导创建 JD,然后运行全流程
mcp-recruiter run

方式二:使用已有 JD 文件运行

mcp-recruiter run -j examples/job_description_demo.yaml --skip-test

方式三:分阶段执行

mcp-recruiter create-job -o my_jd.yaml    # 只创建 JD
mcp-recruiter run -j my_jd.yaml --skip-test # 使用该 JD 运行

完整参数

mcp-recruiter run \
  --job examples/job_description.yaml \  # JD 文件(可选,不提供则交互创建)
  --query "filesystem search" \           # 搜索关键词
  --config config.yaml \                  # 配置文件
  --skip-test                             # 跳过沙盒测试

编写 JD(职位描述)

JD 文件是 YAML 格式。通过 mcp-recruiter create-job 交互生成,也可以手写:

title: "文件系统 MCP 服务器"

problem_statement: >
  需要一个提供文件读写和搜索能力的 MCP 服务器

required_capabilities:
  - "file"
  - "search"
  - "filesystem"

hard_requirements:
  min_stars: 5
  max_days_since_update: 180
  min_tool_count: 2
  require_license: true

scoring_weights:
  preset: balanced   # balanced | perf_first | community_first | quick_scan

top_n_candidates: 5

test_scenarios:
  - name: "基本功能验证"
    test_cases:
      - name: "列举工具"
        mcp_tool_name: "tools/list"
        expected_behavior: "no_error"

项目结构

mcp-recruiter/
├── pyproject.toml                     # 项目元数据和依赖
├── src/mcp_recruiter/
│   ├── main.py                        # 入口
│   ├── cli/
│   │   ├── pipeline.py                # CLI 命令 + 全流程编排
│   │   └── interactive.py             # 交互式 JD 创建 TUI
│   ├── core/                          # 数据模型、状态机、持久化
│   │   ├── models.py                  # Pydantic 模型 (JD/Resume/ScoreCard)
│   │   ├── enums.py                   # 枚举
│   │   ├── state.py                   # 阶段状态机
│   │   ├── store.py                   # JSON 持久化
│   │   └── config.py                  # 配置加载
│   ├── registry/                      # 海选 — 多源搜索
│   │   ├── github_source.py           # GitHub API
│   │   ├── npm_source.py              # npm registry
│   │   ├── mcp_hub_source.py          # MCP Hub 社区索引
│   │   ├── aggregator.py              # 聚合 + 去重
│   │   └── cache.py                   # TTL 缓存
│   ├── screening/                     # 初试 — 筛选
│   │   ├── hard_filter.py             # 硬性条件过滤
│   │   ├── soft_scorer.py             # 软性加权打分
│   │   └── resume_builder.py          # 简历生成
│   ├── sandbox/                       # 笔试 — 沙盒测试
│   │   ├── manager.py                 # 子进程 + Docker 管理
│   │   ├── test_runner.py             # 测试编排
│   │   ├── scenario_loader.py         # 场景加载
│   │   └── capture.py                 # 结果采集
│   ├── scoring/                       # 评分引擎
│   │   ├── engine.py                  # 复合评分 + 排名
│   │   ├── factors.py                 # 评分因子
│   │   ├── normalizers.py             # 归一化器
│   │   └── weights.py                 # 权重预设
│   ├── reporting/                     # 报告输出
│   │   ├── terminal_render.py         # Rich 终端报告
│   │   ├── html_render.py             # HTML + Chart.js
│   │   └── templates/                 # Jinja2 模板
│   └── extensions/                    # 扩展点
│       ├── base.py                    # CandidateType 抽象接口
│       ├── mcp_tool.py                # MCP Tool 处理器
│       └── registry.py                # 类型注册中心
├── examples/
│   ├── job_description.yaml           # 严格版样例 JD
│   ├── job_description_demo.yaml      # 演示版样例 JD
│   └── test_scenario.yaml             # 独立测试场景
└── reports/                           # 生成的 HTML 报告

评分算法

四维评分

composite = w_cap * capability + w_health * health + w_eco * ecosystem + w_test * test_score

| 维度 | 因子 | 数据来源 | |------|------|---------| | 能力 | 工具数量、能力匹配度 (Jaccard)、资源数 | Resume | | 健康 | Stars、Issue 比例、更新频率、贡献者数 | GitHub | | 生态 | 依赖项目数、文档质量、周下载量 | npm / GitHub | | 测试 | 成功率、P95 延迟、输出质量 | 沙盒执行 |

权重预设

| 预设 | 能力 | 健康 | 生态 | 测试 | 适用场景 | |------|------|------|------|------|---------| | balanced | 25% | 25% | 25% | 25% | 综合评估 | | perf_first | 20% | 15% | 15% | 50% | 性能优先 | | community_first | 20% | 30% | 30% | 20% | 社区长期维护考量 | | quick_scan | 60% | 10% | 20% | 10% | 海选阶段快速筛选 |

扩展

支持新的候选类型

实现 CandidateTypeHandler 抽象接口,通过 Python entry point 注册:

# my_plugin/agent_handler.py
from mcp_recruiter.extensions.base import CandidateTypeHandler

class AgentHandler(CandidateTypeHandler):
    @property
    def candidate_type(self) -> CandidateType:
        return CandidateType.AGENT

    def build_resume(self, raw_metadata: dict) -> Resume:
        # ... 自定义简历生成逻辑

未来计划支持的类型:API、Agent、Skill。

自定义评分因子

通过 mcp_recruiter.scoring_factors entry point 注册自定义评分维度。

技术栈

| 类别 | 库 | |------|---| | CLI | Typer + Rich | | 数据模型 | Pydantic v2 | | HTTP | httpx | | 沙盒 | subprocess / Docker SDK (可选) | | 模板 | Jinja2 | | 持久化 | JSON (内建) / SQLite (可选) | | 测试 | pytest |

License

MIT

Quick Setup
Installation guide for this server

Install Package (if required)

uvx mcp-recruiter

Cursor configuration (mcp.json)

{ "mcpServers": { "mycatqiezi-mcp-recruiter": { "command": "uvx", "args": [ "mcp-recruiter" ] } } }