Planday logoMCP server · People and HR

Planday MCP server

Planday in any MCP client, through Memtro: Planday does not publish this server. Memtro's Planday connector reads Planday through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.

What the model can do

Planday staff scheduling: shifts by date, department, employee, group and status, employees by name with their departments and groups, departments, employee groups, positions, shift types and absence requests; when you ask, can create, assign or unassign, approve, publish and delete shifts, approve or deny absence requests, punch an employee in or out, and create, invite, deactivate or reactivate employees.

Reads

  • planday_list_shiftsPlanday shifts between two dates: date, start and end, status, department, employee, employee group, position and shift type ids…
  • planday_list_employeesActive Planday employees: id, name, departments, primary department, employee groups, supervisor and employee type.
  • planday_list_departmentsPlanday departments: id, name and number.
  • planday_list_employee_groupsPlanday employee groups (the roles shifts are planned for, such as Bartender or Chef): id and name.
  • planday_list_positionsPlanday schedule positions: id, name, department, section, employee group, active and their date range.
  • planday_list_shift_typesPlanday shift types (for example Normal, Sick, Training): id, name, whether active, whether breaks apply and whether employees may book them.
  • planday_list_absence_requestsPlanday absence (time-off) requests: employee, status (Submitted, Approved, Declined, Cancelled), the period and the absence accounts asked for.

Acts, when you ask

These change something in Planday. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.

  • planday_create_shiftCreates a shift in a Planday department for an employee group on a date, optionally assigned to an employee…
  • planday_assign_shiftAssigns a Planday shift to the employee given, or with employee_id null makes it an open shift that nobody holds…
  • planday_approve_shiftApproves a Planday shift for payroll processing, so its hours feed the employee's pay.
  • planday_publish_draft_shiftsPublishes the draft shifts given in a Planday department, making them visible to employees, who may be notified.
  • planday_delete_shiftDeletes a Planday shift; the employee holding it loses it from their schedule.
  • planday_approve_absenceApproves a Planday absence request, drawing on the employee's absence balance.
  • planday_deny_absenceDenies a pending Planday absence request; notify emails the employee with the reason.
  • planday_punch_inPunches a Planday employee in on their current or next shift, now or at the time given, creating a time record that feeds their pay.
  • planday_punch_outPunches a Planday employee out of their open punch-clock record, now or at the time given; the hours feed their pay.
  • planday_create_employeeCreates an employee in Planday in the departments given.
  • planday_invite_employeeSends a Planday employee an invitation email with a link to set their password.
  • planday_deactivate_employeeDeactivates a Planday employee's access, at once or after last_active_date.
  • planday_reactivate_employeeReactivates a deactivated Planday employee at once, restoring their access.

Connect it

First connect Planday on Dashboard → Connections, then add Memtro to your client once. The Planday tools appear alongside the tools of everything else you have connected; nothing is configured per connector.

Claude Code

The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.

claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...

Cursor

Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.

{
  "mcpServers": {
    "memtro": {
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Claude Desktop

Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…

OpenCode

A remote server in opencode.json.

{
  "mcp": {
    "memtro": {
      "type": "remote",
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Pi

One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.

Any other client

Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.

Who may use it

The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Planday connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.

Ask it like this

  • › Who is working in the kitchen this Saturday?
  • › Which shifts next week are still open?
  • › Which absence requests are waiting for a decision?
  • › Which employees are in the bar staff group?
  • › Approve Maya Okafor's absence request for next Friday.

Questions

Is this an official Planday MCP server?
No. It is Memtro's MCP server with Memtro's Planday connector behind it: the connector reads Planday through its API with the credentials you connect on Dashboard → Connections, and Planday publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
What does it cost?
Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
Can it change anything in Planday?
Only when you ask, and only what it has been granted: create a shift; assign a shift to an employee, or make it open; approve a shift for payroll; publish draft shifts so employees see them; delete a shift; approve an absence request; deny an absence request; punch an employee in; punch an employee out; create an employee; send an employee their Planday invitation; deactivate an employee; reactivate an employee. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
Which clients work?
Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.

Other MCP servers · People and HR

Where agents remember your company

Sign in, add a provider key, create an API key and point your tools at Memtro. It takes about five minutes.

7-day free trial · card on file, nothing charged until it ends · cancel any time