HR MCP
Click on "Install 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., "@HR MCPShow headcount by department"
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.
HR MCP — HR Analytics MCP Server
A small, extensible MCP server that exposes an
HR analytics database (hr_db) to Claude / any MCP client. Ask questions in plain
English; the client reads the schema, writes SQL, and runs it.
This is the base layer — two foundational tools that make every HR question answerable today, plus a structure built for adding more tools tomorrow.
What's in the database
hr_db (MySQL 8.4, AWS RDS) — loaded from excel_files/ by load_data.py:
Table | Grain | Rows |
| one per employee (the hub) | 100 |
| employee × month | 540 |
| employee × month | 540 |
| employee × review period | 100 |
| one exit event per employee | 12 |
All five link to employees.employee_id; employees.reporting_manager_id
self-references for the org chart. Every join/filter/group column is indexed.
Related MCP server: MCP MySQL Server
Tools
Tool | Purpose |
| Returns the full schema, join keys, and data pitfalls. Call once. |
| Runs a read-only |
Together these answer anything — headcount, attrition by department, salary trends, attendance vs. performance, org hierarchy, etc.
Setup
pip install -r requirements.txt # or reuse an existing venv that has `mcp`
cp .env.example .env # then fill in DB creds (see below).env:
DB_HOST=<rds-endpoint>
DB_USER=<user>
DB_PASSWORD=<password>
DB_NAME=hr_db
DB_PORT=3306Load / reload the data
python load_data.pyIdempotent — creates hr_db if needed, drops & recreates the 5 tables, and
reloads them from excel_files/.
Run the server
python server.py # stdio — for Claude Desktop
python -m mcp dev server.py # dev inspector — browser testingClaude Desktop config
{
"mcpServers": {
"hr": {
"command": "C:/path/to/python.exe",
"args": ["C:/Users/sathv/Desktop/HR_MCP/server.py"]
}
}
}Project layout
HR_MCP/
├── excel_files/ source spreadsheets (system of record for load_data.py)
├── load_data.py Excel -> hr_db loader (idempotent)
├── config.py loads .env, builds the shared SQLAlchemy engine
├── adapters/
│ └── query.py schema text + run_query() (SELECT-only, serialisation, logging)
├── tools/
│ └── query.py get_db_schema + run_db_query (registered on the server)
├── server.py FastMCP server; registers tool groups
└── requirements.txtAdding a new tool (the "tomorrow" path)
The server is built so new capabilities slot in without touching existing code:
Business logic → add a function in
adapters/(or a new adapter module) that callsadapters.query.run_query(...)orconfig.enginedirectly.Expose it → create
tools/<name>.py:from mcp.server.fastmcp import FastMCP import adapters.mymodule as _adapter def register(mcp: FastMCP) -> None: @mcp.tool() def my_tool(arg: str) -> dict: """One-line description the model reads to decide when to call this.""" return _adapter.do_something(arg)Wire it → in
server.py,from tools import <name>and call<name>.register(mcp).
Ideas for the next layer: get_hr_dashboard (headcount / attrition / payroll
KPIs), generate_excel_report, attrition_risk scoring, a dim_date +
month_date upgrade for faster time-series, and enforced foreign keys.
Making queries faster
Every common filter/join/group column is already indexed (see
load_data.py).Results are capped at 500 rows to keep payloads small.
Add composite indexes for specific hot query shapes as they emerge, e.g.
INDEX (department, month)patterns via a covering table/view.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceProvides comprehensive database management tools for PostgreSQL, MySQL, and SQLite databases. Enables querying table structures, executing read-only and write queries, exporting DDL statements, and managing database metadata through natural language.8MIT
- AlicenseAqualityCmaintenanceEnables read-only MySQL database connectivity, allowing execution of SELECT queries, listing tables, and describing table structures via natural language.327MIT
- AlicenseBqualityCmaintenanceEnables Claude, Cursor, and other MCP clients to query PeopleForce HRIS data (employees, time-off, recruitment) via 27 read-only tools.283MIT
- Flicense-qualityCmaintenanceEnables Cursor AI to query a local MySQL HR database in natural language using read-only SQL tools.
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
Run SOQL queries to explore and retrieve Salesforce data. Access accounts, contacts, opportunities…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sathvik1607/MCP_AI_FORGE'
If you have feedback or need assistance with the MCP directory API, please join our Discord server