MCP Woffu服务器
用于Woffu时间跟踪集成的模型上下文协议(MCP)服务器。该服务器允许像Claude这样的人工智能助手与您的Woffu帐户进行交互,以进行打卡/打卡操作和时间跟踪管理。
特性
- 打卡上班/下班:用简单的命令开始和结束你的工作日
- 今天的状态:检查您当前的工作状态、工作时间和日程安排
- 周/月摘要:全面了解你的工作时间
- 完成过去几天:填写过去日期缺少的时间条目
- 待定天数:查看没有记录小时数的天数
安装
使用GitHub上的npx(推荐)
npx github:iflorit/mcp-woffu-server从GitHub全局安装
npm install -g github:iflorit/mcp-woffu-server
mcp-woffu-server来源
git clone https://github.com/iflorit/mcp-woffu-server.git
cd mcp-woffu-server
npm install
npm run build配置
服务器需要以下环境变量:
| 变量 | 描述 | 必填 |
|---|---|---|
WOFFU_TOKEN | Woffu API的JWT承载令牌 | 是 |
WOFFU_USER_ID | 您的Woffu用户ID | 是 |
WOFFU_BASE_URL | Woffu实例URL(例如。, https://mycompany.woffu.com) | 否(默认为 https://app.woffu.com) |
如何获取您的Woffu JWT代币
- 登录您的Woffu门户网站(例如。,
https://mycompany.woffu.com) - 打开浏览器开发工具(F12)
- 去 应用 选项卡(Chrome)或 存储 选项卡(Firefox)
- 在左侧面板中,展开 Cookie
- 点击您的Woffu域名(例如。,
https://mycompany.woffu.com) - 查找名为的cookie
woffu.token - 复制值-这是你的
WOFFU_TOKEN
通过控制台选择:
document.cookie.split(';').find(c => c.trim().startsWith('woffu.token=')).split('=')[1]备注:JWT令牌会定期过期。令牌过期时,您可能需要刷新令牌。
如何查找您的用户名
用户ID嵌入在JWT令牌中。你可以在以下网址解码 jwt.io 并寻找 UserId 有效载荷中的字段。
或者:
- 在浏览器“开发人员工具”中,转到 网络 标签
- 在Woffu中执行任何操作
- 查看任何API请求URL-它通常包含您的用户ID(例如。,
/api/users/1234567/...)
用法
使用克劳德桌面
将以下内容添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"woffu": {
"command": "npx",
"args": ["-y", "github:iflorit/mcp-woffu-server"],
"env": {
"WOFFU_TOKEN": "your-jwt-token-here",
"WOFFU_USER_ID": "your-user-id",
"WOFFU_BASE_URL": "https://mycompany.woffu.com"
}
}
}
}使用克劳德代码
claude mcp add woffu --env WOFFU_TOKEN=your-token --env WOFFU_USER_ID=your-id --env WOFFU_BASE_URL=https://mycompany.woffu.com -- npx -y github:iflorit/mcp-woffu-server或添加到您的 .claude.json:
{
"mcpServers": {
"woffu": {
"command": "npx",
"args": ["-y", "github:iflorit/mcp-woffu-server"],
"env": {
"WOFFU_TOKEN": "your-jwt-token-here",
"WOFFU_USER_ID": "your-user-id",
"WOFFU_BASE_URL": "https://mycompany.woffu.com"
}
}
}
}直接运行服务器
# With environment variables
export WOFFU_TOKEN="your-token"
export WOFFU_USER_ID="your-user-id"
export WOFFU_BASE_URL="https://mycompany.woffu.com"
# Run the server
npx github:iflorit/mcp-woffu-server可用工具
woffu_clock_in
打卡开始你的工作日。
参数:无
示例响应:
{
"status": "success",
"action": "clock_in",
"timestamp": "2024-01-15T09:00:00",
"signEventId": "12345"
}woffu_clock_out
打卡结束你的工作日。
参数:无
示例响应:
{
"status": "success",
"action": "clock_out",
"timestamp": "2024-01-15T18:00:00",
"signEventId": "12346"
}woffu_status
获取今天的工作状态,包括日程安排和工作时间。
参数:无
退货:详细的工作日信息,包括:
- 当前时钟状态
- 今天工作时间
- 预计小时数
- 休息时间
woffu_month_summary
获取特定月份的工作时间摘要。
参数:
year(可选):年份(默认为当前年份)month(可选):第1-12个月(默认为当月)
退货:每月出席情况总结,包括每日明细。
woffu_week_summary
获取每周工作时间摘要。
参数:
date(可选):所需周内的任何日期,格式为YYYY-MM-DD
退货:每周出席情况总结,包括每日明细。
woffu_day_detail
获取特定日期的详细信息。
参数:
date(可选):YYYY-MM-DD格式的日期(默认为今天)
退货:详细的日期信息,包括所有时钟事件。
woffu_pending_days
获得没有完成小时数的天数。
参数:
year(可选):年份(默认为当前年份)month(可选):第1-12个月(默认为当月)
退货:未记录工时的工作日列表。
woffu_schedule
获取用户分配的工作时间表。
参数:无
退货:日程信息,包括工作时间和办公室详细信息。
woffu_complete_day
填写或编辑过去一天的时间条目。
参数:
date:YYYY-MM-DD格式的日期slots:时隙列表in_time和out_time(HH:MM格式)
示例:
{
"date": "2024-01-10",
"slots": [
{"in_time": "09:00", "out_time": "14:00"},
{"in_time": "15:00", "out_time": "18:00"}
]
}与克劳德的对话示例
“把我送到沃夫家”
“我今天的工作状态如何?”
“显示2024年11月的工作时间”
“我昨天忘了打卡。你能填2024-01-14的9:00-14:00和15:00-18:00吗?”
“显示我本月的待处理天数”
发展
设置
git clone https://github.com/iflorit/mcp-woffu-server.git
cd mcp-woffu-server
npm install建筑
npm run build在开发中运行
npm run dev安全说明
- 永远不要提交JWT令牌 到版本控制
- 使用环境变量或安全密钥管理
- JWT令牌过期-从
woffu.token需要时使用cookie - 默认情况下,服务器只接受本地连接
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
贡献
欢迎投稿!请随时提交拉取请求。
