一个简短的项目描述,该项目使用了Habitica API。
使用uv初始化并添加依赖项:
uv init habitica-mcp-server
cd habitica-mcp-server
uv add "mcp[cli]" httpx aiohttp python-dotenv
API配置:
您需要获取您的Habitica用户ID和API密钥。您可以在Habitica账户设置中的API部分找到这些信息。
创建一个文件(例如.env或config.py)来安全地存储您的凭据。请勿直接将您的凭据提交到代码中。
# 示例 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
# 从.env文件加载环境变量
load_dotenv()
# 创建一个MCP服务器
mcp = FastMCP("Habitica集成")
# 初始化Habitica客户端
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:
"""获取已认证用户的全部任务
参数:
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凭据。
</中文翻译>