使用说明
收获MCP服务器
将您的AI助手连接到 收获 时间追踪。查询时间条目,分析盈利能力,跟踪利用率,并通过自然语言管理Harvest数据。
实时服务器: https://harvest-mcp.southleft.com
快速开始
克劳德桌面(推荐)
- 打开克劳德桌面→ 设置 → 连接器
- 点击 添加连接器
- 输入:
https://harvest-mcp.southleft.com/mcp - 点击 连接
首次使用时,您将收到一个OAuth链接,用于连接您的Harvest帐户。
克劳德代码CLI
claude mcp add --transport http harvest https://harvest-mcp.southleft.com/mcp
手动配置
添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"harvest": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://harvest-mcp.southleft.com/mcp"]
}
}
}
示例提示
时间跟踪
“我今天做了什么?”
“显示我上周的所有时间条目”
“这个月我登录Acme项目多少小时了?”
“为Project X上的设计任务启动计时器”
“停止我的跑步计时器”
团队与客户分析
“上个月我的团队中谁记录的时间最多?”
“显示客户Acme Corp的所有时间条目”
“获取Initech每个人的联系信息”
“莎拉在做什么项目?”
“列出所有活动客户端”
盈利能力和利用率
“本季度Acme项目的盈利能力如何?”
“比较2024年所有客户的盈利能力”
“我们这个月的团队利用率是多少?”
“按团队成员显示计费与非计费明细”
“哪些项目最赚钱?”
预算执行情况
“本季度哪些员工超过了项目预算?”
“向我展示在预算范围内表现最佳的员工”
“谁是在多个项目上超支的惯犯?”
“比较2024年团队成员的预算差异”
发票和费用
“显示所有未付发票”
“Acme公司有哪些发票?”
“列出约翰逊项目的所有费用”
“本季度已开票和未开票的情况如何?”
聚合和报告
“11月按项目总结小时数”
“第四季度按客户和用户划分的时间”
“12月每周工作时间摘要”
“按月份显示2024年的时间趋势”
可用工具(21)
时间跟踪
| 工具 | 说明 |
|---|---|
harvest_list_time_entries |
按用户、客户、项目、日期范围列出和过滤时间条目 |
harvest_get_time_entry |
按ID获取特定时间条目 |
harvest_create_time_entry |
使用可选计时器创建新的时间条目 |
harvest_stop_timer |
停止正在运行的计时器 |
harvest_delete_time_entry |
删除时间条目 |
公司与团队
| 工具 | 说明 |
|---|---|
harvest_get_company |
获取公司/账户信息 |
harvest_get_current_user |
获取当前用户信息 |
harvest_list_users |
列出所有具有筛选器的用户 |
客户和联系人
| 工具 | 说明 |
|---|---|
harvest_list_clients |
列出所有客户 |
harvest_list_contacts |
列出客户联系人(与客户关联的人员) |
项目和任务
| 工具 | 说明 |
|---|---|
harvest_list_projects |
列出所有带有筛选器的项目 |
harvest_list_tasks |
列出所有任务 |
发票和费用
| 工具 | 说明 |
|---|---|
harvest_list_invoices |
列出带有状态/日期过滤器的发票 |
harvest_list_expenses |
用过滤器列出费用 |
分析和计算
| 工具 | 说明 |
|---|---|
harvest_compute_profitability |
计算盈利能力(基于时间、基于发票或混合) |
harvest_compute_utilization |
通过容量跟踪计算利用率 |
harvest_aggregate_time |
按客户、项目、用户、日期、周或月汇总时间 |
harvest_compute_budget_performance |
根据每个项目的预算遵守情况分析员工绩效 |
公用事业
| 工具 | 说明 |
|---|---|
harvest_get_rates |
通过回退支持获得成本和计费费率 |
harvest_resolve_entities |
按名称模糊搜索实体 |
harvest_get_schema |
获取架构定义和枚举值(无需身份验证) |
自我寄宿
Cloudflare Workers(推荐)
-
克隆并安装
git clone https://github.com/southleft/harvest-mcp.git cd harvest-mcp npm install -
创建Harvest OAuth应用程序
- 首选 Harvest开发者
- 创建新的OAuth2应用程序
- 将重定向URI设置为
https://your-worker.workers.dev/callback - 记下您的客户端ID和客户端密码
-
配置Cloudflare
# Update wrangler.toml with your account_id # Create KV namespaces npx wrangler kv:namespace create SESSIONS npx wrangler kv:namespace create RATES_CONFIG # Update wrangler.toml with the namespace IDs # Set secrets echo "YOUR_CLIENT_ID" | npx wrangler secret put HARVEST_CLIENT_ID echo "YOUR_CLIENT_SECRET" | npx wrangler secret put HARVEST_CLIENT_SECRET echo "YOUR_SESSION_SECRET" | npx wrangler secret put SESSION_SECRET -
部署
npm run deploy
Node.js服务器
cp .env.example .env
# Edit .env with your Harvest credentials
npm run dev # Development
npm run build && npm start # Production
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
HARVEST_CLIENT_ID |
获取OAuth客户端ID | 是 |
HARVEST_CLIENT_SECRET |
获取OAuth客户端密码 | 是 |
SESSION_SECRET |
会话加密密钥 | 是 |
SESSION_TTL_HOURS |
会话生存期(默认值:24) | 否 |
ALLOWED_ORIGINS |
CORS允许来源 | 否 |
DEFAULT_COST_RATE |
回退成本率 | 否 |
建筑
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude/MCP │────▶│ Cloudflare │────▶│ Harvest │
│ Client │◀────│ Workers │◀────│ API │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Cloudflare KV │
│ (Sessions) │
└──────────────────┘
堆栈:
- 荣誉 -Web框架
- MCP-SDK -模型上下文协议
- Cloudflare KV -会话存储
- 嘉实API v2 -时间追踪API
API终点
| 端点 | 方法 | 描述 |
|---|---|---|
/ |
GET | 登录页面 |
/health |
GET | 健康检查 |
/mcp |
POST | MCP协议端点 |
/callback |
GET | OAuth回调 |
发展
npm install # Install dependencies
npm run dev:workers # Run locally with wrangler
npm test # Run tests
npm run lint # Lint code
npm run format # Format code
项目结构
src/
├── workers/ # Cloudflare Workers entry point
│ ├── index.ts # Hono app with MCP endpoint
│ ├── config.ts # Workers config loader
│ └── kv-session-store.ts
├── tools/ # MCP tool implementations
│ └── index.ts # All tool registrations
├── harvest/ # Harvest API client
│ ├── client.ts # API client with caching
│ ├── types.ts # TypeScript types
│ ├── cache.ts # LRU cache
│ └── rate-limiter.ts
├── compute/ # Analytics engines
│ ├── profitability.ts
│ ├── utilization.ts
│ └── aggregation.ts
├── auth/ # OAuth implementation
├── session/ # Session management
├── rates/ # Rate resolution service
├── entities/ # Entity resolution (fuzzy search)
└── schema/ # Schema documentation
贡献
欢迎投稿!请随时提交拉取请求。
许可证
MIT许可证-请参阅 许可证 了解详情。
建造于 南左
