Vysync Developer Platform & Model Context Protocol

API & MCP Server Documentation

Connect enterprise AI agents, Claude Desktop, custom GPTs, and automated workflows securely to Vysync HRMS. Featuring dual-transport MCP (Direct JSON-RPC & Stateful SSE), OAuth 2.0 with PKCE, granular scopes, and tenant isolation.

MCP

Model Context Protocol (MCP) Server

Vysync HRMS implements the official Model Context Protocol (2024-11-05 specification), enabling AI assistants to inspect authorized workforce directory data, attendance, leaves, recruitment pipelines, and onboarding status without direct database access.

Direct JSON-RPC Transport

Ideal for custom GPTs, Cursor, Postman, and backend scripts using standard POST /mcp requests with immediate JSON responses.

Stateful SSE Transport

Native streaming channel for Claude Desktop and MCP Inspector via GET /mcp + POST /mcp?sessionId=<hex>.

Claude Desktop Integration

claude_desktop_config.json

Claude Desktop connects to the Vysync remote MCP server using Server-Sent Events. Because claude_desktop_config.json executes local subprocesses, connect using the official mcp-remote bridge or Claude Desktop Connectors:

Claude Desktop (claude_desktop_config.json via mcp-remote)json
{
  "mcpServers": {
    "vysync-hrms": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://hrms.vysync.com/mcp",
        "--header",
        "Authorization:Bearer ${AUTH_TOKEN}"
      ],
      "env": {
        "AUTH_TOKEN": "vsk_live_0123456789abcdef0123456789abcdef"
      }
    }
  }
}
Transport Architecture: The mcp-remote bridge opens a persistent SSE connection to GET /mcp, receives the active sessionId from the server's initial endpoint event, routes Claude's tool calls to POST /mcp?sessionId=<hex>, and pipes streaming responses back to Claude via stdio.

Implemented MCP Tools (10 Verified)

Every tool below is strictly bounded by tenant isolation and required API scopes. Read and write actions are distinctly separated.

search_employeesREAD
Scope: employees.read

Search and filter employees in your company workspace by query string, department, or lifecycle status.

Invocation Examplejson
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_employees",
    "arguments": {
      "query": "Alice",
      "department": "Engineering",
      "status": "Active",
      "page": 1,
      "limit": 10
    }
  }
}
get_employee_detailsREAD
Scope: employees.read

Retrieve full profile information for an employee by integer ID. Sensitive fields (PAN, Aadhaar, bank details, salary) require employees.sensitive.read.

Invocation Examplejson
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_employee_details",
    "arguments": {
      "employee_id": 42
    }
  }
}
list_departmentsREAD
Scope: departments.read

List all company departments, team structures, and active employee headcounts.

get_attendance_summaryREAD
Scope: attendance.read

Retrieve daily workforce attendance telemetry including present count, late check-ins, and pending regularizations.

get_leave_balances_and_requestsREAD
Scope: leave.read

Inspect active leave balances and pending time-off approval requests.

request_leaveWRITE
Scope: leave.request

Restricted Write Tool: Submit a time-off or vacation request on behalf of an authorized employee.

Write Invocation Examplejson
{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "tools/call",
  "params": {
    "name": "request_leave",
    "arguments": {
      "employee_id": 42,
      "leave_type": "Casual Leave",
      "start_date": "2026-11-01",
      "end_date": "2026-11-03",
      "days_count": 3.0,
      "reason": "Family engagement"
    }
  }
}
get_recruitment_overviewREAD
Scope: recruitment.read

Inspect open job requisitions, candidate pipeline status, and AI screening rankings.

get_onboarding_statusREAD
Scope: onboarding.read

Retrieve onboarding progress and orientation task milestones for newly hired candidates.

create_onboarding_taskWRITE
Scope: onboarding.task.create

Restricted Write Tool: Add a checklist item or task for a candidate in onboarding.

Write Invocation Examplejson
{
  "jsonrpc": "2.0",
  "id": 9,
  "method": "tools/call",
  "params": {
    "name": "create_onboarding_task",
    "arguments": {
      "candidate_id": 105,
      "task_title": "Submit Form 16 and Address Proof",
      "assigned_to_role": "Employee"
    }
  }
}
get_salary_structure_overviewREAD
Scope: salary_structure.read

Inspect organizational pay bands and compensation components. Note: Arbitrary payroll disbursements and financial account modification are strictly prohibited.

POST/mcp

Direct stateless JSON-RPC over HTTP. Send requests with your API key or OAuth Bearer token. Returns HTTP 200 OK immediately with the JSON-RPC response body.

Direct MCP Call via cURLbash
curl -X POST https://hrms.vysync.com/mcp \
  -H "Authorization: Bearer vsk_live_0123456789abcdef0123456789abcdef" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list",
    "params": {}
  }'
Get Started Today

Ready to Transform Your Hiring?

Join the ranks of forward-thinking enterprises that have redefined their recruitment process with ResumeAI. Screen 100 resumes in 4 minutes with forensic accuracy.