git clone https://github.com/ibreaker/habitica-mcp-server.git
cd habitica-mcp-server
npm install
设置 API 凭证(见下一节)
启动服务器
npm start
方法 A:导出变量
export HABITICA_USER_ID="your-user-id"
export HABITICA_API_TOKEN="your-api-token"
方法 B:.env 文件
HABITICA_USER_ID=your-user-id
HABITICA_API_TOKEN=your-api-token
⚠️ 安全提示:切勿将 API 密钥提交到版本控制系统。
# 生产环境
npm start
# 开发环境(带自动重载)
npm run dev
该服务器遵循 MCP 规范,并且可以与支持 MCP 的任何 AI 客户端一起工作。例如 Claude Desktop 配置:
{
"mcpServers": {
"habitica-mcp-server": {
"command": "npx",
"args": ["-y", "habitica-mcp-server"],
"env": {
"HABITICA_USER_ID": "your-id",
"HABITICA_API_TOKEN": "your-token",
"MCP_LANG": "en" // 或者 zh-CN
}
}
}
}
用户: "创建一个学习 Python 的习惯"
AI: "好的,习惯已创建!"
用户: "显示我今天的任务"
AI: "这是您今天要完成的任务列表……"
用户: "在我的项目任务中添加一个检查清单项:'审查代码'"
AI: "已在您的项目任务中添加了检查清单项 '审查代码'!"
用户: "我完成了我的锻炼,请记录一下"
AI: "做得好!锻炼已记录。"
get_user_profile: 获取用户资料信息get_stats: 获取用户统计数据get_inventory: 获取库存列表get_tasks: 获取任务列表(可指定类型:habits, dailys, todos, rewards)create_task: 创建新任务update_task: 更新任务delete_task: 删除任务score_task: 完成任务或记录习惯get_task_checklist: 获取任务的检查清单项add_checklist_item: 向任务添加检查清单项update_checklist_item: 更新检查清单项delete_checklist_item: 删除检查清单项score_checklist_item: 评分检查清单项(标记完成/未完成)get_tags: 获取标签列表create_tag: 创建新标签get_pets: 获取宠物列表feed_pet: 喂养宠物hatch_pet: 孵化宠物get_mounts: 获取坐骑列表equip_item: 装备宠物、坐骑或装备get_shop: 获取商店物品列表buy_item: 购买商店物品buy_reward: 购买奖励get_notifications: 获取通知列表read_notification: 将通知标记为已读cast_spell: 施放法术{
"type": "todo",
"text": "完成项目文档",
"notes": "包括 API 文档和用户指南",
"difficulty": 1.5,
"priority": 2,
"checklist": [
{"text": "编写 API 文档", "completed": false},
{"text": "创建用户指南", "completed": false},
{"text": "审阅和校对", "completed": false}
]
}
{
"taskId": "task-id-here",
"direction": "up"
}
{
"type": "todos"
}
{
"pet": "Wolf-Base",
"food": "Meat"
}
{
"itemKey": "armor_warrior_1",
"quantity": 1
}
// 添加检查清单项
{
"taskId": "task-id-here",
"text": "研究需求"
}
// 更新检查清单项
{
"taskId": "task-id-here",
"itemId": "checklist-item-id",
"text": "更新项目文本",
"completed": true
}
// 评分检查清单项(切换完成状态)
{
"taskId": "task-id-here",
"itemId": "checklist-item-id"
}
habit: 习惯(可以正向或负向记录)daily: 日常任务(每天重置)todo: 待办事项(一次性任务)reward: 奖励(可以用金币购买)0.1: 简单1: 中等1.5: 困难2: 极难0.1: 低1: 中等1.5: 高2: 极高问题:服务器启动失败
解决方案:
1. 检查 Node.js 版本是否为 18+
2. 确认环境变量设置正确
3. 验证 API 凭证有效
问题:API 调用失败
解决方案:
1. 检查网络连接
2. 验证 Habitica API 凭证
3. 确认未超过 API 请求频率限制
问题:任务或宠物未找到
解决方案:
1. 确认任务 ID 正确
2. 检查任务是否存在于 Habitica
3. 验证用户权限
# 启用详细日志
DEBUG=* npm start
我们欢迎任何形式的贡献!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目在 MIT 许可证下开源 - 详情请参阅 LICENSE 文件。