Papershift MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.17.4Updated Nov 7, 2026

Read Papershift absences, vacation, time tracking and shifts; request and review absences.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for Papershift that lets an assistant read absences, vacation, time tracking and shifts, and create or review absences.

What you can do
  • Look up the account, locations, working areas, employees, tags and absence types
  • Read absences, vacation entitlements, availabilities and shift assignments
  • Review worked-time entries, daily evaluations, target hours and payroll entries
  • Plan shifts and assign employees
  • Create absences and confirm, reject or reset absence requests
  • Log and confirm worked-time entries after the fact
When to use it
Useful when an assistant should answer staffing questions such as who is absent next week, how many vacation days an employee has left, or last week's tracked hours, and when it should record absences or plan shifts in Papershift without switching apps.
Requirements
Remote endpoint at papershift.usefulapi.io, added by URL only. Sign-in is via OAuth; the login page asks for Papershift credentials, and on first connect you paste a Papershift API key (Account settings, Account Admin only, API add-on required). No API key or Authorization header goes in the client config.
Before you install
Six tools write to Papershift: creating absences, confirming/rejecting/resetting absence requests, creating and confirming time trackings, creating shifts and assigning employees. These change recorded hours, balances and schedules and typically notify employees. Payroll data is sensitive. The free plan allows 50 tool calls a month; paid plans are billed through Stripe checkout links, and cancelling gives no refund for the current period.

Installation

In SourceWeft

  1. Open Papershift MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fpapershift/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "papershift-by-usefulapi": {
      "type": "http",
      "url": "https://papershift.usefulapi.io/mcp"
    }
  }
}

README

Papershift MCP by usefulapi

Read Papershift absences, vacation, time tracking and shifts; request and review absences.

Live endpoint: https://papershift.usefulapi.io/mcp · Homepage: https://usefulapi.io/papershift

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://papershift.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http papershift https://papershift.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "papershift": {      "url": "https://papershift.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Papershift credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/papershift/

On first connect you'll paste your Papershift API key (Account settings → API; Account Admin only, API add-on required).

Tools

ToolTypeWhat it does
papershift_get_accountreadGet account
papershift_list_locationsreadList locations
papershift_get_locationreadGet location
papershift_list_working_areasreadList working areas
papershift_list_usersreadList employees
papershift_get_userreadGet employee
papershift_list_tagsreadList tags
papershift_list_absence_typesreadList absence types
papershift_list_absencesreadList absences
papershift_get_absencereadGet absence
papershift_list_vacation_entitlementsreadList vacation entitlements
papershift_list_time_trackingsreadList time trackings
papershift_get_time_trackingreadGet time tracking
papershift_list_evaluationsreadList evaluations (daily hours)
papershift_list_target_hoursreadList target hours
papershift_list_payrollsreadList payrolls
papershift_list_shiftsreadList shifts
papershift_get_shiftreadGet shift
papershift_list_shift_assignmentsreadList shift assignments
papershift_list_availabilitiesreadList availabilities
papershift_create_absencewriteCreate absence
papershift_review_absencewriteConfirm, reject or reset an absence
papershift_create_time_trackingwriteCreate time tracking
papershift_confirm_time_trackingwriteConfirm time tracking
papershift_create_shiftwriteCreate shift
papershift_assign_user_to_shiftwriteAssign employee to shift
papershift_usage_statusmetaUsage status (free-tier meter)
papershift_request_featuremetaRequest a missing feature
papershift_upgrademetaUpgrade to Pro or Pro+
papershift_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with papershift_upgrade (it returns a Stripe Checkout link). Cancel any time with papershift_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running papershift_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Papershift.

Source: servers/papershift/README.md at commit 4046075

Tools

26

papershift_get_account

Get account

The Papershift account this API key belongs to (id and name). A quick way to check the connection. GET /accounts.

Takes no parameters.

papershift_list_locations

List locations

List all locations (sites/companies inside the account) with id, name and status. Most other tools need a location id from here. GET /locations.

Takes no parameters.

papershift_get_location

Get location

One location by id. GET /locations?id=.

Parameterslocation_idrequired

papershift_list_working_areas

List working areas

List working areas (departments/stations shifts are planned in), optionally for one location. Use the ids for shifts and time trackings. GET /working_areas.

Parameterslocation_id

papershift_list_users

List employees

List employees (users) with name, email, status, contract basics and their location, working-area and tag ids. Filter by location, working area or tag. 25 per page. GET /users.

Parameterspagetag_idslocation_idworking_area_id

papershift_get_user

Get employee

One employee by id: contact data, status, locations, working areas, tags and profile fields. GET /users?id=.

Parametersuser_idrequired

papershift_list_tags

List tags

List the tags of a location (labels on shifts, time trackings and employees). GET /filters.

Parameterslocation_idrequired

papershift_list_absence_types

List absence types

List the absence types of a location (vacation, sick leave, ...) with id, title and rules. Use the ids to create absences. GET /absence_types.

Parameterspagelocation_idrequired

papershift_list_absences

List absences

List absences (vacation, sick leave, ...) that fall between two dates, optionally for one employee or location. Shows type title, times, hours, vacation days and whether it is confirmed. 25 per page. GET /absences.

Parameterspageuser_idrange_endrequiredlocation_idrange_startrequired

papershift_get_absence

Get absence

