MCP integration

Tell your AI client you are working. Janus tracks it.

Janus hosts a Model Context Protocol server for Claude Desktop, Claude Code, and compatible clients. The connection uses your personal API key and stays scoped to your own user and company.

Step 1

Create a personal API key

Sign in to Janus, open API keys from the sidebar, name the key for the device or client, and copy the value beginning with janus_. It is shown only once.

Store the key in a password manager. It can perform the same Janus actions your account can perform.

Start free trial →

Step 2

Add the hosted server

Add this server entry to the MCP configuration used by your client. It uses mcp-remote through npx, which is included with Node.js. Replace janus_… with the key you just created.

{
  "mcpServers": {
    "janus": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://januskit.com/mcp/",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Api-Key janus_…"
      }
    }
  }
}

The AUTH_HEADER environment value is intentional: it preserves the space in the authorization header when mcp-remote launches.

Claude Code: save the block as .mcp.json in a project root. For private local or user-wide configuration, add the same server object with claude mcp add-json and the appropriate scope.

Claude Desktop: open Settings → Developer → Edit Config. The file is ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows.

Native Windows: local MCP commands that use npx may need cmd /c; set command to cmd and prepend /c, npx to the arguments.

Step 3

Restart and talk

Restart the AI client so it reloads the MCP configuration, approve Janus when prompted, and use direct requests such as:

“Start tracking the API rewrite, non-billable.”

“Also track the launch project while that keeps running.”

“What did I log yesterday?”

“Create a milestone called Launch.”

“Submit today’s site Pulse.”

18 core tools

Everything the server exposes

Read state · 7

  • whoami
  • list_time_entries
  • list_projects
  • list_milestones
  • list_pulse_clients
  • list_pulse_tags
  • current_timer

Track time · 4

  • start_timer
  • stop_timer
  • log_time
  • update_time_entry

Organize and availability · 3

  • create_milestone
  • set_vacation_mode
  • set_vacation_period

Field reports · 4

  • get_pulse_form
  • list_pulses
  • create_pulse
  • update_pulse

Optional skill

Give Claude the Janus workflow

The optional /janus skill teaches Claude when to ask for missing fields and how to confirm changes. It is for Claude Code; Claude Desktop users can skip it.

mkdir -p ~/.claude/skills/janus
curl -fsSL https://januskit.com/skills/janus/SKILL.md \
  -o ~/.claude/skills/janus/SKILL.md

Run the command again whenever you want the current skill version from Janus.

Security and access

  • Every tool uses the company and permissions attached to the API-key owner.
  • The server does not grant an integration broader access than the user already has.
  • Revoke the key immediately when a device is replaced or access may have been exposed.

Building a custom integration? The same capabilities are documented in the OpenAPI, Swagger, and ReDoc reference.