Go2Clock MCP by usefulapi

Read clock records, timesheets and rotas; change employees and rotas, add clock records in Go2Clock.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
83%
Naming quality
78%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'go2clock_list_clock_records_range' name length outside 3-30 rangein go2clock_list_clock_records_range

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,185Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (1.71% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "go2clock": {
      "url": "https://go2clock.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://go2clock.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢go2clock_list_users

List every clock user with id, name, department, shift, payroll number and manager flag. Clock PINs are removed. Go2Clock API: POST /api/users/.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢go2clock_list_employees

List employee details: contact, department, trade, pay rates, roles, start and termination dates. Go2Clock API: POST /api/employees/.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢go2clock_list_clock_records(punch_date)

List every clocking record (punch) for one date. Go2Clock API: POST /api/punches/ with punch_date.

Input Schema

{
  "type": "object",
  "properties": {
    "punch_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date to read, yyyy-mm-dd."
    }
  },
  "required": [
    "punch_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢go2clock_list_clock_records_range(start_date, end_date, userid)

List clocking records between two dates, optionally for one employee. Keep the range to 7 days or fewer per call; Go2Clock advises against larger pulls. Go2Clock API: POST /api/punches_range/.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First date, yyyy-mm-dd."
    },
    "end_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last date, yyyy-mm-dd."
    },
    "userid": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Employee ID (userid), numeric."
    }
  },
  "required": [
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢go2clock_get_timesheet_csv(start_date, nodays, dept, userid)

Generate the timesheet report as CSV for up to 7 days, optionally for one department or one employee. Returns the CSV text. Go2Clock API: POST /api/timesheet_csv_v1.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day of the report, yyyy-mm-dd."
    },
    "nodays": {
      "type": "integer",
      "minimum": 1,
      "maximum": 7,
      "description": "Number of days, 1 to 7."
    },
    "dept": {
      "description": "Department name to filter by (default: all departments).",
      "type": "string"
    },
    "userid": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Employee ID (userid), numeric."
    }
  },
  "required": [
    "start_date",
    "nodays"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢go2clock_get_rota(userid, start_date, end_date)

Read an employee's rota (shift schedule) between two dates: shift name, colour and planned hours per day. Go2Clock API: GET /api/employee_rota.

Input Schema

{
  "type": "object",
  "properties": {
    "userid": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Employee ID (userid), numeric."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First date, yyyy-mm-dd."
    },
    "end_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last date, yyyy-mm-dd."
    }
  },
  "required": [
    "userid",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴go2clock_update_employee(userid, name, email, mobilenumber, deptname, ...)

Change some details of one existing employee. Send only the fields to change. Go2Clock API: PUT /api/employee_update. Does not change sign-in passwords or roles.

Input Schema

{
  "type": "object",
  "properties": {
    "userid": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Employee ID (userid), numeric."
    },
    "name": {
      "type": "string",
      "maxLength": 255
    },
    "email": {
      "type": "string",
      "maxLength": 100
    },
    "mobilenumber": {
      "type": "string",
      "maxLength": 20
    },
    "deptname": {
      "type": "string",
      "maxLength": 255
    },
    "tradename": {
      "type": "string",
      "maxLength": 255
    },
    "payrollno": {
      "type": "string",
      "maxLength": 50
    },
    "payrate": {
      "type": [
        "string",
        "number"
      ]
    },
    "hourlypay": {
      "type": [
        "string",
        "number"
      ]
    },
    "max_hours_week": {
      "type": [
        "string",
        "number"
      ]
    },
    "max_hours_day": {
      "type": [
        "string",
        "number"
      ]
    },
    "holiday_total_allowed": {
      "type": [
        "string",
        "number"
      ]
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "termination_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "termination_reason": {
      "type": "string"
    },
    "home_phone": {
      "type": "string"
    },
    "home_address": {
      "type": "string"
    },
    "peoplehr_employeeid": {
      "type": "string"
    },
    "sagehr_employeeno": {
      "type": "string"
    }
  },
  "required": [
    "userid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴go2clock_upload_employees(employees)

Upload a list of employees (new or changed). Go2Clock keys each record on userid. Sends a JSON array. Go2Clock API: PUT /api/employees/. Does not set passwords or roles.

Input Schema

{
  "type": "object",
  "properties": {
    "employees": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "userid": {
            "type": "string",
            "pattern": "^\\d+$",
            "description": "Employee ID (userid), numeric."
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "email": {
            "type": "string",
            "maxLength": 100
          },
          "mobilenumber": {
            "type": "string",
            "maxLength": 20
          },
          "deptname": {
            "type": "string",
            "maxLength": 255
          },
          "tradename": {
            "type": "string",
            "maxLength": 255
          },
          "payrollno": {
            "type": "string",
            "maxLength": 50
          },
          "peoplehr_employeeid": {
            "type": "string"
          },
          "shiftmon": {
            "type": "string",
            "maxLength": 255
          },
          "shifttue": {
            "type": "string",
            "maxLength": 255
          },
          "shiftwed": {
            "type": "string",
            "maxLength": 255
          },
          "shiftthu": {
            "type": "string",
            "maxLength": 255
          },
          "shiftfri": {
            "type": "string",
            "maxLength": 255
          },
          "shiftsat": {
            "type": "string",
            "maxLength": 255
          },
          "shiftsun": {
            "type": "string",
            "maxLength": 255
          },
          "start_date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "termination_date": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "userid",
          "name"
        ]
      },
      "description": "Employees to create or update."
    }
  },
  "required": [
    "employees"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴go2clock_upload_clock_record(userid, checktime, checktype, sensorid, worktype, ...)

Add one clocking record (punch) for an employee. Go2Clock refuses a duplicate record. Go2Clock API: PUT /api/punches/.

Input Schema

{
  "type": "object",
  "properties": {
    "userid": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Employee ID (userid), numeric."
    },
    "checktime": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$",
      "description": "When the employee clocked, yyyy-mm-ddThh:mm:ss."
    },
    "checktype": {
      "description": "0 = in, 1 = out, or another number your instance uses.",
      "type": [
        "string",
        "number"
      ]
    },
    "sensorid": {
      "type": [
        "string",
        "number"
      ]
    },
    "worktype": {
      "description": "Job code number.",
      "type": [
        "string",
        "number"
      ]
    },
    "latitude": {
      "type": [
        "string",
        "number"
      ]
    },
    "longitude": {
      "type": [
        "string",
        "number"
      ]
    },
    "eventdescription": {
      "type": "string"
    },
    "deviceserial": {
      "type": "string"
    }
  },
  "required": [
    "userid",
    "checktime",
    "checktype"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴go2clock_create_rota(userid, start_date, shift_name, nodays)

Put a named shift on an employee's rota for one or more days from a start date. An existing rota entry on the same date is replaced. The shift name must match a shift in Go2Clock's shift settings. Go2Clock API: POST /api/employee_rota.

Input Schema

{
  "type": "object",
  "properties": {
    "userid": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Employee ID (userid), numeric."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day of the shift, yyyy-mm-dd."
    },
    "shift_name": {
      "type": "string",
      "minLength": 1,
      "description": "Shift name exactly as set in Go2Clock shift settings."
    },
    "nodays": {
      "description": "Consecutive days from the start date (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "userid",
    "start_date",
    "shift_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools