Skip to main content
Glama
handaas

recruitment-mcp-server

by handaas

Recruitment Big Data Service

This MCP service provides enterprise keyword search, job retrieval, employer recruitment profiling, talent demand, job salary, and recruitment trend analysis capabilities, helping users conduct talent market research, employer analysis, and recruitment decisions.

Main Features

  • 🏢 Enterprise abbreviation and keyword search

  • 🔍 Enterprise recruitment job retrieval

  • 🏢 Employer recruitment profile analysis

  • 👥 Enterprise talent demand analysis

  • 💰 Recruitment job salary query

  • 📈 Enterprise recruitment trend overview

Related MCP server: PayHub MCP Server

Service Design Notes

  • The service provides 6 Tools based on actual business scenarios, rather than mapping tools one-to-one to upstream APIs.

  • When users only provide an enterprise abbreviation, first use recruitment_enterprise_search to obtain the full enterprise name or stable ID.

  • The two Product IDs for recruitment details and recruitment statistics are reused by Tools in different scenarios.

  • recruitment_demand_analysis selects details or statistics via view, accessing only one Product ID per call.

  • The outer business layer of paginated results only contains total and resultList, with a maximum pageSize of 50.

  • Long lists in profiles and statistics are limited via listLimit, with a default of 50 and a maximum of 200.

  • recruitment_trend only returns recruitment count, last-three-month statistics, update frequency, and average salary, avoiding duplicate long profile lists.

Environment Requirements

  • Python 3.10+

  • Dependencies: python-dotenv, requests, mcp

Local Quick Start

1. Enter the project directory

cd recruitment-mcp-server

2. Create a virtual environment and install dependencies

python3 -m venv mcp_env
source mcp_env/bin/activate
pip install -r requirements.txt

3. Configure environment variables

Copy the environment variable template:

cp .env.example .env

Edit the .env file:

INTEGRATOR_ID=your_integrator_id
SECRET_ID=your_secret_id
SECRET_KEY=your_secret_key
HANDAAS_REQUEST_TIMEOUT=30

HANDAAS_REQUEST_TIMEOUT is an optional configuration, in seconds, with a default value of 30.

4. Start the Streamable HTTP service

python server/mcp_server.py streamable-http

The service's default address is http://localhost:8000/mcp.

You can also use the startup script:

./start_mcp_server.sh streamable-http

Supports three startup modes: stdio, sse, and streamable-http.

5. Cursor / Cherry Studio MCP configuration

