solidtime-mcp-server
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., "@solidtime-mcp-serverStart a timer for the API project"
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.
solidtime-mcp-server
MCP server for SolidTime — the open-source time tracking app. Start/stop timers, manage time entries, projects, clients, tags, and tasks directly from Claude, Cursor, or any MCP-compatible client.
Features
22 tools covering time entries, projects, clients, tags, tasks, and user info
Start/stop timers with automatic active-timer detection
Aggregated reports grouped by day, week, project, client, and more
Auto member_id resolution — no manual configuration needed
Actionable error messages — every error tells you what to do next
Zero external dependencies beyond the MCP SDK (uses native
fetch)Works with self-hosted SolidTime instances and the hosted version
Related MCP server: Timebook
Quick Start
Using npx (no install)
npx solidtime-mcp-serverInstall globally
npm install -g solidtime-mcp-serverEnvironment Variables
Variable | Required | Default | Description |
| Yes | — | Your SolidTime API token |
| Yes | — | Your organization UUID |
| No |
| Base URL for self-hosted instances |
Get your API token from SolidTime > Settings > API.
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"solidtime": {
"command": "npx",
"args": ["-y", "solidtime-mcp-server"],
"env": {
"SOLIDTIME_API_TOKEN": "your-token-here",
"SOLIDTIME_ORGANIZATION_ID": "your-org-uuid-here",
"SOLIDTIME_API_URL": "https://your-instance.example.com"
}
}
}
}Claude Code Configuration
Add to your .mcp.json:
{
"mcpServers": {
"solidtime": {
"command": "npx",
"args": ["-y", "solidtime-mcp-server"],
"env": {
"SOLIDTIME_API_TOKEN": "your-token-here",
"SOLIDTIME_ORGANIZATION_ID": "your-org-uuid-here",
"SOLIDTIME_API_URL": "https://your-instance.example.com"
}
}
}
}Tools
Time Entries (8 tools)
Tool | Description |
| Start a running timer (checks for existing active timer first) |
| Stop the active timer |
| Get the currently running timer |
| List entries with filters (date range, project, client, tags, billable) |
| Create a completed entry with start and end times |
| Update any field on an existing entry |
| Permanently delete an entry |
| Aggregated report by day/week/month/project/client/etc. |
Projects (4 tools)
Tool | Description |
| List all projects (filter by archived status) |
| Create a project with name, color, billable rate |
| Update project fields |
| Permanently delete a project |
Clients (3 tools)
Tool | Description |
| List all clients (filter by archived status) |
| Create a client |
| Update a client's name |
Tags (3 tools)
Tool | Description |
| List all tags |
| Create a tag |
| Update a tag's name |
Tasks (3 tools)
Tool | Description |
| List tasks (filter by project, done status) |
| Create a task within a project |
| Update task name, done status, or estimated time |
Users (1 tool)
Tool | Description |
| Get your user profile and resolved member ID |
Usage Examples
Start tracking time:
"Start a timer for the website redesign project"
Log completed work:
"Create a time entry for today 9:00-11:30 on the API project, tagged as development"
Get a weekly report:
"Show me a report of this week's hours grouped by project"
Check what's running:
"Is there a timer running?"
Troubleshooting
"Authentication failed"
Your SOLIDTIME_API_TOKEN is invalid or expired. Generate a new one in SolidTime under Settings > API.
"Permission denied"
Your token doesn't have access to the specified organization. Verify SOLIDTIME_ORGANIZATION_ID.
"Cannot reach SolidTime"
Check that SOLIDTIME_API_URL is correct and the instance is accessible. For self-hosted: ensure the URL includes the protocol (e.g., https://solidtime.example.com).
"Could not find member for user"
The authenticated user is not a member of the specified organization. Check SOLIDTIME_ORGANIZATION_ID.
Development
git clone https://github.com/SwamiRama/solidtime-mcp-server.git
cd solidtime-mcp-server
npm install
npm run dev # Run with tsx (dev mode)
npm run build # Compile TypeScript
npm run lint # ESLint
npm run typecheck # Type checking
npm run inspector # Test with MCP InspectorLicense
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- TimequipOAuthcom.timequip
Manage Timequip projects, tasks, comments, members, and dashboards through MCP.
- mcp-serverOAuthio.klokin
MCP server exposing klokin time-tracking operations (employees, time entries, stores) to AI clients.
MCP server for Linear project management and issue tracking
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Related MCP Servers
- AlicenseBqualityBmaintenanceMCP server for Harvest time tracking. Manage time entries, start/stop timers, handle projects, clients, tasks, and generate time and expense reports via the Harvest API v2.5424 npm8MIT
- AlicenseAqualityCmaintenanceOfficial MCP server for Timebook (usetimebook.com) — time tracking, invoicing, and bookkeeping for freelancers and solo LLCs. Manage clients and projects, start/stop timers, and log, update, and delete time entries. Stdio via the @squidcode/timebook npm CLI; a hosted OAuth endpoint also exists at https://usetimebook.com/mcp.1230 npm2MIT
- AlicenseNot gradedqualityDmaintenanceThis MCP server enables AI assistants to interact with the Timing application for managing time tracking and tasks, including project and time entry operations.7MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server for Traggo, a tag-based time tracking tool. Manage time spans, timers and tags, get useful stats.GPL 3.0