Six features that put Janus ahead of the usual suspects — without the per-seat math.
01 · Simple
One-click timer. Retro UI, no clutter, no distracting "insights" you didn't ask for.
02 · Flat pricing
$29.99/month. No per-seat bill shock. Larger teams? Get in touch for a custom plan.
03 · AI-ready
Ships with a battle-tested MCP server + /janus skill. Track time from your editor.
04 · Reports
Summary, detailed, and per-project reports with rich filters. Export CSV or branded PDF.
05 · Reminders
Nudge forgetful teammates before the week ends. Configurable, quiet on weekends.
06 · Open API
OpenAPI 3 schema, Swagger UI, ReDoc, personal API keys. Roll your own dashboards.
Start with a 14-day free trial — full access, no limits. Flat monthly fee covers your whole team up to 250 users. Cancel whenever.
Cancel any time
Larger teams
Sign up for the trial, then email us from the Support page in your account. We'll set you up with a custom plan.
Track from Claude
Janus hosts its own MCP server — plug the URL into Claude Desktop or Claude Code. Three steps, all copy-paste — no local install, no shell env vars, no repo to clone.
Sign into Janus → sidebar → API keys, name it
(e.g. "laptop"), copy the value that starts with
janus_.
Shown once. Store it in a password manager — it has the same powers as your account.
Create your account →
Paste this block into your Claude MCP config. It uses
mcp-remote (run via
npx, so you need Node) to bridge Claude
to the hosted Janus server, with your API key in the auth header:
{
"mcpServers": {
"janus": {
"command": "npx",
"args": [
"mcp-remote",
"https://januskit.com/mcp/",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Api-Key janus_…"
}
}
}
}
Swap janus_… for a key from
Settings → API keys. The header rides through
AUTH_HEADER on purpose —
mcp-remote mis-parses a
--header value that contains a space,
so the env var sidesteps it.
Claude Code:
~/.claude/mcp.json or a project-level
.mcp.json.
Claude Desktop:
Settings → Developer → Edit Config.
Relaunch Claude so it picks up the config. First run asks you to Allow the Janus server — approve once. Then just describe what you're doing:
# you say: ▸ start tracking Website Redesign, billable # claude replies: ✓ timer running on Website Redesign · billable · no milestone
Everything the MCP exposes
Claude calls these directly once the MCP is wired up. Each box shows the raw tool name and the kind of thing you'd actually say out loud — no SDK, no schema to memorise.
Read state · 5 tools
whoami
Current user, email, role, company.
▸ "Who am I signed in as?"
list_time_entries
Your entries for a day (default today) — with ids you can edit by.
▸ "What did I log yesterday?"
list_projects
Active projects in your company, with client names. Optional archived flag.
▸ "List my projects."
list_milestones
Milestones under a given project.
▸ "What milestones does Website Redesign have?"
current_timer
The running entry — project, milestone, elapsed time — or nothing.
▸ "What am I tracking right now?"
Track time · 4 tools
start_timer
Starts a timer on a project (optional milestone, description, billable flag). Auto-stops any previous timer — never two running at once.
▸ "Start tracking the API rewrite, non-billable."
stop_timer
Stops the running timer and returns the final duration.
▸ "Stop the timer."
log_time
Logs a finished entry from start/end times in your timezone — duration computed for you. Past or current only, never the future.
▸ "Log 9 to 11 this morning on Website Redesign."
update_time_entry
Edit an existing entry — times, project, description, billable.
▸ "Change that last entry to end at 11:30."
Organise & availability · 3 tools
create_milestone
Adds a milestone to a project in one shot — no browsing to the UI.
▸ "Create a milestone called MCP launch in Website Redesign."
set_vacation_mode
Toggle vacation mode on/off. Turning it on auto-stops any running timer and blocks new entries until you're back.
▸ "I'm out sick today — pause tracking."
set_vacation_period
Schedule an explicit ISO-8601 date range for time off.
▸ "Mark me on leave March 10–17."
Every call is scoped to your company and rate-limited on the server. You can't accidentally read or write another tenant's data — the API key decides everything.
Optional polish · the /janus skill
The MCP hands Claude nine raw tools. The skill teaches it when to reach for each one — how to resolve a project name, when to ask you for a missing field, how to phrase the confirmation. Claude Code–only; Claude Desktop users can skip it.
One command to install (macOS, Linux, or Windows with
curl.exe):
# drops SKILL.md into ~/.claude/skills/janus/
mkdir -p ~/.claude/skills/janus && \
curl -fsSL https://januskit.com/skills/janus/SKILL.md \
-o ~/.claude/skills/janus/SKILL.md
Re-run to update. The file is versioned with your Janus instance — no drift.
Option A · just talk
Say anything that sounds like time tracking. Claude auto-triggers the skill — you never type a slash command.
▸ I'm starting on the onboarding flow
Option B · invoke it directly
Type the slash command when you want to force-focus Claude on Janus (useful in long, off-topic sessions).
▸ /janus what am I tracking?
Try saying
Want to build your own integration? Everything the skill does is in the REST API — OpenAPI 3, Swagger UI, ReDoc, personal API keys.
Add a milestone to the selected project.