MCP Hub
Back to servers

jhabit-mcp

A 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.

glama
Updated
Mar 6, 2026

jhabit

jhabit-mcp

Standalone MCP server for jhabit — a habit and quit tracker. Connects to your jhabit instance via API key and exposes tracking tools to MCP clients like Claude Desktop and Claude Code.

Note: jhabit also has a built-in remote MCP server using OAuth 2.1 + Streamable HTTP, for cloud-based MCP clients. This standalone server is for local stdio-based clients.

Setup

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "jhabit": {
      "command": "npx",
      "args": ["-y", "jhabit-mcp"],
      "env": {
        "JHABIT_URL": "https://your-jhabit-instance.com",
        "JHABIT_API_KEY": "your-api-key-here"
      }
    }
  }
}

Claude Code

{
  "mcpServers": {
    "jhabit": {
      "command": "npx",
      "args": ["-y", "jhabit-mcp"],
      "env": {
        "JHABIT_URL": "https://your-jhabit-instance.com",
        "JHABIT_API_KEY": "your-api-key-here"
      }
    }
  }
}

From source

git clone https://github.com/Jacob-Stokes/jhabit-mcp.git
cd jhabit-mcp
npm install && npm run build
JHABIT_URL=https://your-instance.com JHABIT_API_KEY=your-key node dist/index.js

Getting an API Key

  1. Log into your jhabit instance
  2. Go to Settings > API Keys
  3. Create a new key and copy it

Environment Variables

VariableRequiredDescription
JHABIT_URLYesBase URL of your jhabit instance
JHABIT_API_KEYYesAPI key for authentication

Available Tools

list_trackers

List all habits and/or quits.

  • type (optional): Filter by "habit" or "quit"

create_tracker

Create a new habit or quit tracker.

  • name (required): Tracker name, e.g. "Meditate" or "Smoking"
  • type (required): "habit" or "quit"
  • emoji (optional): Emoji icon

log_entry

Log an entry. For habits = "I did it". For quits = "I slipped up".

  • tracker_id (required): Tracker ID
  • timestamp (optional): ISO timestamp, defaults to now
  • note (optional): Note

delete_entry

Delete an entry by ID.

  • entry_id (required): Entry ID

get_tracker_stats

Get stats for a tracker.

  • tracker_id (required): Tracker ID

Returns streaks (current/best) for habits, or abstinence time and slip count for quits.

Reviews

No reviews yet

Sign in to write a review