Hubstaff MCP server
Hubstaff in any MCP client, through Memtro: Hubstaff does not publish this server. Memtro's Hubstaff connector reads Hubstaff 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
Hubstaff time tracking: organization members and roles, projects with budgets, clients, tasks with assignees, tracked, manual and billable hours per person, project and day with totals, timesheets and their approval state, time-off requests and manual time requests; when you ask, can log time for a member, create, update, complete or delete tasks, create, update or archive projects, create clients, request time off, approve or deny time off, manual time and timesheets, and invite people to the organization. Pay rates, activity levels, screenshots and locations are not read.
Reads
hubstaff_list_membersMembers of the Hubstaff organization: user id, name, membership role and status, effective role, whether they track time…hubstaff_list_projectsHubstaff projects: id, name, description, status, client id, billable, and budget (type, hours or cost, recurrence).hubstaff_list_clientsHubstaff clients: id, name, status, payment terms in days and the ids of their projects.hubstaff_list_tasksHubstaff tasks (to-dos): id, summary, details, status, project, assignees by name, due and completed dates, and lock_version.hubstaff_time_summaryHours tracked in Hubstaff per person, project, task and day for a date range (at most 31 days; default the last 7)…hubstaff_list_timesheetsHubstaff timesheets: id, person, status (open, submitted, approved, denied), tracked hours, period, submitted and approved dates…hubstaff_list_time_off_requestsHubstaff time-off requests: id, person, policy id, status, all-day, start and stop, hours used, and when submitted, approved or denied.hubstaff_list_manual_time_requestsHubstaff manual time requests (time a member asked to add): id, member, project, task, start and stop, hours, status (submitted, approved, denied)…
Acts, when you ask
These change something in Hubstaff. 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.
hubstaff_create_time_entryLogs a block of time in Hubstaff for the member user_id on a project (and task), starting at start_time and lasting hours.hubstaff_create_taskCreates a task (to-do) on a Hubstaff project with the given summary, optionally assigned to members, who then see it in their task list.hubstaff_update_taskChanges a Hubstaff task's summary, assignees (the list given replaces the current one) or status (completed or active again)…hubstaff_delete_taskDeletes a Hubstaff task (to-do); it leaves its members' task lists, and time already tracked on it stays.hubstaff_create_projectCreates a Hubstaff project with a name, optional description and client, whether time on it is billable (default true)…hubstaff_update_projectChanges a Hubstaff project's name, description, client or billable default, or archives it (status archived; active restores it…hubstaff_create_clientCreates a client in Hubstaff with a name, optionally linked to projects, with invoice notes and payment terms in days…hubstaff_request_time_offSubmits a time-off request in Hubstaff for the member user_id under a time-off policy, one entry per calendar date from the first to the last…hubstaff_decide_time_off_requestApproves or denies a Hubstaff time-off request (a denied one can later be approved and the reverse).hubstaff_decide_manual_time_requestApproves or denies a submitted Hubstaff manual time request; it cannot be changed again afterwards.hubstaff_set_timesheet_statusSets a Hubstaff timesheet's status: submitted, approved (locks the period's time and can feed payroll), denied…hubstaff_invite_memberInvites a person to the Hubstaff organization by email with a role (organization_manager, project_manager…
Connect it
First connect Hubstaff on Dashboard → Connections, then add Memtro to your client once. The Hubstaff 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 Hubstaff 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
- › How many hours did each person track on the website project last week?
- › Which timesheets are submitted and waiting for approval?
- › Which time-off requests start next month?
- › Which manual time requests are in the review queue?
- › Create a task on the website project for Maya to update the pricing page.
Questions
- Is this an official Hubstaff MCP server?
- No. It is Memtro's MCP server with Memtro's Hubstaff connector behind it: the connector reads Hubstaff through its API with the credentials you connect on Dashboard → Connections, and Hubstaff 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 Hubstaff?
- Only when you ask, and only what it has been granted: log time for a member on a project; create a task on a project; update, reassign or complete a task; delete a task; create a project; update or archive a project; create a client; request time off for a member; approve or deny a time-off request; approve or deny a manual time request; set a timesheet's status (submit, approve, deny or reopen); invite a person to the organization. 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.