recruitment-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@recruitment-mcp-serverfind current job openings at Tesla"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Recruitment Big Data Service
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_searchto 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_analysisselects details or statistics viaview, accessing only one Product ID per call.The outer business layer of paginated results only contains
totalandresultList, with a maximumpageSizeof 50.Long lists in profiles and statistics are limited via
listLimit, with a default of 50 and a maximum of 200.recruitment_trendonly 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-server2. Create a virtual environment and install dependencies
python3 -m venv mcp_env
source mcp_env/bin/activate
pip install -r requirements.txt3. Configure environment variables
Copy the environment variable template:
cp .env.example .envEdit the .env file:
INTEGRATOR_ID=your_integrator_id
SECRET_ID=your_secret_id
SECRET_KEY=your_secret_key
HANDAAS_REQUEST_TIMEOUT=30HANDAAS_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-httpThe service's default address is http://localhost:8000/mcp.
You can also use the startup script:
./start_mcp_server.sh streamable-httpSupports 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 |
| Query enterprises by abbreviation, brand, or product keywords |
|
| Enterprise recruitment job details |
|
| Enterprise recruitment profile and statistics |
|
|
|
|
|
|
|
| Job salary range details |
|
| Recruitment count, last-three-month statistics, update frequency, and average salary |
|
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, supportingname,nameId,regNumber, andsocialCreditCode.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):detailsfor job details;statisticsfor enterprise statistics. Defaults tostatistics.keywordType(optional): Enterprise identifier type.pageIndex,pageSize(optional): Only used by thedetailsview;pageSizehas a maximum of 50.listLimit(optional): Only used by thestatisticsview, 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
Enterprise identification: Confirm the full enterprise name and stable identifier via abbreviation or brand keywords.
Talent demand research: View the positions and talent directions the target enterprise is currently hiring for.
Employer analysis: Understand the enterprise's recruitment cities, benefits, job keywords, and recruitment activity.
Salary comparison: Compare salary ranges across different enterprises or positions.
Recruitment trend assessment: Analyze the current and last-three-month recruitment scale and average update frequency.
Competitive intelligence: Infer the direction of enterprise business expansion from changes in recruitment demand.
Usage Notes
Abbreviation handling: When an enterprise abbreviation cannot be queried directly, first call
recruitment_enterprise_search.Enterprise identifier: After confirming a candidate, it is recommended to use the enterprise ID or unified social credit code.
Pagination limits:
pageIndexstarts from 1, andpageSizemust be between 1 and 50.List limits:
listLimitmust be between 1 and 200.View selection: Use
view=detailswhen you need job records; useview=statisticswhen you need aggregated profiles.Trend scope:
recruitment_trendis a current and last-three-month overview, not a month-by-month time series.
Example Usage Queries
recruitment_enterprise_search (Enterprise keyword search)
Which enterprise does "Xiaomi" correspond to?
Find the exact enterprise name and enterprise ID via "JD.com".
recruitment_job_search (Recruitment job retrieval)
What positions is Xiaomi Technology Co., Ltd. currently recruiting for?
Query the latest recruitment positions at Beijing JD Century Trading Co., Ltd.
recruitment_employer_profile (Employer recruitment profile)
Analyze the recruitment cities, benefits, and job profile of Xiaomi Technology Co., Ltd.
What is the average recruitment salary at Gree Electric Appliances, Inc. of Zhuhai?
recruitment_demand_analysis (Recruitment demand analysis)
Summarize the talent demand structure of a certain enterprise.
List the specific position requirements of the target enterprise.
recruitment_salary (Job salary query)
View the salary ranges of recruitment positions at Xiaomi Technology Co., Ltd.
What is the job salary level at Gree Electric Appliances, Inc. of Zhuhai?
recruitment_trend (Recruitment trend overview)
What is the current recruitment activity and last-three-month trend of Xiaomi Technology Co., Ltd.?
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 -vUnit tests use Mock HTTP responses and do not call the real HandaaS recruitment API.
This server cannot be deployed
Maintenance
Related MCP Connectors
Query professional profiles, search candidates, and get AI-powered summaries and job fit analysis.
Tech job market intelligence: jobs, companies, salaries, skill velocity, hiring trends.
Search job postings, companies, and technology stacks across 10M+ companies.
Talent discovery for AI. Search and read agent-readable candidate profiles; cite by URL.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides job search, local resume parsing, and resume-to-job matching via official APIs and local file processing.5MIT
- FlicenseNot gradedqualityCmaintenanceEnables querying real disclosed salary data across 20 regions, with tools to search jobs, retrieve salary statistics, and find similar roles.-
- AlicenseAqualityBmaintenanceEnables searching live job postings, aggregating labour-market slices, and reporting how long listings have been open, with filters for titles, location, salary, and more.4301 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables 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.-