API, MCP and Asana
Personal API tokens
A token lets a script or another app talk to the API as you, without your password. Create one in Profile → API tokens; you see the token once, at creation, because we store only a hash of it.
A token deliberately reaches your data, not your account: changing your password or e-mail, turning 2FA on or off, and creating further tokens are all refused for a token. If one leaks, that is a data problem, not a lost account — revoke it and carry on.
Importing history
Moving from another tracker? The bulk endpoint takes up to 500 entries per request and de-duplicates on an id you supply, so an import interrupted halfway can simply be run again without doubling anything. If you tell us which tool you are coming from, we would rather write the import for you than send you to the API.
MCP connector (Claude and friends)
Hourino speaks the Model Context Protocol, so an AI assistant can track for you: „start a timer on the Acme redesign“, „how many hours did I do this week“, „log yesterday's two hours to Acme“.
In Claude Code it is one command:
claude mcp add hourino \
--transport http https://api.hourino.com/api/v1/mcp \
--header "Authorization: Bearer hrn_…"
Connectors inside claude.ai and ChatGPT need OAuth, which we have not built yet — so for now this works in Claude Code and in any MCP client where you can set a header.
Worth knowing before you turn it on: descriptions and client names go to the AI provider as part of the conversation. That is your choice to make, which is why the token is personal and revocable.
Asana
Connect your own Asana account (each member connects theirs, so write-backs happen under the right name), import projects and tasks, and track against them. Hours can be written back to the Asana task, so the people who live in Asana see them without opening Hourino.
Rate limits
The API is rate-limited per IP. If you are batching an import, send bulk requests rather than one entry at a time — it is faster for you and gentler on the limit.