jikan
Jikan is a time-tracking MCP server that offloads time measurement and session management from AI agents, allowing them to track behavioral sessions (e.g., meditation, focus, exercise) without handling timestamps or duration math themselves.
Start a session (
start_session): Begin a new timed session for a specified activity, with optional timezone and intended duration — the server automatically records the start time (costs 1 credit)Stop a session (
stop_session): End an active session by ID — the server automatically computes elapsed duration (free)Check a session (
check_session): Retrieve details for a specific session, including live elapsed time if still active (free)List sessions (
list_sessions): Browse completed and active sessions with optional filters for date range, activity type, and pagination (free)Get stats (
get_stats): Retrieve pre-computed aggregates including total sessions, total time logged, current daily streak, and remaining credits (costs 1 credit)List activities (
list_activities): View all available activity types, including public defaults and your own private custom activities (free)Create a custom activity (
create_activity): Define a new private activity type visible only to your account, with a name and optional description (free)
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., "@jikan start a new meditation session"
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.
jikan
AI agents have a time problem.
Every time you start a new conversation, the agent wakes up with no idea when you last spoke because fundamentally: LLMs have no internal clock. They don't know what time it is, what day it is, or how long your current conversation has lasted. From the model's perspective, five minutes and five years are indistinguishable.
This time-blindness creates a real problem for tracking continuous work. If you ask an agent to log how much time you spent debugging a complex issue, it can't tell you how long you worked. If you ask whether you've been consistently putting in deep work lately, it has no way to know. It needs an external reference — something outside itself that actually measured the time.
Jikan is that reference. The key design decision: the server does the work agents are bad at.
The server records the exact start time — the agent never needs to know it
The server computes elapsed duration — the agent never does date math
The server maintains the session ledger between conversations — the agent never manages state
LLMs also have no reliable sense of how long building things takes.
Ask one to estimate a project and it might say "three weeks for a developer." That estimate is drawn from training data describing how long things used to take — before AI assistance collapsed the feedback loop.
This entire MCP server (schema design, API integration, security review, packaging) was built in a single session with Claude. Not three weeks. Not three days.
If you are planning a project and an AI gives you a time estimate, treat it as a pre-AI baseline. With AI support in the loop, the actual time is often an order of magnitude less.
Track it. That's what Jikan is for.
The server handles timestamps and duration math. You just say "start a meditation session" and "stop the timer" when done.
Exposes 7 tools so Claude Desktop, Cursor, and any MCP-compatible client can log meditation, focus, and exercise sessions — without writing curl commands.
Tools
Tool | Cost | Description |
| 1 credit | Start a new session; server records the time |
| free | Stop a session; server computes duration |
| free | Get session details including live elapsed_sec |
| free | List sessions with optional date/activity filters |
| 1 credit | Totals, streak, and credits remaining |
| free | See available activity types |
| free | Create a custom private activity |
Related MCP server: productive-mcp
Requirements
Python 3.10+
uv(recommended) orpipAn API key from mg.robnugen.com/settings/
Installation
git clone https://github.com/thunderrabbit/jikan.git
cd jikan
# with uv (recommended)
uv venv mgvenv
source mgvenv/bin/activate
uv pip install -e .
# or with pip
python -m venv mgvenv
source mgvenv/bin/activate
pip install -e .Claude Desktop Configuration
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"jikan": {
"command": "uv",
"args": ["--directory", "/path/to/jikan", "run", "server.py"],
"env": {
"JIKAN_API_KEY": "sk_your_key_here"
}
}
}
}Replace /path/to/jikan with the actual path where you cloned this repo,
and sk_your_key_here with your key from mg.robnugen.com/settings/.
The config file is usually at:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
API Reference
Full OpenAPI spec: mg.robnugen.com/api/v1/openapi.yaml
Local Testing
# Interactive tool inspector (launches browser UI to call each tool)
JIKAN_API_KEY=sk_your_key_here mcp dev server.pyNote: running python server.py directly in a terminal will show JSON parse errors —
that's expected. The server speaks JSON-RPC over stdio and must be connected to an
MCP client (Claude Desktop, the inspector above, etc.) to work correctly.
Available Tools
7 toolscheck_sessionA
Get details for a single session, including elapsed_sec if active. Free (0 credits).
Args:
ak_id: The session ID to look up.
Inputs: ak_id (required).
create_activityA
Create a custom PRIVATE activity visible only to your account. Free (0 credits).
Args:
activity_name: Name for the new activity (max 64 characters).
description: Optional description of the activity.
Inputs: activity_name (required), description.
get_statsA
Get pre-computed session aggregates. Costs 1 credit.
Returns total sessions, total seconds, current streak in days, and credits remaining. Offloads all calendar arithmetic to the server.
Inputs: no named parameters.
list_activitiesB
List available activity types (FREE, PUBLIC, and your PRIVATE). Free (0 credits).
Inputs: no named parameters.
list_sessionsA
List completed and active sessions. Free (0 credits).
Args:
from_date: Start date filter in YYYY-MM-DD format (optional).
to_date: End date filter in YYYY-MM-DD format (optional).
activity_id: Filter by activity type ID (optional, 0 = no filter).
limit: Number of results to return (default 20, max 50).
offset: Pagination offset (default 0).
Inputs: from_date, to_date, activity_id, limit, +1 more.
start_sessionA
Start a new behavioral session. Costs 1 credit.
The server records the current time automatically — the agent does not
need to track time. Returns the new session including its ak_id, which
you need to stop or check the session later.
Args:
activity_id: Activity type ID (default 1 = Meditation).
Use list_activities to see all options.
timezone: IANA timezone name, e.g. 'Asia/Tokyo' (default UTC).
intended_sec: Planned duration in seconds (default 0 = open-ended).
Inputs: activity_id, timezone, intended_sec.
stop_sessionA
Stop an active session. Free (0 credits).
The server computes actual_sec automatically using the stored start time.
The agent does not need to track elapsed time.
Args:
ak_id: The session ID returned by start_session.
Inputs: ak_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose with no overlap: check_session retrieves details for a single session, create_activity creates a private activity, get_stats provides aggregate statistics, list_activities and list_sessions handle listing with different scopes, start_session initiates a session, and stop_session ends one. The descriptions reinforce these distinct roles, making tool selection unambiguous.
All tool names follow a consistent verb_noun pattern using snake_case: check_session, create_activity, get_stats, list_activities, list_sessions, start_session, and stop_session. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.
With 7 tools, the server is well-scoped for its apparent purpose of tracking behavioral sessions and activities. Each tool serves a specific function in the lifecycle (e.g., create, list, start, stop, check), and none feel redundant or missing, fitting within the ideal 3-15 tool range for such a domain.
The tool set provides complete CRUD/lifecycle coverage for session and activity management: create_activity for creation, list_activities and list_sessions for reading, start_session and stop_session for session control, check_session for detailed retrieval, and get_stats for analytics. There are no obvious gaps, ensuring agents can handle all core workflows without dead ends.
Maintenance
Related MCP Connectors
timesheet.io MCP server - manage timers, projects, tasks and reports
A MCP server built for developers enabling Git based project management with project and personal…
ADHD-friendly task management MCP server for ChaTodo: organize tasks, lists, and priorities.
Log and read REPS time logs, properties, and categories via MCP. Requires REPSLog Premium.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA standalone MCP server for managing habits and quit trackers through a jhabit instance. It enables users to list trackers, log entries, and retrieve detailed statistics like streaks and abstinence time.-
- AlicenseAqualityDmaintenanceAn MCP server for Productive.io that enables users to log time, inspect projects, and manage time entries using natural language commands. It features fuzzy project matching, local caching, and remembers default services per project for streamlined time tracking.14MIT
- FlicenseNot gradedqualityDmaintenanceMCP server that provides tools to control a server-owned Pomodoro timer, allowing focus, pause, resume, skip, reset, and stats operations.1-
- AlicenseNot gradedqualityDmaintenanceMCP server for managing Kaiten tasks through AI agents like Claude, enabling task retrieval, creation, updating, and time logging.32 npm2MIT