{
  "mcpServers": {
    "recruitment-mcp-server": {
      "type": "streamableHttp",
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

STDIO Installation and Deployment

Replace {workdir} with the absolute path of recruitment-mcp-server:

{
  "mcpServers": {
    "recruitment-mcp-server": {
      "command": "{workdir}/mcp_env/bin/python",
      "args": [
        "{workdir}/server/mcp_server.py",
        "stdio"
      ]
    }
  }
}

INTEGRATOR_ID, SECRET_ID, and SECRET_KEY are obtained after logging into HandaaS to register and enable the connector. Real credentials should only be stored in the local .env file or in deployment secrets.

Available Tools and Product IDs

MCP Tool

Function or View

Product ID

recruitment_enterprise_search

Query enterprises by abbreviation, brand, or product keywords

675cea1f0e009a9ea37edaa1

recruitment_job_search

Enterprise recruitment job details

66b338e274bf098447db7f09

recruitment_employer_profile

Enterprise recruitment profile and statistics

66b338e274bf098447db7f1b

recruitment_demand_analysis

view=details talent demand details

66b338e274bf098447db7f09

recruitment_demand_analysis

view=statistics talent demand statistics

66b338e274bf098447db7f1b

recruitment_salary

Job salary range details

66b338e274bf098447db7f09

recruitment_trend

Recruitment count, last-three-month statistics, update frequency, and average salary

66b338e274bf098447db7f1b

1. recruitment_enterprise_search

Function: Search for candidate enterprises by enterprise abbreviation, brand, product, or other keywords.

Main parameters: matchKeyword is required; pageIndex defaults to 1; pageSize defaults to 10, with a maximum of 50.

Returns: Candidate enterprises total/resultList. After confirming a candidate, pass the full enterprise name, enterprise ID, or unified social credit code to the recruitment Tool.

2. recruitment_job_search

Function: Query the recruitment job details of a specified enterprise.

Main parameters:

  • matchKeyword (required): Enterprise name, enterprise ID, registration number, or unified social credit code.

  • keywordType (optional): Enterprise identifier type, supporting name, nameId, regNumber, and socialCreditCode.

  • pageIndex (optional): Page number, starting from 1.

  • pageSize (optional): Number of items per page, default 50, maximum 50.

Returns: total and resultList; job details may include fields such as job title, city, education, salary, years of experience, posting time, and work address.

3. recruitment_employer_profile

Function: Query the enterprise recruitment profile, including benefits, recruitment cities, job keywords, and average salary.

Main parameters:

  • matchKeyword (required): Enterprise name, enterprise ID, registration number, or unified social credit code.

  • keywordType (optional): Enterprise identifier type.

  • listLimit (optional): Maximum number of items returned for profile list fields, default 50, maximum 200.

Returns: Enterprise recruitment statistics and profile; returns truncatedFields when list truncation occurs.

4. recruitment_demand_analysis

Function: Analyze enterprise talent demand, with the option of a job details view or an enterprise statistics view.

Main parameters:

  • matchKeyword (required): Enterprise identifier.

  • view (optional): details for job details; statistics for enterprise statistics. Defaults to statistics.

  • keywordType (optional): Enterprise identifier type.

  • pageIndex, pageSize (optional): Only used by the details view; pageSize has a maximum of 50.

  • listLimit (optional): Only used by the statistics view, default 50, maximum 200.

Returns: The details view returns total and resultList; the statistics view returns the enterprise recruitment profile and statistics fields.

5. recruitment_salary

Function: Query the salary range of enterprise recruitment jobs, used for job and talent market salary comparison.

Main parameters:

  • matchKeyword (required): Enterprise name, enterprise ID, registration number, or unified social credit code.

  • keywordType (optional): Enterprise identifier type.

  • pageIndex (optional): Page number, starting from 1.

  • pageSize (optional): Number of items per page, default 50, maximum 50.

Returns: total and resultList; workingSalary may include currency, minimum salary, and maximum salary.

6. recruitment_trend

Function: Query the enterprise recruitment trend overview; it does not return a month-by-month time series.

Main parameters:

  • matchKeyword (required): Enterprise name, enterprise ID, registration number, or unified social credit code.

  • keywordType (optional): Enterprise identifier type.

Returns:

  • recruitingCurrentCount: Current recruitment headcount.

  • recruitingLastThreeMonthCount: Recruitment headcount in the last three months.

  • recruitingLastThreeMonthNo: Number of job positions in the last three months.

  • recruitingAvgUpdate: Average job posting update frequency.

  • recruitingAvgWorkingSalary: Average recruitment salary.

Usage Scenarios

  1. Enterprise identification: Confirm the full enterprise name and stable identifier via abbreviation or brand keywords.

  2. Talent demand research: View the positions and talent directions the target enterprise is currently hiring for.

  3. Employer analysis: Understand the enterprise's recruitment cities, benefits, job keywords, and recruitment activity.

  4. Salary comparison: Compare salary ranges across different enterprises or positions.

  5. Recruitment trend assessment: Analyze the current and last-three-month recruitment scale and average update frequency.

  6. Competitive intelligence: Infer the direction of enterprise business expansion from changes in recruitment demand.

Usage Notes

  1. Abbreviation handling: When an enterprise abbreviation cannot be queried directly, first call recruitment_enterprise_search.

  2. Enterprise identifier: After confirming a candidate, it is recommended to use the enterprise ID or unified social credit code.

  3. Pagination limits: pageIndex starts from 1, and pageSize must be between 1 and 50.

  4. List limits: listLimit must be between 1 and 200.

  5. View selection: Use view=details when you need job records; use view=statistics when you need aggregated profiles.

  6. Trend scope: recruitment_trend is a current and last-three-month overview, not a month-by-month time series.

Example Usage Queries

recruitment_enterprise_search (Enterprise keyword search)

  1. Which enterprise does "Xiaomi" correspond to?

  2. Find the exact enterprise name and enterprise ID via "JD.com".

recruitment_job_search (Recruitment job retrieval)

  1. What positions is Xiaomi Technology Co., Ltd. currently recruiting for?

  2. Query the latest recruitment positions at Beijing JD Century Trading Co., Ltd.

recruitment_employer_profile (Employer recruitment profile)

  1. Analyze the recruitment cities, benefits, and job profile of Xiaomi Technology Co., Ltd.

  2. What is the average recruitment salary at Gree Electric Appliances, Inc. of Zhuhai?

recruitment_demand_analysis (Recruitment demand analysis)

  1. Summarize the talent demand structure of a certain enterprise.

  2. List the specific position requirements of the target enterprise.

recruitment_salary (Job salary query)

  1. View the salary ranges of recruitment positions at Xiaomi Technology Co., Ltd.

  2. What is the job salary level at Gree Electric Appliances, Inc. of Zhuhai?

recruitment_trend (Recruitment trend overview)

  1. What is the current recruitment activity and last-three-month trend of Xiaomi Technology Co., Ltd.?

  2. Query JD.com's recent recruitment headcount, number of positions, and average salary.

Testing and Validation

python -m py_compile server/mcp_server.py
python -m unittest discover -s tests -v

Unit tests use Mock HTTP responses and do not call the real HandaaS recruitment API.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides job search, local resume parsing, and resume-to-job matching via official APIs and local file processing.
    5
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables querying real disclosed salary data across 20 regions, with tools to search jobs, retrieve salary statistics, and find similar roles.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables searching live job postings, aggregating labour-market slices, and reporting how long listings have been open, with filters for titles, location, salary, and more.
    4
    301 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI-powered job search and resume matching with strict skill verification, resume parsing, and configurable user preferences, plus MCP tools for job search, Excel export, and email dispatch.
    -