One absence by id, with its status, confirmation, hours and vacation days. GET /absences?id=.

Parametersabsence_idrequired

papershift_list_vacation_entitlements

List vacation entitlements

An employee's vacation entitlements (planned days, spent days, expiry, carry-over) for the given period. Use it to answer 'how many vacation days does X have left'. 25 per page. GET /vacation_entitlements.

Parameterspageuser_idrequiredend_datestart_date

papershift_list_time_trackings

List time trackings

List worked-time entries (clock-ins) from a start date, optionally to an end date and for one employee. Shows start, end, break time, location, employee and whether confirmed. 25 per page. GET /working_sessions.

Parameterspageuser_idrange_endrange_startrequired

papershift_get_time_tracking

Get time tracking

One worked-time entry by id, with its breaks, tags and break total. GET /working_sessions?id=.

Parameterstime_tracking_idrequired

papershift_list_evaluations

List evaluations (daily hours)

An employee's daily evaluations: target, planned and actual hours, vacation and compensation per day. Use it for overtime and balance questions. 25 per page. GET /evaluations.

Parameterspageuser_idrequiredrange_endrange_startrequired

papershift_list_target_hours

List target hours

An employee's contractual target hours (weekly/monthly rhythm and hours per weekday) over time. 25 per page. GET /target_hours.

Parameterspageuser_idrequiredend_datestart_date

papershift_list_payrolls

List payrolls

An employee's payroll entries (paid hours, salary, bonus, time-account start/end per period). Sensitive pay data. 25 per page. GET /payrolls.

Parameterspageuser_idrequired

papershift_list_shifts

List shifts

List planned shifts of a location between two dates, optionally for one working area or tags. Shows start, end, number of employees needed, note and visibility. Assigned employees: papershift_list_shift_assignments. 25 per page. GET /shifts.

Parameterspagetag_idsrange_endrequiredlocation_idrequiredrange_startrequiredworking_area_id

papershift_get_shift

Get shift

One shift by id. GET /shifts?id=.

Parametersshift_idrequired

papershift_list_shift_assignments

List shift assignments

Who is assigned to a shift and who has applied for it (user id and name). GET /assignments?shift_id=.

Parametersshift_idrequired

papershift_list_availabilities

List availabilities

The times an employee has marked as available between two dates. 25 per page. GET /availabilities.

Parameterspageuser_idrequiredend_daterequiredstart_daterequired

papershift_create_absence

Create absence

WRITE: record an absence (vacation, sick leave, ...) for an employee. Get the absence type id from papershift_list_absence_types and the user id from papershift_list_users. Whether it counts immediately or waits for approval depends on the absence type and the account's approval rules; the employee may be notified. Papershift calculates the paid hours and vacation days. POST /absences.

Parametersends_atrequireduser_idrequiredfull_daystarts_atrequiredtime_zoneabsence_type_idrequired

papershift_review_absence

Confirm, reject or reset an absence

WRITE: decide on an absence request. action 'confirm' approves it (it then counts against vacation days and the plan), 'reject' declines it, 'reset' puts a decided absence back to pending. The employee is typically notified of the decision. Find ids with papershift_list_absences. PUT /absences/{confirm|reject|reset}.

Parametersactionrequiredabsence_idrequired

papershift_create_time_tracking

Create time tracking

WRITE: add a worked-time entry for an employee after the fact (start, end and break minutes) in a location and working area. It changes the employee's recorded hours and balance. Ids from papershift_list_locations, papershift_list_working_areas and papershift_list_users. POST /working_sessions.

Parametersends_atrequireduser_idrequiredstarts_atrequiredlocation_idrequiredmanual_pauseworking_area_idrequired

papershift_confirm_time_tracking

Confirm time tracking

WRITE: confirm (approve) a worked-time entry so it counts as final for payroll and balances. Find ids with papershift_list_time_trackings. PUT /working_sessions/confirm.

Parameterstime_tracking_idrequired

papershift_create_shift

Create shift

WRITE: plan a new shift in a location and working area for a number of employees. Set visible to true only if employees should see it right away (default: left to the account's setting). Assign people afterwards with papershift_assign_user_to_shift. POST /shifts.

Parametersnoteends_atrequiredtag_idsvisiblestarts_atrequiredlocation_idrequiredworking_area_idrequirednumber_of_employeesrequired

papershift_assign_user_to_shift

Assign employee to shift

WRITE: put an employee on a shift (or, with application true, record them as having applied for it). The employee is typically notified of the assignment. An already assigned user is re-assigned. Returns the shift's assigned and applied users. POST /assignments.

Parametersuser_idrequiredshift_idrequiredapplication

Version history

15
  1. v1.17.4LatestNov 7, 2026
  2. v1.16.3Nov 5, 2026
  3. v1.16.2Nov 5, 2026
  4. v1.16.1Nov 4, 2026
  5. v1.16.0Nov 3, 2026
  6. v1.15.1Nov 3, 2026
  7. v1.14.0Nov 1, 2026
  8. v1.12.0Oct 31, 2026
  9. v1.11.0Oct 31, 2026
  10. v1.10.2Oct 30, 2026
  11. v1.10.0Oct 30, 2026
  12. v1.5.0Oct 26, 2026
  13. v1.2.3Oct 25, 2026
  14. v1.2.0Oct 25, 2026
  15. v1.1.0Oct 24, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations