Workyard MCP by usefulapi

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

Read Workyard employees, projects, time cards and geofences; approve time cards and add notes.

The publisher's own server: Ably MCP by usefulapi

Overview

AI-generated overview

Read Workyard employees, projects, time cards and geofences, and approve time cards or add notes, through a hosted remote endpoint.

What you can do
  • Read organization settings such as name and timezone
  • List and filter employees by status, email, role or free text
  • List projects and fetch a single project by id
  • List and fetch time cards, with filters for employee, status and start time
  • List activity segments of a time card, plus geofences, active geofences and their projects
  • Approve one time card or add a text note to it
When to use it
Useful when you want an assistant to answer questions about who is clocked in, which time cards are submitted but unapproved, or which projects and work sites exist, and to approve time cards or leave notes on them.
Requirements
A remote MCP endpoint added by URL only; no API key or Authorization header in the client config. Sign-in uses OAuth, and the login page asks for your Workyard API token. A free plan allows 50 tool calls per month; paid plans are available.
Before you install
Approving a time card is a write that feeds payroll and may not be undoable through the API; only approve when the user asked for that exact card. Adding a note creates a new note on every call. Staff names, contact details and work locations are personal data. Upgrade tools return payment links for paid plans.

Installation

In SourceWeft

  1. Open Workyard 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%2Fworkyard/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": {
    "workyard-by-usefulapi": {
      "type": "http",
      "url": "https://workyard.usefulapi.io/mcp"
    }
  }
}

README

Workyard MCP by usefulapi

Live endpoint: https://workyard.usefulapi.io/mcp

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://workyard.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http workyard https://workyard.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": {    "workyard": {      "url": "https://workyard.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 Workyard credentials.

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

Sign in with your Workyard API token. Staff names, contact details and work locations are personal data.

Tools

ToolTypeWhat it does
workyard_get_organizationreadGet Workyard organization
workyard_list_employeesreadList Workyard employees
workyard_list_projectsreadList Workyard projects
workyard_get_projectreadGet Workyard project
workyard_list_time_cardsreadList Workyard time cards
workyard_get_time_cardreadGet Workyard time card
workyard_list_time_card_activity_segmentsreadList Workyard time card activity segments
workyard_list_geofencesreadList Workyard geofences (work sites)
workyard_list_active_geofencesreadList active Workyard geofences
workyard_list_geofence_projectsreadList projects of a Workyard geofence
workyard_approve_time_cardwriteApprove a Workyard time card
workyard_add_time_card_notewriteAdd a note to a Workyard time card
workyard_usage_statusmetaUsage status (free-tier meter)
workyard_request_featuremetaRequest a missing feature
workyard_upgrademetaUpgrade to Pro or Pro+
workyard_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 organization)$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 workyard_upgrade (it returns a Stripe Checkout link). Cancel any time with workyard_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running workyard_upgrade before then undoes the cancel. Or write to [email protected].

License

Documentation for the hosted usefulapi connector.

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

Tools

12

workyard_get_organization

Get Workyard organization

The organization this connection uses (id, name, settings such as timezone) from GET /orgs/{org_id}.

Takes no parameters.

workyard_list_employees

List Workyard employees

List employees of the organization (employee_id, profile_id, name, title, role, status, contact data). Filter by status (active, removed, saas_disabled, expired; comma list), email, role name or free-text search. Paged: use next_page.

Parameterspageemaillimitsearchstatusrole_nameemployee_id

workyard_list_projects

List Workyard projects

List projects (id, name, identifier, customer, locations). Optionally filter by name or archived state. Paged: use next_page.

Parametersnamepagelimitis_archivedinclude_computed_totals

workyard_get_project

Get Workyard project

One project by id (workyard_list_projects gives the ids).

Parametersproject_idrequired

workyard_list_time_cards

List Workyard time cards

List time cards (id, employee_id, start_dt_unix, end_dt_unix, status, approver, totals). Workyard returns only status=working when no status is given, so pass status (for example submitted,approved) for finished work. Filter by employee and by start time (unix seconds, interpreted in the organization timezone). Paged: use next_page; the reply also carries time_summary.

Parameterspagelimitstatussort_byemployee_idstart_from_unixtime_approver_idstart_before_unixinclude_last_location

workyard_get_time_card

Get Workyard time card

One time card by id, with its details (workyard_list_time_cards gives the ids).

Parameterstime_card_idrequired

workyard_list_time_card_activity_segments

List Workyard time card activity segments

The activity segments of one time card (where and on which project the employee worked, segment by segment). Not paged.

Parameterstime_card_idrequiredinclude_archived_projects

workyard_list_geofences

List Workyard geofences (work sites)

List geofences / work sites (id, name, place, enabled, radius). Filter by name, enabled state or project. Paged: use next_page.

Parametersnamepagelimitenabledproject_id

workyard_list_active_geofences

List active Workyard geofences

All active geofences with limited data (Workyard: GET active_geofences). It does not say who is clocked in; use workyard_list_time_cards with status working for that.

Takes no parameters.

workyard_list_geofence_projects

List projects of a Workyard geofence

The projects attached to one geofence (work site). Paged: use next_page.

Parameterspagelimitgeofence_idrequiredis_archived

workyard_approve_time_card

Approve a Workyard time card

WRITE: approve ONE time card (PATCH .../time_cards/{id}/approve). Approval feeds payroll in Workyard and may not be undoable through the API: only call it when the user asked to approve this exact time card.

Parameterstime_card_idrequired

workyard_add_time_card_note

Add a note to a Workyard time card

WRITE: add a text note to one time card (POST .../time_cards/{id}/notes). Adds a new note on every call; it does not edit or delete existing notes.

Parametersdescriptionrequiredtime_card_idrequired

Version history

11
  1. v1.11.3LatestNov 7, 2026
  2. v1.10.3Nov 5, 2026
  3. v1.10.2Nov 5, 2026
  4. v1.10.1Nov 4, 2026
  5. v1.10.0Nov 3, 2026
  6. v1.9.1Nov 3, 2026
  7. v1.8.0Nov 1, 2026
  8. v1.6.0Oct 31, 2026
  9. v1.5.0Oct 31, 2026
  10. v1.4.2Oct 30, 2026
  11. v1.4.0Oct 30, 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