HR MCP Server
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 MCP ServerShow me the organizational chart for the Engineering 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 Server
An HR MCP Server built with FastMCP that exposes employee directory, profile, salary, and PII data through scope-based authorization.
Scopes
Scope | Description |
| Access non-PII employee data (name, department, job title, office, etc.) |
| Update employee records |
| Access PII / sensitive data (salary, address, tax info, bank details, etc.) |
Scope mapping to tools
Tool | Required Scopes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| (any authenticated user) |
Related MCP server: HR Assistant Agent
Setup
pip install fastmcpRunning
# STDIO mode (for MCP clients)
python server.py
# Or via FastMCP CLI
fastmcp run server.pyMock Data
The server ships with 7 mock employees across departments (Engineering, Data Science, HR, Finance, Operations, Executive). All data is in-memory via hr_data.py.
Deploying to Azure Container Apps
Prerequisites
Azure CLI (
az) installed and logged inDocker installed
An existing Azure Container Registry (ACR)
An existing Container App Environment
1. Build and push the Docker image
.\build-and-push.ps1 -AcrName <your-acr-name>This builds the image and pushes it as <your-acr-name>.azurecr.io/hr-mcp-server:latest.
2. Deploy the Container App
az deployment group create `
--resource-group <your-rg> `
--template-file infra/container-app.bicep `
--parameters `
environmentId="/subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.App/managedEnvironments/<env-name>" `
acrLoginServer="<your-acr-name>.azurecr.io" `
appInsightsConnectionString="<optional-connection-string>"The Bicep template (infra/container-app.bicep) creates a Container App with:
External ingress on port 8000
System-assigned managed identity for ACR pull
Application Insights telemetry (optional)
3. Grant ACR pull permissions
After deployment, assign the AcrPull role to the Container App's managed identity:
# Get the principal ID from the deployment output
$principalId = (az containerapp show --name hr-mcp-server --resource-group <your-rg> --query identity.principalId -o tsv)
az role assignment create `
--assignee $principalId `
--role AcrPull `
--scope /subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.ContainerRegistry/registries/<your-acr-name>4. Restart the Container App
After the role assignment propagates, restart to pull the image with the managed identity:
az containerapp revision restart --name hr-mcp-server --resource-group <your-rg>This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/anevjes/demo-hr-mcp-hack'
If you have feedback or need assistance with the MCP directory API, please join our Discord server