Habitica API集成工具

一个使用Habitica API的项目,用于集成Habitica任务管理功能到自定义应用中。

  • by ThammanaSrinivas
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 thammanasrinivas/habitica-mcp-server

使用说明

项目标题

使用Habitica API的项目简介。

设置

  1. 初始化并添加依赖项 uv:

    uv init habitica-mcp-server
    cd habitica-mcp-server
    uv add "mcp[cli]" httpx aiohttp python-dotenv
    
  2. API配置:

    您需要获得您的Habitica用户ID和API密钥。您可以在API下的Habitica帐户设置中找到这些。

    创建文件(例如。, .env 或 config.py)安全地存储您的凭据。不要将凭据直接提交到代码中。

    # Example config.py
    HABITICA_API_KEY = "YOUR_API_KEY"
    HABITICA_USER_ID = "YOUR_USER_ID"
    HABITICA_API_URL = "https://habitica.com/api/v3"
    

用法

下面是一个如何使用 HabiticaClient:

from mcp.server.fastmcp import FastMCP
from habitica_client import HabiticaClient
import os
from dotenv import load_dotenv

# Load environment variables from .env file
load_dotenv()

# Create an MCP server
mcp = FastMCP("Habitica Integration")   

# Initialize Habitica client
habitica_client = HabiticaClient(
    api_key=os.getenv("HABITICA_API_KEY"),
    user_id=os.getenv("HABITICA_USER_ID"),
    api_url=os.getenv("HABITICA_API_URL")


@mcp.tool()
async def get_user_tasks(task_type: str = "") -> list:
    """Get all tasks for the authenticated user
    Args:
        task_type: Optional filter for task type (habits, dailys, todos, rewards, completedTodos)
    """
    return await habitica_client.get_user_tasks(task_type)

if __name__ == "__main__":
    mcp.run()

使用以下工具进行本地测试 mcp,运行:

mcp dev main.py

替换 "YOUR_API_KEY" 和 "YOUR_USER_ID" 使用您的实际Habitica API证书。