A powerful Model Context Protocol (MCP) server for interacting with Base.vn Hiring API to manage recruitment workflows, candidate data, and interview schedules.
- Job Description (JD): Retrieve job descriptions and opening details ("Tra cứu").
- Candidate Listing: Search, filter, and list candidates ("Sàng lọc diện rộng").
- Deep Dive: Retrieve detailed candidate information including CV text and reviews ("Chi tiết & Phân tích sâu").
- Interview Scheduling: Manage and query interview schedules ("Lịch trình").
- Offer Management: Extract offer letters ("Giai đoạn Offer").
- Smart Search: Cosine similarity-based fuzzy matching for openings and candidates.
- Context Awareness: Built with FastMCP Context for enhanced logging and dependency injection.
- Python 3.10+
- Base.vn API access
- Base Account API key (optional, for user information enriched reviews)
- Clone the repository:
git clone https://github.com/FOX2920/Ehiring-MCP.git
cd Ehiring-MCP- Install dependencies:
pip install -r requirements.txt- Create a
.envfile in the project root:
# Required - Base Ehiring Platform Key
BASE_API_KEY=your_base_api_key_here
# Optional - For enriched reviewer info (names/titles)
ACCOUNT_API_KEY=your_account_api_key# Debug/Dev mode
python server.py
# Production mode with FastMCP
fastmcp run server.pyThe server will start on port 8000 (HTTP transport).
See tool_guide.md for detailed validation rules and scenarios.
Intent: Use when you need to understand the role requirements, skills, or benefits. DO NOT use this to find candidates.
- Inputs:
opening_name_or_id(optional).
Intent: Use for BROAD SCREENING. Returns a list of candidates. Ideal for filtering by date (start_date, end_date) or stage (stage_name).
- Inputs:
opening_name_or_id(Required), filters.
Intent: Use for DEEP DIVE analysis. Use this when you already have a specific candidate in mind (ID or Name) and need their full profile, CV text, and detailed reviews.
- Inputs:
candidate_idOR (opening_name_or_id+candidate_name).
Intent: Use for checking the CALENDAR or schedule. Who is interviewing when?
- Inputs:
date(specific day) or range.
Intent: Use only during the OFFER/CLOSING stage to retrieve offer documents.
- Inputs:
candidate_idOR ID/Name pair.
| Variable | Required | Description |
|---|---|---|
BASE_API_KEY |
✅ Yes | Access token of the Base Ehiring platform in Base.vn |
ACCOUNT_API_KEY |
Access token of the Base Account platform (for reviewer names) |
This project uses FastMCP for its server implementation.
server.py: Main entry point.tool_guide.md: Detailed tool documentation.context.md: Guide on FastMCP Context usage.