mcp-server-deel
# mcp-server-deel
> Production-quality MCP server for the [Deel](https://www.deel.com) API — global HR, payroll, and contractor management.
[](https://modelcontextprotocol.io)
[](https://www.typescriptlang.org)
[](LICENSE)
## Features
- **48 tools** spanning contracts, workers, payments, invoices, documents, off-cycle payments, time-off, expenses, organizations, and compliance
- Full TypeScript with strict mode — zero `any` casts
- Pagination on every list endpoint
- `structuredContent` on every tool response
- `readOnlyHint: true` on all GET/search/list tools
- Works with Claude Desktop, Cursor, and any MCP-compatible client
## Tool Inventory
| Module | Tools | Count |
|--------|-------|-------|
| contracts | list_contracts, get_contract, create_contract, update_contract, terminate_contract, get_contract_documents | 6 |
| workers | list_workers, get_worker, invite_worker, update_worker, offboard_worker, search_workers | 6 |
| payments | list_payments, get_payment, create_payment, list_payment_methods, get_payment_status | 5 |
| invoices | list_invoices, get_invoice, approve_invoice, decline_invoice, list_invoice_adjustments | 5 |
| documents | list_documents, get_document, sign_document, list_document_templates, get_document_template | 5 |
| off_cycle_payments | list_off_cycle_payments, create_off_cycle_payment, get_off_cycle_payment, approve_off_cycle_payment | 4 |
| time_off | list_time_off_policies, list_time_off_requests, create_time_off_request, approve_time_off_request | 4 |
| expenses | list_expenses, get_expense, create_expense, approve_expense, decline_expense | 5 |
| organizations | get_organization, list_entities, get_entity, list_departments, create_department | 5 |
| compliance | list_compliance_items, get_compliance_status, list_required_documents | 3 |
| **Total** | | **48** |
## Prerequisites
- Node.js 18+
- A Deel account with API access
- A Deel API key (see Setup below)
## Setup
### 1. Get a Deel API Key
1. Log into [Deel](https://app.deel.com)
2. Navigate to **Settings → Integrations → API Tokens**
3. Click **Create Token** and copy the generated key
### 2. Install and Configure
```bash
# Clone the repository
git clone https://github.com/BusyBee3333/deel-mcp-2026-complete.git
cd deel-mcp-2026-complete
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env and set your DEEL_API_KEY
```
### 3. Build
```bash
npm run build
```
### 4. Connect to Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"deel": {
"command": "node",
"args": ["/path/to/deel-mcp-2026-complete/dist/index.js"],
"env": {
"DEEL_API_KEY": "your_api_key_here"
}
}
}
}
```
### 5. Connect to Cursor
Add to `.cursor/mcp.json` in your project:
```json
{
"mcpServers": {
"deel": {
"command": "node",
"args": ["/path/to/deel-mcp-2026-complete/dist/index.js"],
"env": {
"DEEL_API_KEY": "your_api_key_here"
}
}
}
}
```
## Development
```bash
# Run in watch mode (requires tsx)
npm run dev
# Type-check only (no emit)
npm run typecheck
```
## API Reference
This server wraps the [Deel REST API v2](https://developer.deel.com/docs). All requests are authenticated with a Bearer token.
**Base URL:** `https://app.deel.com/api`
## License
MIT
TDQS
Scored across 48 tools
Most tools pair a clear action with a distinct Deel resource, so an agent can usually select correctly. However, the document and payment families contain several similar read/status tools, and get_payment vs get_payment_status can be confused.
All tool names use consistent snake_case verb_noun phrasing (list_/get_/create_/update_/approve_/decline_), with only conventional singular/plural noun variation. No mixed naming conventions are present.
At 48 tools, this exceeds the typical well-scoped range of 3–15 and feels heavy for a single MCP server. While Deel is a broad HR/payroll domain, many tools are partial CRUD sets rather than a tightly curated surface.
Core worker, contract, expense, and payment workflows have create/read/approve coverage, but several resources lack lifecycle operations. Departments, entities, time-off policies, payment methods, and time-off requests have notable missing update/delete/decline or creation operations.