timescribe-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@timescribe-mcp how many hours did I track per project last week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
timescribe-mcp
An MCP server that gives Claude read-only access to your local TimeScribe time tracking data. Ask things like "how many hours did I track per project last week?" without exporting a CSV.
Reads TimeScribe's local SQLite database directly, read-only. It never writes.
Works while TimeScribe is running, including the live timer.
No network access. Your data stays on your machine.
Requirements
TimeScribe installed (macOS or Windows)
Node.js 22.13 or newer
Related MCP server: RescueTime MCP Server
Install
Claude Code
git clone https://github.com/bverhoeve/timescribe-mcp && cd timescribe-mcp
npm ci && npm run build
claude mcp add timescribe -- node "$(pwd)/dist/index.js"Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"timescribe": { "command": "node", "args": ["/absolute/path/to/timescribe-mcp/dist/index.js"] }
}
}Database location
Found automatically:
macOS:
~/Library/Application Support/timescribe/database/database.sqliteWindows:
%APPDATA%\timescribe\database\database.sqlite(unverified; if it isn't found, setTIMESCRIBE_DB_PATH)
Elsewhere, set TIMESCRIBE_DB_PATH to the full path of database.sqlite.
Tools
Tool | What it returns |
| All projects, including archived ones ( |
| Work, break and scheduled hours for a date range, grouped per |
| Individual work/break entries in a range, filterable by |
Dates are YYYY-MM-DD, inclusive, in the timezone set in TimeScribe. Leave out from and to for the current week (Monday to Sunday). Output times are ISO 8601 with offset.
How times are counted
An entry counts on the day it started (TimeScribe splits entries at midnight itself).
A running timer counts up to now. A timer left open while TimeScribe was closed counts up to the last moment the app saw it running.
work_hoursis tracked time only. TimeScribe's own balance also credits public holidays and absences as worked hours, so in weeks with a holiday this server reports less than the app's balance.scheduled_hourscomes from your TimeScribe work schedule and does not deduct holidays or absences.
Development
npm test # type-check, build, run all tests (never touches your real data)
npm run inspect # open the MCP Inspector against your real databaseLicense
MIT
Available Tools
3 toolsget_time_summarySummarise tracked timeARead-only
Total tracked work and break hours in TimeScribe for a date range (default: current ISO week, Monday to Sunday), split per project, per day, or per project per day. Entries count on the day they started. work_hours is tracked time only: unlike the TimeScribe app it does not credit public holidays or absences. scheduled_hours is the planned hours from the work schedule, without deducting holidays or absences. Entries without a project appear with project_id null. Also reports the currently running timer.
Inputs: to, from, group_by. Returns: range, groups, totals, running_timer
list_entriesList TimeScribe time entriesARead-only
List individual TimeScribe time entries (work and break intervals) that started in a date range, oldest first. Use for detail behind a total; use get_time_summary for totals. Defaults to the current ISO week. Returns at most 500 entries; truncated=true means narrow the range.
Inputs: to, from, type, project_id. Returns: range, entries, truncated
list_projectsList TimeScribe projectsARead-only
List all TimeScribe projects, including archived (deleted) ones, which old entries may still reference. Use the ids to filter list_entries.
Inputs: no named parameters. Returns: projects
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool targets a distinct level of the domain: projects, individual entries, and aggregated summaries. The descriptions explicitly disambiguate by telling the agent when to use list_entries vs get_time_summary, eliminating overlap.
All three names follow a clean snake_case verb_noun pattern (list_projects, list_entries, get_time_summary), with list_* for collections and get_* for a computed value used predictably.
Three tools is at the low end but each earns its place and maps to a genuinely different question (what projects exist, what happened in detail, what the totals are). A read-only analytics surface this tight is defensible, though it leaves little room for growth.
The set covers the read/analysis lifecycle well but is entirely read-only: there is no way to create, edit, or delete entries, manage projects, or start/stop the running timer that get_time_summary reports. Notable gaps if the agent is expected to do more than report on time data.
Maintenance
Related MCP Connectors
Read your tracked time and projects, pause tracking or add a note, from Claude or ChatGPT.
Connects AI assistants to TrackingTime for querying time entries, projects, tasks, customers, and team data using natural language.
Track billable time from your AI chat: timers, entries, reports, CSV export. All data stays local.
Track billable time from your AI chat: timers, entries, reports, CSV export. All data stays local.
Related MCP Servers
- -licenseAqualityNot gradedmaintenanceEnables natural language time tracking through Claude with markdown file storage. Supports multi-company tracking, flexible time parsing, auto-calculated summaries, and commitment warnings all through conversational input.1-
- AlicenseAqualityBmaintenanceProvides Claude access to RescueTime productivity data, enabling users to query daily summaries, top activities, category breakdowns, and productivity trends through natural language.5MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language interaction with local SQLite databases through Claude Desktop, translating plain English queries into SQL for data analysis and exploration.3MIT
- AlicenseAqualityDmaintenanceProvides Claude with read-only access to local development databases (Postgres, MySQL, SQLite) to inspect schemas, run SELECT queries, and explain query plans without leaving the conversation.5MIT