Token导航 LogoToken导航TokenDH.com
Habit Tracker MCP logo
AI代理未说明官方级别未说明来源级核验

Habit Tracker MCP

MCP Server

一个基于Model Context Protocol (MCP)的服务器实现,允许AI助手通过智能对话跟踪、存储和分析用户习惯及日常活动。

工具数

2

提示词数

0

GitHub Stars

1

资源数

0
JavaScriptClaudeAI代理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

EnesEfeTokta

提供方

EnesEfeTokta

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

习惯跟踪器MCP服务器

模型上下文协议(MCP)服务器实现,使Claude等AI助手能够通过智能对话跟踪、存储和分析用户习惯和日常活动。

项目目的

本项目旨在帮助理解MCP结构,并作为未来项目的实践。

概述

Habit Tracker MCP Server为AI助手提供了一个结构化的界面,用于与本地习惯跟踪数据库进行交互。用户可以通过与克劳德的自然对话记录日常活动(锻炼、阅读、用水量等),人工智能可以检索和分析这些数据,以提供见解和跟踪能力。

主要特点

  • 会话习惯记录:通过与克劳德的自然语言互动添加习惯
  • 持久化存储:使用LowDB的基于JSON的本地数据库
  • 灵活跟踪:通过可定制的单元支持任何类型的习惯
  • 数据检索:通过AI助手查询和分析存储的习惯
  • 带时间戳的条目:为每个习惯条目自动记录时间戳

技术架构

核心组件

  1. MCP 服务器 (index.js)

- 使用实现模型上下文协议服务器 @modelcontextprotocol/sdk - 处理工具注册和执行 - 通过stdio传输管理与Claude的通信 - 提供两个主要工具: add_habitget_habits

  1. 数据库层 (db.js)

- 使用LowDB实现基于JSON的轻量级数据持久化 - 管理 data.json 用于存储习惯的文件 - 通过以下方式提供异步数据库访问 getDb() 功能 - 使用默认结构初始化:习惯数组和用户配置文件

  1. 数据存储 (data.json)

- 存储所有习惯条目的JSON文件 - 模式包括:id、名称、金额、单位、日期 - 由LowDB自动创建和管理

技术栈

  • 运行时:Node.js(ES模块)
  • 框架:模型上下文协议SDK v1.25.3
  • 数据库:LowDB v7.0.1(基于JSON文件的数据库)
  • 运输:MCP通信的标准I/O(stdio)

可用工具

1.add_habit

在跟踪器中添加新习惯或日常活动。

参数:

  • name (字符串,必填):活动名称(例如,“饮水”、“运动”、“阅读”)
  • amount (数字,必填):活动的数值
  • unit (字符串,必填):计量单位(例如,“升”、“分钟”、“页”)

示例用法:

User: "I drank 2 liters of water today"
Claude: [Calls add_habit with name="Drinking Water", amount=2, unit="Liters"]
Response: "Successfully saved: 2 Liters Drinking Water"

2.获取栖息地

从数据库中检索存储的习惯和活动。

参数:

  • limit (number,可选):要检索的记录数

示例用法:

User: "Show me my recent habits"
Claude: [Calls get_habits]
Response: Returns JSON array of habit entries with timestamps

安装

先决条件

  • 已安装Node.js 14+
  • npm或yarn包管理器
  • Claude桌面应用程序(用于MCP集成)

设置步骤

  1. 克隆仓库
   git clone https://github.com/EnesEfeTokta/Habit-Tracker-MCP.git
   cd Habit-Tracker-MCP
  1. 安装依赖项
   npm install
  1. 配置Claude桌面

将服务器配置添加到Claude Desktop配置文件中:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

视窗: %APPDATA%\Claude\claude_desktop_config.json

   {
     "mcpServers": {
       "habit-tracker": {
         "command": "node",
         "args": ["/absolute/path/to/Habit-Tracker-MCP/index.js"]
       }
     }
   }
  1. 重新启动克劳德桌面

关闭并重新打开Claude Desktop以加载MCP服务器。

用法

配置后,与Claude自然互动以跟踪您的习惯:

添加习惯:

  • “我今天锻炼了30分钟”
  • “记录8杯水”
  • “我读了25页书”

检索数据:

  • “让我看看我的习惯”
  • “我记录了哪些活动?”
  • “显示我最近的习惯条目”

Claude将自动使用适当的MCP工具来存储和检索您的数据。

数据结构

习惯输入模式

{
  "id": 1234567890,
  "name": "Drinking Water",
  "amount": 2,
  "unit": "Liters",
  "date": "2026-02-02T07:00:00.000Z"
}

数据库模式

{
  "habits": [
    // Array of habit entries
  ],
  "userProfile": {
    "name": "User"
  }
}

发展

项目结构

Habit-Tracker-MCP/
├── index.js          # Main MCP server implementation
├── db.js             # Database layer with LowDB
├── data.json         # JSON database file
├── package.json      # Node.js dependencies and metadata
├── package-lock.json # Dependency lock file
├── LICENSE           # GPL-3.0 License
└── README.md         # This file

在发展中奔跑

node index.js

服务器将启动并输出:“Habit Tracker MCP服务器正在运行!”

扩展服务器

要添加新工具,请执行以下操作:

  1. 在中注册该工具 ListToolsRequestSchema 处理器
  2. 在中实现工具逻辑 CallToolRequestSchema 处理器
  3. 如果需要,请在中更新数据库架构 db.js

示例-添加删除工具:

// In ListToolsRequestSchema handler
{
  name: "delete_habit",
  description: "Deletes a habit entry by ID",
  inputSchema: {
    type: "object",
    properties: {
      id: { type: "number", description: "ID of the habit to delete" }
    },
    required: ["id"]
  }
}

// In CallToolRequestSchema handler
if (request.params.name === "delete_habit") {
  const { id } = request.params.arguments;
  const index = db.data.habits.findIndex(h => h.id === id);
  if (index !== -1) {
    db.data.habits.splice(index, 1);
    await db.write();
    return { content: [{ type: "text", text: "Habit deleted successfully" }] };
  }
  return { content: [{ type: "text", text: "Habit not found" }] };
}

安全考虑

  • 本地存储:所有数据都存储在本地 data.json
  • 无需认证:这是一个没有身份验证机制的仅本地服务器
  • 数据隐私:习惯数据保留在本地计算机上,不会向外传输
  • 建议备份:考虑备份 data.json 定期

故障排除

服务器未启动

  • 确保已安装Node.js: node --version
  • 验证是否安装了依赖项: npm install
  • 检查端口冲突或权限问题

Claude未检测到服务器

  • 验证中的绝对路径 claude_desktop_config.json
  • 确保配置后重新启动Claude Desktop
  • 检查Claude Desktop日志中的错误消息

数据不持久

  • 验证项目目录中的写入权限
  • 检查是否 data.json 正在创建/更新
  • 确保在中初始化数据库 db.js 正在工作

许可证

此项目根据GNU通用公共许可证v3.0获得许可。请参阅 许可证 文件以获取详细信息。

贡献

欢迎投稿!请随时提交拉取请求。

仓库

了解更多

______________________________________________________________________

*使用模型上下文协议构建,以演示无缝的AI数据库集成。*

目录标签

目录标签

JavaScriptClaudeAI代理习惯追踪本地部署AI助手数据存储对话交互JSON数据库

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP