start_timerLABSCO SUMMARY
Time entries fixed at the moment you remember them.
The hard part of time tracking is never starting the timer, it is the entry you forgot to stop and the two hours you have to attribute after the fact. Both add_timespan and update_timespan take explicit times, so an afternoon can be reconstructed in one exchange.
What it is
A server in front of a Traggo instance's GraphQL API. Twelve tools cover running timers, completed timespans and the tag definitions Traggo organises time with. The server is stateless — the Traggo device token you send is the entire auth state.
What you get
- A timer started with tags and a note, starting now unless you say otherwise
- A running timer stopped by id, ending now unless you say otherwise
- A completed timespan recorded with explicit start and end
- A timespan's start, end, tags or note edited, or the timespan deleted
- Running timers listed, and recorded timespans listed within an RFC3339 range
- Tag definitions listed with key, colour and usage count, then created, recoloured, renamed or deleted
- A diagnostic call that confirms the token is wired up correctly
Requirements
A Traggo instance and a device token from it. The server ships a /login page: sign in with your Traggo username and password and copy the token it shows. Your MCP client then sends that token to /mcp as an Authorization Bearer header. Nothing is stored server-side.
Setup effort
Build from source — Have a Traggo instance available and Go 1.26+ installed
USE CASES
Starting the clock without stopping what you are doing
Say what you are working on; the timer starts now, tagged, and stops by id later.
Filling in time you forgot to track
Record a completed span with the start and end you actually worked, tags and note included.
Fixing an entry that ran overnight
Find the span in a time range, correct its end, or delete it if it should never have existed.
Keeping the tag vocabulary tidy
Tags are definitions with a key and a colour: list what exists and its usage count, then add, recolour, rename or remove.
Checking the token before you rely on it
One call confirms the auth wiring works, so a failure later is not a mystery.
12 tools
Listed in project docs. Your client may show a different list.
stop_timeradd_timespanupdate_timespanremove_timespanlist_timerslist_timespanslist_tagscreate_tagupdate_tagremove_tagping_authBEFORE YOU INSTALL
What to know first
Tools you get
12 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
Have a Traggo instance available and Go 1.26+ installed
Clone the repository and enter it: git clone https://github.com/ChrQR/traggo-mcp-server.git && cd traggo-mcp-server
Set the instance URL before starting:
export TRAGGO_URL=<YOUR_TRAGGO_URL>Run the server: go run ./cmd/server — it listens on :8080
Open http://localhost:8080/login in a browser and sign in with your Traggo username and password to get a device token (this must happen before the MCP client can authenticate)
Point your MCP client at http://localhost:8080/mcp using a streamable-HTTP transport, sending the token as Authorization: Bearer <YOUR_TOKEN> (see the config block)
MCP Clients
Any MCP client — HTTP
{
"mcpServers": {
"traggo": {
"url": "http://localhost:8080/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TRAGGO_TOKEN>"
}
}
}
}