README
🚀 丰收时间追踪 MCP 服务器
这是一个基于 TypeScript 的 MCP(模型上下文协议)服务器,专为丰收时间追踪应用程序打造,可让 LLM 客户端与丰收账户进行交互。
🚀 快速开始
先决条件
- Bun 运行时
- 带有 API 访问权限的丰收账户
- 从丰收获取的个人访问令牌
- 账户 ID(来自丰收)
更多细节请参考丰收 API 文档中的个人访问令牌创建说明。
✨ 主要特性
此服务器提供了一系列工具,可用于获取公司、客户、项目、用户等信息,还能进行时间记录的搜索、创建等操作。
📦 安装指南
在 Claude Desktop 中配置
在 settings.json 文件中添加以下内容:
{
"mcpServers": {
"Harvest": {
"command": "npx",
"args": [
"@harvesttime/tracing-mcp-server",
"--accountId",
"<丰收账户 ID>",
"--token",
"<丰收个人访问令牌>"
],
"env": {}
}
}
}
在 Visual Studio Code 中配置
在 launch.json 文件中添加以下内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "启动丰收时间追踪 MCP 服务器",
"type": "node",
"request": "launch",
"program": "$npmBin/file:@harvesttime/tracing-mcp-server",
"args": [
"--accountId",
"<丰收账户 ID>",
"--token",
"<丰收个人访问令牌>"
]
}
]
}
在 VS Code 中启动
- 打开终端。
- 运行以下命令:
npm install --global @harvesttime/tracing-mcp-server - 启动配置文件中的 "启动丰收时间追踪 MCP 服务器" 配置。
在命令行中使用
直接运行以下命令:
@harvesttime/tracing-mcp-server --accountId <丰收账户 ID> --token <丰收个人访问令牌>
💻 使用示例
可用工具
| 工具 | 描述 | 输入 | 输出 |
|--------------|------|--------------------------|------------------------------|
| get-company | 获取公司信息 | 无 | 公司信息(名称、URL、ID 和货币) |
| search-clients | 搜索客户 | • name: string (可选) - 客户名称
• isActive: boolean (可选) - 激活状态 | 客户列表,包括 ID 和详细信息 |
| get-client | 获取客户信息 | • clientId: string - 客户 ID | 详细的客户信息 |
| search-projects | 搜索项目 | • name: string (可选) - 项目名称
• clientId: string (可选) - 客户 ID
• isActive: boolean (可选) - 激活状态 | 项目列表,包括 ID 和详细信息 |
| get-project | 获取项目信息 | • projectId: string - 项目 ID | 详细的项目信息 |
| list-users | 列出所有用户 | 无 | 用户列表,包括 ID 和详细信息 |
| get-user | 获取用户信息 | • userId: string - 用户 ID | 详细的用户信息 |
| list-project-users | 列出项目用户分配 | • projectId: string - 项目 ID | 分配给项目的用户列表 |
| list-project-tasks | 列出项目任务分配 | • projectId: string - 项目 ID | 分配给项目的任务列表 |
| search-time-entries | 搜索时间记录 | • from: string (可选) - 起始日期(YYYY-MM-DD)
• to: string (可选) - 结束日期
• userId: string (可选) - 用户 ID | 时间记录列表,包括 ID 和详细信息 |
| get-time-entry | 获取单个时间记录 | • timeEntryId: string - 时间记录 ID | 详细的单个时间记录 |
| create-time-entry | 创建时间记录 | • projectId: string 必须
• userId: string 必须
• hours: number 必须
• notes: string 可选 | 新的时间记录 |
📚 详细文档
开发
- 克隆仓库。
- 安装依赖:
npm install - 启动开发服务器:
npm run dev - 测试:
npm test
提交代码
- 创建功能分支:
git checkout -b feature/<功能名称> - 提交更改:
git add . git commit -m "提交信息" - 推送到远程仓库并创建拉取请求:
git push origin feature/<功能名称>
维护
更新依赖
- 更新
package.json中的依赖版本。 - 保存更改。
- 安装更新的依赖:
npm install
打包
- 运行打包命令:
npm run build
贡献指南
欢迎贡献!请遵循以下步骤:
- 分叉仓库。
- 提交您的更改。
- 创建拉取请求。
确保代码符合 代码规范 并通过所有测试。
Scan to contact