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-mcphow 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
This server cannot be deployed
Maintenance
Related MCP Connectors
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.
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-
- AlicenseAqualityAmaintenanceProvides 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