Developer preview

Sandtime.io MCP Server

The Model Context Protocol (MCP) lets AI clients like Claude Code and Codex talk to Sandtime.io directly. Connect once and create, review, and report on time entries from the tools you already use.

What is MCP?

The Model Context Protocol is an open standard for connecting AI assistants to external tools and data. The Sandtime.io MCP server exposes your time tracking workspace - activities, projects, reports, timesheets, and more - as a set of tools an assistant can call on your behalf.

Read actions return clean, materialized data with formatted durations and local times. Destructive actions, like deleting a project or removing a member, deliberately hand off to a human by returning a deep link to the right page in the app.

New to logging time from your editor? See how developers use Sandtime.io day to day.

What you can ask

Talk to your assistant in plain language. It resolves the right user, project, and dates, then calls the tools for you.

Log 8 hours on the Acme project for yesterday.
Fill in last week with my usual hours and skip the public holiday.
What did I track this week, broken down by project?
Stop my running timer.
Build a report of billable hours by client for last month.
Which weeks are still locked on my timesheet?

Connect with Claude

Add the Sandtime.io server to your MCP client configuration. In Claude Code this lives in an .mcp.json file:

{
  "mcpServers": {
    "sandtime": {
      "type": "http",
      "url": "https://mcp.sandtime.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_ACCESS_TOKEN",
        "X-Sandtime-Organization": "your-organization"
      }
    }
  }
}
Authentication is a work in progress. Today you authenticate by copying your access token from the Sandtime.io session cookie and pasting it as the Bearer token, with your organization slug in the X-Sandtime-Organization header. This is a temporary step - we are shipping a proper sign-in and token flow soon, so you will not have to touch cookies.

Where it runs

One HTTP server, every AI surface you use. Connect once and work from wherever you already are.

Claude Code

Add the server to your .mcp.json and log time from the terminal where you ship code.

Claude Desktop

Connect the server and ask the desktop app to track and report your time.

Codex

Wire the server into Codex and turn coding sessions into clean time records.

Any MCP client

Any client that speaks the Model Context Protocol and supports HTTP servers with custom headers can connect.

Available tools

The server exposes more than 30 tools across your whole workspace. Assistants chain them together - for example, resolving the current user, checking the calendar, then filling empty days.

Activities

  • list_activitiesList time entries, filtered by user, project, or a whole week. Returns formatted durations and local times.
  • get_activityGet the full details of a single time entry by its ID.
  • create_activityLog a new time entry on a project, with automatic overlap detection against existing entries.
  • update_activityEdit a time entry's name, times, project, or billable status, or stop and resume a running timer.
  • delete_activityPermanently remove a time entry. Requires ownership or administrator permissions.
  • stop_activityStop a running timer by setting its end time to now.

Projects

  • list_projectsList the projects in your organization, optionally including archived ones.
  • get_projectGet detailed information about a specific project.
  • create_projectCreate a new project. Requires administrator permissions.
  • update_projectRename a project, change its billable default, archive it, or edit its notes.
  • delete_projectReturns a deep link to the project settings, where a human confirms the deletion.

Project members

  • list_project_membersList the members assigned to a specific project.
  • add_project_memberReturns a deep link to the project members section, where a human adds the member.
  • remove_project_memberReturns a deep link to the project members section, where a human removes the member.

Users

  • list_usersList the users in your organization.
  • get_userGet detailed information about a specific user.
  • get_current_userGet the caller's ID, timezone, and the server-resolved current date and week. Usually the first call in a workflow.
  • create_userReturns a deep link to the member invite page.
  • update_userReturns a deep link to the user profile page.

Organization

  • get_organizationGet information about your organization, including its settings.
  • update_organizationReturns a deep link to the organization settings page.

Calendar

  • get_calendarGet a server-computed calendar with workdays, expected hours, weekends, and public holidays. The source of truth before logging time across days.

Reports

  • list_reportsList the saved reports in your organization.
  • get_reportGet the details of a specific report.
  • create_reportBuild a saved report with custom dimensions, metrics, periods, and project or member filters.

Timesheets

  • get_timesheet_statusCheck the lock status of timesheets for a specific week.
  • lock_timesheetLock a week's timesheet for a user. Requires administrator permissions.
  • unlock_timesheetRemove an existing timesheet lock. Requires administrator permissions.

Requests

  • list_requestsList approval requests such as timesheet unlocks and role changes. Defaults to pending requests.
  • request_timesheet_unlockAsk an administrator to unlock a locked week so the timesheet can be edited.
  • approve_unlock_requestApprove a pending unlock request, giving the user a short window to edit. Requires administrator permissions.
  • reject_unlock_requestReject a pending unlock request. The user is notified.

Summary and analytics

  • get_time_summarySummarize tracked time over a period, grouped by day, week, month, project, or user.

Try the AI features free

The MCP server and Sandbot are free for eligible organizations during early access. Tell us about your team and we will switch it on.

See the early access offer